天天看點

ffmpeg之-ffmpeg/ffplay/ffprobe(六)ffplay常用指令ffmpeg常用指令

ffplay常用指令

1、ffplay播放yuv檔案

ffplay -f rawvideo -pix_fmt nv12 -video_size 640x480 -framerate 50 -i test.yuv

備注:如果不指定-pix_fmt,預設為yuv420p;如果不指定framerate 預設25fps

通過ffplay -pix_fmts 可以檢視支援的播放格式

2、ffplay播放pcm檔案

ffplay -ar 44100 -ac 2 -f f32le -i test_441_f32le_2.pcm

備注:播放采樣率為44100,聲道數為2 存儲格式為32位小端序的音頻資料

ffmpeg常用指令

  • ffmpeg -i input -c:v libx264 -preset slow -crf 22-c:a copy output.mkv

    -c:v:表示使用的視訊編碼器庫 這裡表示使用x264庫;copy代表視訊不重新編碼

    -preset:設定x264的預設參數為 "slow";它可取值為"ultrafast,superfast,veryfast,

    faster,fast,medium,slow,slower,veryslow,placebo";預設值為medium。預設參數代表了編碼速度,編碼速度越慢,壓縮率則越大。

    -crf:x264預設的品質和碼率控制方式;x264的取值範圍(0-51),預設值為23,值越小,壓縮率越小(視訊品質月好),壓縮後檔案越大;推薦的取值為(18-28)

  • ffmpeg -i test_1280x720.MP4 -ss 00:00:00 -t 00:00:10 -pix_fmt yuv420p -vf scale=640:360 -f rawvideo test_640x360_yuv420p.yuv

    MP4轉換為YUV并同時進行壓縮和截取

  • 其它格式轉換為PCM格式

    ffmpeg -i test-mp3-1.mp3 -f s16le -ar 44100 -ac 2 -acodec pcm_s16le test_441_s16le_2.pcm

    tips:pcm的不同格式之間不能互相轉化

  • PCM格式轉化為其它格式

    ffmpeg -f s16le -ar 44100 -ac 2 -acodec pcm_s16le -i input.pcm output.wav

  • 音頻和視訊合成一個視訊檔案

    ffmpeg -i test_1280x720_1.mp4 -i test-mp3-1.mp3 -map 0:v:0 -map 1:a:0 -c:a copy output.mp4

  • ffmpeg生成HLS的m3u8與ts片段

    1、方式一:

    ffmpeg -i cat.mp4 -c copy -bsf h264_mp4toannexb cat.ts

    ffmpeg -i cat.ts -c copy -map 0 -f segment -segment_list playlist.m3u8 -segment_time 2 cat_output%03d.ts

    2、方式二:

    ffmpeg -i input.mp4 -c:v libx264 -c:a aac -strict -2 -f hls output.m3u8

    -hls_time n: 設定每片的長度,預設值為2。機關為秒

    -hls_list_size n:設定播放清單儲存的最多條目,設定為0會儲存有所片資訊,預設值為5

    -hls_wrap n:設定多少片之後開始覆寫,如果設定為0則不會覆寫,預設值為0.這個選項能夠避免在磁盤上存儲過多的片,而且能夠限制寫入磁盤的最多的片的數量

    -hls_start_number n:設定播放清單中sequence number的值為number,預設值為0

  • 從視訊中提取圖檔并生成jpg

    ffmpeg -i test.mp4 -r 30 -ss 00:00:20 -vframes 10 image-%3d.jpg

    -ss 00:00:20 表示從20秒開始提取

    -r 30 表示提取的圖檔序列幀率為30fps

    -vframes 10 表示提取10幀

  • 圖檔序列生成視訊

    ffmpeg -y -r 10 -i image%04d.jpg output.mp4

    将目前目錄下image001.jpg,image002.jpg,image003.jpg,......序列生成視訊。視訊幀率為10