一、命令参数
命令格式:ffmpeg -i [输入文件名] [参数选项] -f [格式] [输出文件]
1、参数选项:
(1) -an: 去掉音频
(2) -acodec: 音频选项, 一般后面加copy表示拷贝
(3) -vcodec:视频选项,一般后面加copy表示拷贝
2、格式:
(1) h264: 表示输出的是h264的视频裸流
(2) mp4: 表示输出的是mp4的视频
(3)mpegts: 表示ts视频流
例:
将音频es转TS
ffmpeg -i outaac_lc_128k -acodec copy -f mpegts outaac_lc_128k.ts
二、视频格式转换
h264裸流是没有音频的
1、H264视频转ts视频流:
ffmpeg -i test.h264 -vcodec copy -f mpegts test.ts
2、H264视频转mp4:
ffmpeg -i test.h264 -vcodec copy -f mp4 test.mp4
3、ts视频转mp4:
ffmpeg -i test.ts -acodec copy -vcodec copy -f mp4 test.mp4
1.分离视频音频流
ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流
ffmpeg -i input_file -acodec copy -vn output_file_audio //分离音频流
ffmpeg -i input_file -vn -acodec pcm_s16le output_file_audio.wav
2.视频解复用
ffmpeg –i test.mp4 –vcodec copy –an –f m4v test.264
ffmpeg –i test.avi –vcodec copy –an –f m4v test.264
3.视频转码
ffmpeg –i test.mp4 –vcodec h264 –s 352278 –an –f m4v test.264 //转码为码流原始文件
ffmpeg –i test.mp4 –vcodec h264 –bf 0 –g 25 –s 352278 –an –f m4v test.264 //转码为码流原始文件
ffmpeg –i test.avi -vcodec mpeg4 –vtag xvid –qsame test_xvid.avi //转码为封装文件
//-bf B帧数目控制,-g 关键帧间隔控制,-s 分辨率控制
4.视频封装
ffmpeg –i video_file –i audio_file –vcodec copy –acodec copy output_file
5.视频剪切
ffmpeg –i test.avi –r 1 –f image2 image-%3d.jpeg //提取图片
ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy output.avi //剪切视频
//-r 提取图像的频率,-ss 开始时间,-t 持续时间
6.视频录制
ffmpeg –i rtsp://192.168.3.205:5555/test –vcodec copy out.avi
7.YUV序列播放
ffplay -f rawvideo -video_size 1920x1080 input.yuv
8.YUV序列转AVI
ffmpeg –s w*h –pix_fmt yuv420p –i input.yuv –vcodec mpeg4 output.avi
三、视频拼接:
对于视频拼接,个人感觉最好是从视频的裸码流开始拼接,后面再进行视频包装,即格式转换。
拼接命令:
ffmpeg -i "concat:test1.h264|test2.h264" -vcodec copy -f h264 out12.h264
\
四、图片转换:
png转yuva422p:
ffmpeg -i red.png -pix_fmt yuva422p test.yuv
\
五、一些应用:
- mp3转pcm
例如:ffmpeg -i test.mp3 -f s16be -ar 44100 -ac 2 -acodec pcm_s16be test.pcm
参数:
- -acodec pcm_s16be:输出pcm格式,采用signed 16编码,字节序为大端模式(小端为le),这里要注意是大端还是小端,pc机一般为小端模式;
- -ar 44100: 采样率为44.1k
- -ac 2: 声道数为2
\
- wav编MPEG-1 Layer2并打包TS
例如:ffmpeg -i wavfile.wav -acodec mp2 -ab 128000 -vol 512 -f mpegts test.ts
参数:
- mp2:MPEG-1 Layer2编码
- -ab 128000:码率128k
- -vol 512:音量是512
\
\
\