1、FFmpeg常用命令
帮助指令
1)查看基本帮助信息:ffmpeg -h
2)查看高级帮助信息:ffmpeg -h long
3)查看所有帮助信息:ffmpeg -h full
若帮助信息过多,查看不便,可以把帮助信息保存到文件,然后再打开文件查看,如:ffmpeg -h full > fullhelp.log
分离某些封装格式(例如MP4/FLV/MKV等)中的H.264的时候,需要首先写入SPS和PPS,否则会导致分离出来的数据没有SPS、 PPS而无法播放。 H.264码流的SPS和PPS信息存储在AVCodecContext结构体的extradata中。需要使用ffmpeg中名称为“ h264_mp4toannexb”的bitstream filter处理。
注意事项:
– 把每个视频封装格式也统一为ts,拼接输出的时候再输出你需要的封装格式,比如MP4
– 视频分辨率可以不同,但是编码格式需要统一
– 音频编码格式需要统一,音频参数(采样率/声道等)也需要统一
2) 查看可用设备名字:ffmpeg -list_devices true -f dshow -i dummy
得到摄像头名称等相关信息。
3)录制视频(默认参数)
- 桌面:
ffmpeg -f dshow -i video="screen-capture-recorder" v-out.mp4 - 摄像头:
ffmpeg -f dshow -i video="Integrated Webcam" -y v-out2.flv(“”为摄像头名称)
4)录制声音(默认参数)
- 系统声音:
ffmpeg -f dshow -i audio="virtual-audio-capturer" a-out.aac - 系统+麦克风声音:
ffmpeg -f dshow -i audio="麦克风 (Realtek Audio)" -f dshow -i audio="virtual-audio-capturer" -filter_complex amix=inputs=2:duration=first:dropout_transition=2 a-out2.aac
2、FFplay常用命令
ffplay test.mp4 -bytes 0:按字节进行定位拖动(bytes取值: 0:off, 1:on, -1:auto)ffplay test.mp4 -seek_interval 15:自定义左/右键定位拖动时间间隔(单位:秒,默认值10秒)ffplay test.mp4 -nodisp:关闭图形化显示窗口,不显示视频ffplay test.mp4 -noborder:显示无边框窗口ffplay test.mp4 -volume 30:设置起始音量(音量范围:0~100)ffplay test.mp4 -f s16le:强制使用设置的格式(比如s16le)进行解析ffplay test.mp4 -window_title title:设置窗口标题(默认为输入文件名)ffplay test.mp4 -loop 2:设置循环播放次数(比如这里为循环播放2次)ffplay test.mp4 -showmode mode:设置显示模式,mode取值: 0视频,1音频波形,2 音频频谱。缺省为0,若视频不存在自动选择2ffplay test.mp4 -vf filtergraph:设置视频滤镜ffplay test.mp4 -af filtergraph:设置音频滤镜ffplay test.mp4 -stats:打印回放统计信息,包括显示流持续时间,编解码器参数等。默认启用,显示禁用可以指定-nostatsffplay test.mp4 -fast:非标准化规范的多媒体兼容优化ffplay test.mp4 -genpts:生成ptsffplay test.mp4 -sync type:同步类型,将主时钟设置为audio(type=audio),video或external。ffplay test.mp4 -ast audio_stream_specifier:指定音频流索引,比如-ast 3,播放流索引为3的音频流ffplay test.mp4 -vst video_stream_specifier:指定视频流索引,比如-vst 4,播放流索引为4的视频流ffplay test.mp4 -sst subtitle_stream_specifier:指定字幕流索引,比如-sst 5,播放流索引为5的字幕流ffplay test.mp4 -autoexit:视频播放完毕后退出ffplay test.mp4 -exitonkeydown:键盘按下任何键退出播放ffplay test.mp4 -exitonmousedown:鼠标按下任何键退出播放ffplay test.mp4 -codec:media_specifier codec_name:强制使用设置的多媒体解码器,media_specifier可用值为a(音频),v(视频)和s字幕。比如-codec:v h264_qsv 强制视频采用h264_qsv解码ffplay test.mp4 -acodec codec_name: 强制使用设置的音频解码器进行音频解码ffplay test.mp4 -vcodec codec_name: 强制使用设置的视频解码器进行视频解码ffplay test.mp4 -scodec codec_name: 强制使用设置的字幕解码器进行字幕解码ffplay test.mp4 -autorotate: 根据文件元数据自动旋转视频。值为0或1 ,默认为1。ffplay test.mp4 -framedrop: 如果视频不同步则丢弃视频帧。当主时钟非视频时钟时默认开启。若需禁用则使用 -noframedropffplay test.mp4 -infbuf: 不限制输入缓冲区大小。尽可能快地从输入中读取尽可能多的数据。播放实时流时默认启用,如果未及时读取数据,则可能会丢弃数据。此选项将不限制缓冲区的大小。若需禁用则使用-noinfbuf
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226528.html原文链接:https://javaforall.net
