Media processing recipes¶
Media module
can be used to process audio and video files (converting, merging, cutting, et cetera).
speach.media
use ffmpeg underneath.
Media module
requires ffmpeg
, for installation guide please refer to Installing ffmpeg.
Basic¶
Just import media module from speach library to start using it
>>> from speach import media
Convert media files¶
converting the wave file test.wav
in Documents folder into OGG format test.ogg
>>> media.convert("~/Documents/test.wav", "~/Documents/test.ogg")
Cutting media files¶
cutting test.wav
from the beginning to 00:00:10 and write output to test_before10.ogg
>>> media.cut("test.wav", "test_before10.ogg", to_ts="00:00:10")
cutting test.wav
from 00:00:15 to the end of the file and write output to test_after15.ogg
>>> media.cut("test.wav", "test_after15.ogg", from_ts="00:00:15")
cutting test.wav
from 00:00:15 to 00:00:15 and write output to test_10-15.ogg
>>> media.cut("test.wav", "test_10-15.ogg", from_ts="00:00:10", to_ts="00:00:15")
Using extra arguments¶
When you process audio files using ffmpeg, sometimes you may want to use extra arguments,
such as codec information or filters, you may add the extra arguments after the standard arguments
of speach.media
function calls. For example:
Setting async flag and audio codec
>>> media.convert("recording.wav", "recording.ogg", "-async", 1, "-c:a", "pcm_s16le")
Or in using ffmpeg demuxer commands
>>> concat_str = "file './recording.wav'\ninpoint 00:07:03\noutpoint 00:15:23.124"
>>> media.concat(concat_str, "outfile.ogg", "-segment_time_metadata", 1, "-af" , "asetnsamples=32,aselect=concatdec_select")
Querying ffmpeg information¶
>>> from speach import media
>>> media.version()
'4.2.4-1ubuntu0.1'
>>> media.locate_ffmpeg()
'/usr/bin/ffmpeg'
Others¶
For in-depth information and a complete API reference, please refer to speach.media
API page.