使用ffmpeg进行视频转码和剪切及常用转换命令
转码
最简单命令如下:
ffmpeg -i out.ogv -vcodec h264 out.mp4
ffmpeg -i out.ogv -vcodec mpeg4 out.mp4
ffmpeg -i out.ogv -vcodec libxvid out.mp4
ffmpeg -i out.mp4 -vcodec wmv1 out.wmv
ffmpeg -i out.mp4 -vcodec wmv2 out.wmv
-i
后面是输入文件名。-vcodec
后面是编码格式,h264 最佳,但 Windows 系统默认不安装。如果是要插入 ppt 的视频,选择 wmv1 或 wmv2 基本上万无一失。
附加选项:-r
指定帧率,-s
指定分辨率,-b
指定比特率;于此同时可以对声道进行转码,-acodec
指定音频编码,-ab
指定音频比特率,-ac
指定声道数,例如
ffmpeg -i out.ogv -s 640x480 -b 500k -vcodec h264 -r 29.97 -acodec libfaac -ab 48k -ac 2 out.mp4
剪切
用 -ss
和 -t
选项, 从第 30 秒开始,向后截取 10 秒的视频,并保存:
ffmpeg -i input.wmv -ss 00:00:30.0 -c copy -t 00:00:10.0 output.wmv
ffmpeg -i input.wmv -ss 30 -c copy -t 10 output.wmv
达成相同效果,也可以用 -ss
和 -to
选项, 从第 30 秒截取到第 40 秒:
ffmpeg -i input.wmv -ss 30 -c copy -to 40 output.wmv
音频转换:
1.转换amr到mp3:
ffmpeg -i shenhuxi.amr amr2mp3.mp3
2.转换amr到wav:
ffmpeg -acodec libamr_nb -i shenhuxi.amr amr2wav.wav
3.转换mp3到wav:
ffmpeg -i DING.mp3 -f wav test.wav
4.转换wav到amr:
ffmpeg -i test.wav -acodec libamr_nb -ab 12.2k -ar 8000 -ac 1 wav2amr.amr
5.转换wav到mp3:
ffmpeg -i test.wav -f mp3 -acodec libmp3lame -y wav2mp3.mp3
视频转换:
1.转换wmv到mp4:
ffmpeg -i sample.wmv -vcodec libx264 -acodec aac out.mp4
2.抓取H264视频流:
ffmpeg -i sample.flv -vcodec copy -vbsf h264_mp4toannexb -an out.h264
2.1 vbsf为过滤方法,即将flv规定的H264组织方式转换回H264协议书规定的字节流格式
2.2 -an 禁掉源文件中的音频,因为出来的码流不需要音频
2.3 vcodec copy这个是必然的
3.将H264视频流转为mp4:
ffmpeg -i sample.h264 -f mp4 haha.mp4
4.接收rtsp并存为视频文件:
ffmpeg -rtsp_transport tcp -i rtsp://streaming1.osu.edu/media2/ufsap/ufsap.mov -vcodec copy -acodec copy -t 30 -f mp4 rtsp-out.mp4
4.1 -rtsp_transport tcp:指明传输方式是tcp方式(也可以是udp)
4.2 -t 30:指明我录制30秒
x264是一种免费的、具有更优秀算法的H.264/MPEG-4 AVC视频压缩编码格式。
H.264是由国际电信联盟(ITU-T)所制定的新一代的视频压缩格式。
H264是视频编码格式。x264则是关于H264的一个开源项目