【发布时间】:2015-11-26 03:10:20
【问题描述】:
背景:我想使用 MLT melt 来渲染一个项目,但我希望该渲染能够产生单独的音频和视频文件。我打算使用melt 的“消费者”avformat,它使用ffmpeg 的库,所以我将这个问题表述为ffmpeg。
根据Useful FFmpeg Commands For Converting Audio & Video Files (labnol.org),以下是可能的:
ffmpeg -i video.mp4 -t 00:00:50 -c copy small-1.mp4 -ss 00:00:50 -codec copy small-2.mp4
...在一次调用中将“合并”的音频+视频文件分割成两个单独的“块”文件,这也是音频+视频文件;这不是我需要的。
然后,ffmpeg Documentation (ffmpeg.org) 提到了这一点:
ffmpeg -i INPUT -map_channel 0.0.0 OUTPUT_CH0 -map_channel 0.0.1 OUTPUT_CH1
... 将立体声 audio 文件的两个通道的内容的整个持续时间拆分为两个单声道文件;这更像是我需要的,除了我想将 A+V 文件拆分为立体声音频文件和视频文件。
所以我用elephantsdream_teaser.ogv尝试了这个:
ffmpeg -i /tmp/elephantsdream_teaser.ogv \
-map 0.0 -vcodec copy ele.ogv -map 0.1 -acodec copy ele.ogg
...但这会失败并显示“流映射的数量必须匹配输出流的数量”(即使创建了零大小的ele.ogv 和ele.ogg)。
所以我的问题是 - ffmpeg 是否可以实现类似的操作,如果可以,我该怎么做?
【问题讨论】: