一、ffplay播放控制
下面的指令是在播放之後的界面下操作:
二、ffplay指令主要選項
- -x width 強制顯示寬帶。
- -y height 強制顯示高度。
- -video_size size 幀尺寸 設定顯示幀存儲(WxH格式),僅适用于類似原始YUV等沒有包含幀大小(WxH)的視訊。
比如: ffplay -pixel_format yuv420p -video_size 320x240 -framerate 5 yuv420p_320x240.yuv
- -pixel_format format 格式設定像素格式。
- -fs 以全屏模式啟動。
- -an 禁用音頻(不播放聲音)
- -vn 禁用視訊(不播放視訊)
- -sn 禁用字幕(不顯示字幕)
- -ss pos 根據設定的秒進行定位拖動,注意時間機關:比如’55’ 55 seconds, ‘12:03:45’ ,12 hours, 03 minutes and 45 seconds, ‘23.189’ 23.189 second
- -t duration 設定播放視訊/音頻長度,時間機關如 -ss選項
- -bytes 按位元組進行定位拖動(0=off 1=on -1=auto),是指開始播放之後左右鍵快慢拖動,flv支援(幀頭和幀資料連續存儲),mp4不支援(幀頭和幀資料不是連續存儲)
- -seek_interval interval 自定義左/右鍵定位拖動間隔(以秒為機關),預設值為10秒(代碼沒有看到實作)
- -nodisp 關閉圖形化顯示視窗,視訊将不顯示
- -noborder 無邊框視窗
- -volume vol 設定起始音量。音量範圍[0 ~100]
- -f fmt 強制使用設定的格式進行解析。比如-f s16le
- -window_title title 設定視窗标題(預設為輸入檔案名)
- -loop number 設定播放循環次數
- -showmode mode 設定顯示模式,可用的模式值:0 顯示視訊,1 顯示音頻波形,2 顯示音頻頻譜。預設為0,如果視訊不存在則自動選擇2
- -vf filtergraph 設定視訊濾鏡
- -af filtergraph 設定音頻濾鏡
三、ffplay指令進階選項
- -stats 列印多個回放統計資訊,包括顯示流持續時間,編解碼器參數,流中的目前位置,以及音頻/視訊同步內插補點。預設情況下處于啟用狀态,要顯式禁用它則需要指定-nostats。
- -fast 非标準化規範的多媒體相容優化。
- -genpts 生成pts。
- -sync type 同步類型 将主時鐘設定為audio(type=audio),video(type=video)或external(type=ext),預設是audio為主時鐘。
- -ast audio_stream_specifier 指定音頻流索引,比如-ast 3,播放流索引為3的音頻流
- -vst video_stream_specifier 指定視訊流索引,比如-vst 4,播放流索引為4的視訊流
- -sst subtitle_stream_specifier 指定字幕流索引,比如-sst 5,播放流索引為5的字幕流
- -autoexit 視訊播放完畢後退出。
- -exitonkeydown 鍵盤按下任何鍵退出播放
- -exitonmousedown 滑鼠按下任何鍵退出播放
- -codec:media_specifier codec_name 強制使用設定的多媒體解碼器,media_specifier可用值為a(音頻), v(視訊)和s字幕。比如-codec:v h264_qsv 強制視訊采用h264_qsv解碼
- -acodec codec_name 強制使用設定的音頻解碼器進行音頻解碼
- -vcodec codec_name 強制使用設定的視訊解碼器進行視訊解碼
- -scodec codec_name 強制使用設定的字幕解碼器進行字幕解碼
- -autorotate 根據檔案中繼資料自動旋轉視訊。值為0或1 ,預設為1
- -framedrop 如果視訊不同步則丢棄視訊幀。當主時鐘非視訊時鐘時預設開啟。若需禁用則使用 -noframedrop
- -infbuf 不限制輸入緩沖區大小。盡可能快地從輸入中讀取盡可能多的資料。播放實時流時預設啟用,如果未及時讀取資料,則可能會丢棄資料。此選項将不限制緩沖區的大小。若需禁用則使用-noinfbuf(适用于實時流這種)
四、ffplay指令播放
- 播放本地檔案
- -ss從2秒開始播放,-t 10播放10s停止,-autoexit播放完之後退出,-window_title視窗标題
ffplay -window_title "test time" -ss 2 -t 10 -autoexit test.mp4
ffplay buweishui.mp3
- 播放網絡流
- 強制解碼器
mpeg4解碼器:ffplay -vcodec mpeg4 test.mp4
h264解碼器:ffplay -vcodec h264 test.mp4
- 禁用音頻或視訊
禁用音頻:ffplay test.mp4 -an
禁用視訊:ffplay test.mp4 -vn
- 播放YUV資料
- YUV使用media info無法解析出顔色空間和分辨率,并且是一直播放,是以需要指定(幀率預設是25)
ffplay -pixel_format yuv420p -video_size 320x240 -framerate 5 yuv420p_320x240.yuv
- 播放RGB
ffplay -pixel_format rgb24 -video_size 320x240 -i rgb24_320x240.rgb
ffplay -pixel_format rgb24 -video_size 320x240 -framerate 5 -i rgb24_320x240.rgb
- 播放PCM
- -ar采樣率,-ac通道數,-f采樣格式,
ffplay -ar 48000 -ac 2 -f f32le 48000_2_f32le.pcm
五、ffplay簡答過濾器
- 視訊旋轉: 過濾器transpose
ffplay -i test.mp4 -vf transpose=1
ffplay -h filter=transpose //可以檢視目前濾波器的指令
- 視訊反轉
ffplay test.mp4 -vf hflip //水準翻轉
ffplay test.mp4 -vf vflip //垂直反轉
- 視訊旋轉和反轉
- 多指令組合時用逗号
- 音頻變速播放
- 視訊變速播放
- 音頻不變,視訊2倍快放,因為pts變小了,1s能放幀數變多
- 音視訊同時變速
- 更多參考
http://www.ffmpeg.org/ffmpeg-filters.html