ffmpeg主要选项
ffmpeg基础
-i filename 指定输入文件
-f 指定输入或者输出格式
-t 现在输入输出时间
-codec 指定编解码格式
视频
-vframes number 设置输出文件的帧数
-r 设置帧率
-s 设置帧的分辨率
-vcodec 设置视频编码器
-aspect 指定视频的宽高比 如 4:3
音频
-aframes number 设置音频输出
-ar 设置采样率
-aq 设置音频品质
-an 禁止音频输出
-acodec codec 设置音频编解码
字幕
-scodec 设置字幕解码器
-sn 禁止字幕输出
-fix_sub_duration 修正字幕持续时间
-canvas_size size 设置字幕渲染区域的尺寸
实例
格式转换
ffmpeg -i input_test.mp4 -vn -acodec copy output_test.flv
抽取视频
ffmpeg -i input_test.mp4 -vcodec copy -an output_test.avi
抽取音频
ffmpeg -i test.mp4 -vn -y -acodec copy output_test.aac
抽取PCM数据
ffmpeg -i test.mp4 -vn -ar 44100 -ac 2 -f s16le output.pcm
视频+音频合成
ffmpeg -i test1.mp4 -i test2.mp3 -vcodec copy -acodec copy output.mp4
从视频中截取图片
ffmpeg -i test.mp4 -r 1 -f image2 output-%03d.jpeg
修改音量大小
ffmpeg -i test.mp3 -af 'volume=0.5' output.mp3
图片生成动图
ffmpeg -i input_image_%03d.png -r 5 output.gif
抓取桌面,保存待文件
ffmpeg -f gdigrab -i desktop wy.mp4
抓取桌面并推流
ffmpeg -f gdigrab -i desktop -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://192.168.1.106:2018/live
启用摄像头 并推流
ffmpeg -f dshow -i video="Integrated Camera" -vcodec libx264 -acodec copy -preset:v ultrafast -tune:v zerolatency -f flv rtmp://192.168.1.106:2018/live
远程拉流保存文件
ffmpeg -i rtmp://192.168.1.106:2018/live -vcodec h264 -f flv -acodec aac -ac 2 wy.flv
ffmpeg -re -i wy.flv -vcodec copy -acodec copy -f flv -y rtmp://eguid.cc:1935/rtmp/eguid
ffplay
源码ffplay.c实现视频播放,其中有音视频同步方案,很经典。
播放视频,音频
ffplay input_test.mp3
ffprobe
音视频分析工具
ffprobe [选项] [‘输入文件’]