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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

ffmpeg之常用命令的学习

發布時間:2025/3/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ffmpeg之常用命令的学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

1.基本信息查詢命令

?

2.錄制命令

(1)錄制視頻(屏幕)

ffmpeg -f avfoundation -i 1 -r 30 out.yuv
  • -f:指定使用avfoundation采集數據

  • -i:指定從哪兒采集數據,它是一個文件索引號

  • -r:指定幀率

錄制視頻測試

1.終端中輸入命令

ffmpeg -f avfoundation -i 1 -r 30 out.yuv

?

2.錄制結束,播放錄制視頻

ffplay out.yuv

會出現如下問題:

?

是因為ffplay輸入的是原始數據,不知道存的數據每一張圖的大小是多少,所以無法渲染展示。所以我們需要給他一個尺寸大小。

我們在錄制的時候有一個大小參數

?

帶上這個參數去播放視頻

ffplay -s 2560-1600 out.yuv

?

但是視頻確是亂碼,沒法看。這是因為ffplay打開是按照yuv420p格式來的,而視頻錄制時的格式為uyvy422,所以需要指定視頻錄制時的格式。

ffplay -s 2560-1600 -pix_fmt uyvy422 out.yuv

這時候我們就可以看到剛才錄制的視頻了

(2)錄制視頻(攝像頭)

ffmpeg -f avfoundation -list_devices true -i ""

使用上述命令可以看到當前mac系統下acfoundation支持哪種設備

?

video[0]代表攝像頭,video[1]代表屏幕,autio[0]代表內置麥克風。

下面我們開始錄制攝像頭版的視頻,把-i的值改為0即可

ffmpeg -f avfoundation -i 0 -r 30 out1.yuv

?

日志告訴我們 Selected framerate (29.970030) is not supported by the device ,默認的framerate 不被設備支持,下面也給出了支持的分辨率和framerate,所以我們需要改一下命令

ffmpeg -f avfoundation -video_size 640x480 -framerate 30 -i 0: -r 30 out1.yuv

錄制一定時間后,結束錄制,打開剛才的視頻

ffplay -s 640*480 -pix_fmt uyvy422 out1.yuv

(2)錄制音頻

ffmpeg -f avfoundation -i :0 out.wav

打開剛才錄制的音頻

ffplay out.wav

?

3.分解/復用命令

(1)多媒體格式轉換

ffmpeg -i out.mp3 -vcodec copy -acodec copy out.flv
  • -i:輸入文件

  • -vcodec copy:視頻編碼處理方式

  • -acodec copy:音頻編碼處理方式

例如我們要將一個mp4視頻文件中的音頻提取出來

ffmpeg -i test.mp4 -vn -acodec copy test111.aac

還可以將視頻文件中的視頻提取出來

ffmpeg -i test.mp4 -vcodec copy ?-an test222.h264

我們可以用ffmplay打開這兩個音視頻文件

4.處理原始數據命令

(1)提取YUV數據

ffmpeg -i input.mp4 -an -c:v rawvideo -pix_fmt yuv420p out.yuv

(2)提取PCM數據

ffmpeg -i out.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm

這里我們提取一個mp3文件的PCM數據

ffmpeg -i /Users/apple/Music/網易云音樂/許嵩\,何婷\ -\ 素顏.mp3 -vn -ar 44100 -ac 2 -f s16le out3.pcm

然后通過ffplay播放

ffplay -ar 44100 -ac 2 -f s16le out3.pcm

5.裁剪與合并命令

(1)裁剪

ffmpeg -i input.mp4 -ss 00:00:00 -t 10 1.ts
  • -i:需要裁剪的視頻

  • -ss:裁剪開始的時間 時:分:秒

  • -t:裁剪的時間

(2)合并

ffmpeg -f concat -i inputs.txt -c:v out.flv
  • input.txt內容為需要合并的文件,格式為

    file '1.ts' file '2.ts'

6.圖片/視頻互轉命令

(1)視頻轉圖片

ffmpeg -i in.flv -r 1 -f image2 image-%3d.jpeg

(2)視頻轉圖片

ffmpeg -i video-frame-%3d.jpeg -c:v libx264 -vf "fps=25,format=yuv420p" out.mp4

7.直播相關命令

(1)直播推流

ffmpeg -re -i out.mp4 -c copy -f flv remp://server/live/streamName

(2)直播拉流

ffmpeg -i rtmp://server/live/streamName -c copy dump.flv

總結

以上是生活随笔為你收集整理的ffmpeg之常用命令的学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。