我想将flv与mp3合并,而不使用php中的ffmpeg触摸/删除flv音频流。我尝试了很多命令而没有任何帮助。这是我现在使用的命令。
/usr/bin/ffmpeg -i "4bpCRRV82x.flv"-i "Someday.mp3" -vcodec libx264 -shortest "output.mp4"
但它用mp3输入取代了flv音频。 任何帮助和建议都将非常值得一提。感谢。
答案 0 :(得分:1)
从ffmpeg文档开始,您可以使用amerge过滤器
http://www.ffmpeg.org/ffmpeg-filters.html#amerge
ffmpeg -i input.mkv -filter_complex "[0:1][0:2][0:3][0:4][0:5][0:6] amerge=inputs=6" -c:a pcm_s16le output.mkv
答案 1 :(得分:1)
假设两个输入都包含立体声音频,您可以使用amerge
音频滤波器将两个立体声流合并为一个四声道流,然后使用pan
音频滤波器将适当的声道合并为一个立体声流:
ffmpeg -i video.flv -i audio.mp3 -filter_complex \
"[0:a][1:a]amerge,pan=stereo:c0<c0+c2:c1<c1+c3[a]" \
-map 0:v -map "[a]" -c:v copy -c:a aac -strict experimental -shortest out.mp4
如果您不需要重新编码,视频可以是stream copied(取决于输入的视频格式),如示例所示,但如果您必须重新编码,请参阅{ {3}}
该示例使用需要-strict experimental
(或别名-strict -2
)的原生FFmpeg AAC编码器。有关其他编码器的信息,请参阅FFmpeg and x264 Encoding Guide。
选项-shortest
将在最短输入流结束时完成编码。
有关更多示例,请参阅FFmpeg and AAC Encoding Guide。
确保您使用的是最新版本的ffmpeg
。有关Windows,OS X和Linux的构建,请参阅Manipulating audio channels with ffmpeg
页面。
答案 2 :(得分:0)
FLV不支持多个音频流。从技术上讲,可以通过递增流ID来以二进制格式实现。但是FLV文档说流ID应该始终为0.所以即使你创建了这个文件,大多数玩家都不会播放它。