日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FFMpeg的基本用法

發(fā)布時間:2025/4/5 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FFMpeg的基本用法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

    • 1 提取音視頻流
      • 1.1 提取音頻流
      • 1.2 提取視頻流
    • 2 截取音視頻片段
    • 3 合并音視頻
    • 4 Libx265/Libxvid 重新編解碼
    • 5 添加圖片水印
    • 6 添加文字水印
      • 6.1 添加靜態(tài)文字水印
      • 6.2 文字跑馬燈效果
      • 6.3 文字每隔M秒顯示N秒間隔顯示效果
    • 7 FFmpeg音視頻特效處理
      • 7.1 鏡面倒影特效vflip
      • 7.2 裁剪指定區(qū)域 crop
      • 7.3 畫中畫 overlay

1 提取音視頻流

1.1 提取音頻流

ffmpeg431.exe -i ande_302.mp4 -vn -acodec copy -f mp4 -y ande_302-vn.mp4

1.2 提取視頻流

ffmpeg431.exe -i ande_302.mp4 -an -vcodec copy -f mp4 -y ande_302-an.mp4

選項詳解:

  • -i : 指定的文件。
  • -vn:video no。
  • -an:audio no。
  • -acodec:audio codec。
  • -vcodec:video codec。
  • -f:指定封裝格式。
  • -y:直接覆蓋。

另外補充個關(guān)于1080P和720P的概念:

  • 1080P: 1920x1080。
  • 720P: 1280x720 。

2 截取音視頻片段

命令如下:

ffmpeg431.exe -i ande_302.mp4 -ss 10 -t 00:00:10 -c copy -f mp4 -y ande_302-ss10-t10.mp4// 技巧:-ss 放到-i 前頭,效率就會很高。 ffmpeg431.exe -ss 10 -i ande_302.mp4 -t 00:00:10 -c copy -f mp4 -y ande_302-ss10-t10.mp4

參數(shù)詳解:

  • -ss:start second。
  • -t:time,截取多長時間。
  • -c copy:直接復制,不經(jīng)過重新編碼(這樣比較快)。

3 合并音視頻

命令如下:

ffmpeg431.exe -i ande_302-an.mp4 -i ande_302-vn.mp4 -c copy -f mp4 ande_302-newfull.mp4

命令比較簡單,沒什么好解釋的。


4 Libx265/Libxvid 重新編解碼

Libxvid(iso+mpeg:mpeg1(vcd),2(dvd), 4(10:avc,h.264; 3:audio;4:video(xvid,vidx))
libmp3lame(iso,mpeg1, layer3)
libx264: itu(h.26x: 1,3,4,5),avc, AVC(H.264: libx264, openh264),advanced video coding
libx265: hevc(HEVC), high efficience video coding

ffmpeg431.exe -i ande_302.mp4 -acodec libmp3lame -vcodec libxvid -f mp4 ande_302-xvid-mp3.mp4 ffmpeg431.exe -i ande_302.mp4 -acodec libmp3lame -vcodec libx265 -f mp4 ande_302-xvid-mp3.mp4

Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mpeg4 (libxvid))
Stream #0:1 -> #0:1 (aac (native) -> mp3 (libmp3lame))


5 添加圖片水印

-vf : video filter

命令如下:

ffmpeg431.exe -i ande_302.mp4 -vf "movie=head11.png[watermark2];[in][watermark2]overlay=100:150[out]" -vcodec libx264 -acodec aac -y ande_test_picwm2.mp4

對于水印的位置還可以使用如下方式:

  • main_w(視頻寬度), overlay_w(圖片寬度),main_h(視頻高度),overlay_h(圖片高度)
ffmpeg431.exe -i ande_302.mp4 -vf "movie=head11.png[watermark1];[in][watermark1]overlay=main_w-overlay_w-10:main_h-overlay_h-10[out]" -vcodec libx264 -acodec aac -y ande_test_picwm4.mp4

6 添加文字水印

6.1 添加靜態(tài)文字水印

ffmpeg431.exe -i ande_302.mp4 -vf "drawtext=fontfile=simhei.ttf:text='hello,ffmpeg':x=10:y=main_h-overlay_h-30:fontsize=35:fon tcolor=red" -f mp4 -y ande_test_text1.mp4ffmpeg431.exe -i ande_302.mp4 -vf "drawtext=fontfile=simhei.ttf:text='hello,ffmpeg':x=10:y=10:fontcolor=#FF6600" -f mp4 -y ande_test_text1.mp4

字體文件: 同路徑。

文字:utf-8 編碼。

6.2 文字跑馬燈效果

drawtext 各個參數(shù)的含義詳解:

  • line_h, lh:the height of each text line,時間線
  • main_h, h, H:the input height,輸入視頻的高度:像素
  • main_w, w, W:the input width,輸入視頻的寬度:像素
  • n:the number of input frame, starting from 0,第幾幀
  • rand(min, max):return a random number included between min and max,隨機數(shù)
  • mod(a, b):求余,a%b,5%2==>: 1
  • sar:The input sample aspect ratio,輸入采樣的寬高比,yuv,像素的寬高比
  • t:timestamp expressed in seconds, NAN if the input timestamp is unknown,時間戳,單位:秒
  • text_h, th:the height of the rendered text,文本的高度:像素
  • text_w, tw:the width of the rendered text,文本的寬度:像素

左到右:

ffmpeg431.exe -i ande_302.mp4 -vf "drawtext=fontfile=simhei.ttf:text='hello, 您 好 ffmpeg':x=(mod(2*n\,w+tw)-tw):y=10:fontcolor=#FF6600:fontsize=60" -f mp4 -y ande_test_text3.mp4

右到左:

ffmpeg431.exe -i ande_302.mp4 -vf "drawtext=fontfile=simhei.ttf:text='hello, 您 好 ffmpeg':x=w-t*w/10:y=10:fontcolor=#FF6600:fontsize=60" -f mp4 -y ande_test_text4.mp4

6.3 文字每隔M秒顯示N秒間隔顯示效果

ffmpeg431.exe -i ande_302.mp4 -vf "drawtext=fontfile=simhei.ttf:text='hello, 您 好 ffmpeg':x=main_w-tw-50:y=10:enable=lt(mod(t\,5)\,2):fontcolor=#FF6600:fontsize=60" -f mp4 -y ande_test_text10.mp4

lt:letter than <
gt:greater than <
enable:可用


7 FFmpeg音視頻特效處理

7.1 鏡面倒影特效vflip

ffmpeg -i ande_302.mp4 -vf "split[up][down];[up]pad=iw:ih*2[up];[down]vflip[down];[up][down]overlay=0:h" -y output_vflip222.mp4

7.2 裁剪指定區(qū)域 crop

ffmpeg -i ande_302.mp4 -vf crop=400:400:0:0 -y ande_302-crop111.mp4

crop 的參數(shù)格式為 w:h: x:y,

  • w、h 為輸出視頻的寬和高,
  • x、y 標記輸入視頻中的某點,將該點作為基準點,向右下進行裁剪得到輸出視頻。
    如果 x y 不寫的話,默認居中剪切。

7.3 畫中畫 overlay

ffmpeg -i ande_302.mp4 -i aabbaaAV-small.mp4 -filter_complex overlay=main_w-overlay_w-20:0 output_overlay333.mp4

overlay 技術(shù)又稱視頻疊加技術(shù)。overlay 視頻技術(shù)使用非常廣泛,常見的例子有,電視
屏幕右上角顯示的電視臺臺標,以及畫中畫功能。

畫中畫是指在一個大的視頻播放窗口中還存在一個小播放窗口,兩個窗口不同的視頻內(nèi)
容同時播放。

overlay 技術(shù)中涉及兩個窗口,通常把較大的窗口稱作背景窗口,較小的窗口稱作前景
窗口,背景窗口或前景窗口里都可以播放視頻或顯示圖片。FFmpeg 中使用 overlay 濾鏡可實現(xiàn)視頻疊加技術(shù)。


描述:前景窗口(第二輸入)覆蓋在背景窗口(第一輸入)的指定位置。

語法:overlay[=x:y[[:rgb={0, 1}]]
參數(shù) x 和 y 是可選的,默認為 0。
參數(shù) rgb 參數(shù)也是可選的,其值為 0 或 1,默認為 0。

參數(shù)說明:

  • x 從左上角的水平坐標,默認值為 0
  • y 從左上角的垂直坐標,默認值為 0
  • rgb 值為 0 表示輸入顏色空間不改變,默認為 0;值為 1 表示將輸入的顏色空間設(shè)置為 RGB.

變量說明:如下變量可用在 x 和 y 的表達式中

  • main_w 或 W 主輸入(背景窗口)寬度
  • main_h 或 H 主輸入(背景窗口)高度
  • overlay_w 或 w overlay 輸入(前景窗口)寬度
  • overlay_h 或 h overlay 輸入(前景窗口)高度
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的FFMpeg的基本用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。