查看ffmpeg支持的格式
- 封裝格式
ffmpeg -formats > formats.txt
結(jié)果保存在當前目錄下的formats.txt, 從中可查詢到相關(guān)格式,比如
DE asf ASF (Advanced / Active Streaming Format)
DE flv FLV (Flash Video)
E mp4 MP4 (MPEG-4 Part 14)
- 編解碼格式
ffmpeg -codecs > codecs.txt
- 編碼器格式
ffmpeg -encoders > encoders.txt
結(jié)果保存在當前目錄下的encoders.txt文件中,可從中查詢支持的格式,比如
V..... libx264 libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (codec h264)
A..... aac AAC (Advanced Audio Coding)
A..... libmp3lame libmp3lame MP3 (MPEG audio layer 3) (codec mp3)
- 解碼器格式
ffmpeg -decoders > decoders.txt
- 協(xié)議格式
ffmpeg -protocols > protocols.txt
結(jié)果舉例:
Supported file protocols:
Input:
...
hls
...
rtp
...
rtmp
Output:
...
rtp
...
rtmp
...
查看文件的信息
ffmpeg -i sample.mp4

ffmpeg -i sample.mp4 的結(jié)果
將rtmp流保存成文件
ffmpeg -i rtmp://live.hkstv.hk.lxdns.com/live/hks -c copy hks.flv
ffmpeg -i rtmp://live.hkstv.hk.lxdns.com/live/hks -c copy hks.mp4
將文件以rtmp流的方式推到服務(wù)器(比如nginx)
ffmpeg -re -i sample.flv -acodec copy -vcodec copy -f flv rtmp://localhost:1935/live/test
ffmpeg -re -i sample.mp4 -acodec copy -vcodec copy -f flv rtmp://localhost:1935/live/test
提取視頻或音頻
- 提取視頻
ffmpeg -i sample.mp4 -vcodec copy -an video.mp4
- 提取音頻
ffmpeg -i sample.mp4 -acodec copy -vn audio.aac
ffmpeg -i sample.mp4 -acodec libmp3lame -vn audio.mp3
編解碼
- 將aac解碼并保存為wav文件
ffmpeg -i audio.aac audio.wav
將視頻轉(zhuǎn)換為圖片
- 將視頻轉(zhuǎn)換為圖片序列
ffmpeg -i sample.mp4 output%d.jpg
- 將視頻的指定片段轉(zhuǎn)換為gif文件
ffmpeg -i sample.mp4 -ss 3 -t 5 -s 320x240 -r 6 -f gif out.gif -y
將sample.mp4文件,從第3秒開始,取時長為5秒的視頻,將其轉(zhuǎn)換為分辨率為320*240,幀率為6幀/秒的gif文件。
直播流中進行截圖
ffmpeg.exe
-probesize 32768
-i "rtmp://192.168.2.245:1936/live/192.168.2.233.stream live=1"
-y
-t 0.001
-ss 1
-f image2
-r 1
./rtmp.jpg
-ss 指定從什么時間開始
-t 時長
-r 幀率
注意: rtmp流后的 live=1是必須的
- rtmp拉流
ffmpeg -i rtmp://live.hkstv.hk.lxdns.com/live/hks -c copy dump.flv
mp4 轉(zhuǎn)換為 flv
ffmpeg -i input.mp4 -acodec copy -vcodec copy -r 25 -s 640x480 output.flv
ffmpeg -i input.mp4 -acodec copy -vcodec h264 -r 25 -s 640x480 output.flv
ffmpeg -i input.mp4 -acodec copy -vcodec h264 -r 25 -s 640x480 -qmin 25 output.flv
qmin的取值范圍[-1, 69]