视频切分与合并在应用场景中很常见,如视频剪辑,去广告等。
本文以MP4文件为目标,对其进行切分合并
一. VLC做前期处理
如果需要加亮,锐化,对比度,可以使用VLC来实现,
cvlc nikita.mp4 --sout="#transcode{vfilter={adjust{}:sharpen{sigma=0.12}: deinterlace{mode=mean}},vcodec=h264,scale=0,acodec=mp4a}:file{dst=./0.mp4}" --sout-all --sout-keep
二、使用FFmpeg 进行MP4文件切分
1. 从30秒开始,切出60秒长的分片
./ffmpeg -ss 30 -t 60 -i nikita.mp4 -same_quant seg1.mp4
注意:
1. ffmpeg 2.4.3版本的命令如下
./ffmpeg -ss 30 -t 60 -i nikita.mp4 -qscale 0 -y seg1.mp4
2.使用copy参数的问题
./ffmepg -i nikita.mp4 -ss 30 -t 60 -vcodec copy -acodec copy -y seg1.mp4
会造成 音视频不同步
三、使用 mencoder进行切分
./mencoder -ovc x264 -oac facc -ss 30 -t 60 nikita.mp4 -o seg1.mp4
它比ffmpeg用的内存少点,总是从30s之后的第一个Iframe开始处理,生成的是mp4格式
或
./mencoder -ovc copy -oac facc -ss 30 0.mp4 -o 2.avi
它比上面的命令快一点,
或:
./mencoder -ovc copy -oac facc -ss 30 0.mp4 -of lavf -o 2.mp4
四、分段MP4合并
如果是mp4文件,直接使用MP4Box合并
./MP4Box -cat seg1.mp4 -cat seg2.mp4 -new merge.mp4
阅读(4136) | 评论(0) | 转发(0) |