视频的格式太多,在编辑视频的时候有时候会需要对视频进行转码,比如mkv转码成mp4什么的,视频时间不长,码率不高还好;但如果遇到一段时间很长的视频尤其是高清视频转码的过程是很漫长的;
很多时候没必要重新转码,直接复制视频流或者音频流就可以了,简单粗暴迅速,极大的降低了重新编码的时间;
提取mkv视频流封装成MP4格式
ffmpeg -i 原始素材.mkv -vcodec copy -an 目标视频.mp4
示例:提取音频
音频简单毕竟体积小,就算重新编码也耽误不了几个时间,如果还是嫌耽误时间那就直接复制音频流吧
ffmpeg -i 原始素材.mkv -vn -acodec copy 目标音频.ac3
如果是多音轨视频(多声道),那么就要一一对应有针对性的提取
ffmpeg -i 原始素材.mkv //查看视频信息
找到含有Audio字样的段落,其中#0.2 #0.3 #0.4 …..#0.7是音轨位置信息
Stream #0.2[0x81]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
Stream #0.3[0x82]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
Stream #0.4[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s
Stream #0.5[0x83]: Audio: ac3, 48000 Hz, stereo, s16, 160 kb/s
Stream #0.6[0x84]: Audio: ac3, 48000 Hz, stereo, s16, 160 kb/s
Stream #0.7[0x85]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
如果要提取Stream #0.3[0x82]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s 这个音轨
ffmpeg -i 原始素材.mkv -map 0:3 a.3.wav
PS:0:3表示选择这个音轨提取
转载请注明:楚盟网 » FFmpeg快速分离视频、音频、字幕、音轨的方法