Patch to FFmpeg::Command to support multiple input files
Note: I actually wrote this on my personal blog a couple weeks ago, but it’s perfect for blogs.perl.org!
The FFmpeg::Command Perl module is a convenient way to drive the
ffmpeg command-line utility for converting multimedia files.
For work, I have developed some scripts that make heavy use of
FFmpeg::Command. Yesterday, one of the other developers told me they need a conversion script to be able to merge separate video and audio streams into one file that contains both audio and video. The
ffmpeg command-line utility can do this by accepting more than one input file. For example:
$ ffmpeg -i video.avi -i audio.wav -acodec copy -vcodec copy merged.avi
FFmpeg::Command Perl module, however, assumed there can only be one input file. I made the necessary changes to the module code so that it would accept multiple input files, created a patch file, and sent it to the Module owner Gosuke Miyashita. This morning, I received e-mail from Gosuke thanking me for the patch and informing me that he has uploaded a new version (v0.12) of
FFmpeg::Command to CPAN.
I love Perl and open source software!