FFmpeg命令分類 (初級)

image.png

1.基本信息查詢命令

ffmpeg -version //顯示版本

ffmpeg -demuxers //顯示可用的demuxers

ffmpeg --muxers //顯示可用的muxers

ffmpeg --devices //顯示可用的設(shè)備

ffmpeg --codecs //顯示可用的編解碼器

ffmpeg --decoders //顯示可用的解碼器

ffmpeg -encoders //顯示可用的編碼器

ffmpeg -bsfs //顯示比特流filter

ffmpeg -formates //顯示可用的格式

ffmpeg -protocols //顯示可用的協(xié)議

ffmpeg -filters //顯示可用的過濾器

ffmpeg -pix_fmts //顯示可用的像素格式

ffmpeg -sample_fmts //顯示可用的采樣格式

ffmpeg -layouts //顯示channnel名稱

ffmpeg --colors //顯示識別的顏色名稱

2.錄制命令

2.1 查看當(dāng)前mac 設(shè)備支持avfoundataion音視頻輸入源

ffmpeg -f avfoundation -list_devices true -i ""

2.2 錄當(dāng)前屏幕的視頻

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

-f:指定使用avfoundation采集數(shù)據(jù)

-i:制定從哪采集茵瀑,它是一個文件索引號

-r: 指定幀率

2.3 ffplay播放 yuv數(shù)據(jù)

ffplay out.yuv //此命令播放會失敗

ffplay -s 1920x1080 -pix_fmt uyvy422 out.yuv //指定畫面像素 和圖像編碼格式

-s: 查看采集的流的視頻畫面寬高

-pix_fmt:查看采集的流的圖像的編碼格式

2.4 用ffmpeg 在mac 下錄制聲音

ffmpeg -f avfoundation -i :0 out.wav

:0 代表音頻設(shè)備

2.5 用ffplay 播放 錄音文件

ffplay out.wav

3.分解/復(fù)用命令

3.1 將mp4 的封裝格式更改為flv(可轉(zhuǎn)其它格式)

ffmpeg -i input.mp4 -vcodec copy -acodec copy out.flv

-i :輸入文件

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

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

3.2 抽取輸入文件mp4封裝格式的視頻流

ffmpeg -i input.mp4 -an -vcodec copy out.h264

-an : audio not 音頻不要的意思

3.3 抽取輸入文件mp4封裝格式的音頻流

ffmpeg -i input.mp4 -vn -acodec copy out.aac

-vn: video not 不要視頻

4.處理原始數(shù)據(jù)命令

4.1 ffmpeg 提取YUV 數(shù)據(jù)

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

-an 輸出文件不開啟音頻

-c:v 使用編碼格式, rawvideo 表示原始視頻格式

-pix_fmt 像素格式編碼格式y(tǒng)uv420p

4.2 ffmpeg 提取PCM 數(shù)據(jù)

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

-vn 輸出文件不開啟視頻

-ar 設(shè)置音頻的采樣率

-ac 2 a代表audio抬探、c代表channel 猿诸、2 代表雙聲道

-f 數(shù)據(jù)存儲格式

4.3 ffplay 播放 pcm

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

5.裁剪與合并命令

5.1 裁剪一個視頻大小

ffmpeg -i input.mp4 -vf crop= in_w-200:in_h-200 -c:v libx264 -c:a copy out.mp4


-vf v代表視頻 茫孔、f代表濾鏡

in_w 本身的視頻寬 (in_w-200 本身視頻的寬度減去200)

-c:v 編碼器 視頻的 用libx264

-c:a 編碼器 音頻的用copy (不對音頻做特殊處理)

5.2 裁剪一個視頻中的某個片段

ffmpeg -i input.mp4 -ss 0:0:0 -t 10 out.ts

-i 指定輸入源

-ss 指定開始時間 (00:00:00 時/分/秒)

-t 指定截取時間(以秒為單位)

5.3 合并多個視頻片段

ffmpeg -f concat -i input.txt out.flv

input.txt 內(nèi)容為"file filename"格式

例如:

file '1.ts'

file '2.ts'

6.圖片/視頻互轉(zhuǎn)命令

6.1 視頻轉(zhuǎn)圖片

ffmpeg -i input.mp4 -r 1 -f image2 image-%3d.jepg

-r 指定轉(zhuǎn)換圖片的幀率(1秒鐘轉(zhuǎn)出1張圖)

-f 輸出文件轉(zhuǎn)成image2 格式

6.2 圖片轉(zhuǎn)視頻

ffmpeg -i image-%3d.jpeg newout.mp4

7.直播相關(guān)命令

7.1 直播推流

ffmpeg -re -i input.mp4 -c copy -f flv rtmp://server/live/streamName

-i 需要推出去的多媒體文件

-c copy 音頻與視頻的參數(shù)不變

-f flv 推出的文件格式 flv 格式

7.2 直播拉流

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

7.3 合并視頻 /音頻文件 封裝
ffmpeg -i “video.h264" -i "audio.aac" -vcodec copy -acodec copy -absf aac_adtstoasc "res.mp4"
ffmpeg -y -i input.mp4 -hls_time 6 -hls_playlist_type vod -hls_segment_filename "list%3d.ts" list.m3u8

7.4 ffmpeg 分割成m3u8 ts

7.6 ffmpeg 提取h264 中關(guān)鍵幀

ffmpeg -i /Users/pengchao/Desktop/Caches/video_4 -r 10 -f image2 /Users/pengchao/Desktop/Caches/%05d.png

-i 表示如輸入
-r 表示 指定1秒內(nèi)抽取幾幀
-vf 表示 scale=640:480 (-vf scale=640:480)
-ss 00:00:00 表示起始時間 
-t 00:03:00 表示截取視頻長度(-ss 00:00:00 -t 00:03:00)
-q 2 表示 (編碼質(zhì)量)
指定 轉(zhuǎn)碼后文件質(zhì)量

8.各種命令集合

image2.png

9.ffplay 旋轉(zhuǎn)播放
ffplay還可以進行圖片和視頻的旋轉(zhuǎn)和翻轉(zhuǎn)锦聊。-vf 表示畫面旋轉(zhuǎn)和翻轉(zhuǎn)。
ffplay還可以進行圖片和視頻的旋轉(zhuǎn)和翻轉(zhuǎn)旋奢。-vf 表示畫面旋轉(zhuǎn)和翻轉(zhuǎn)迄薄。

旋轉(zhuǎn)參數(shù) 說明
“transpose=0” 逆時針旋轉(zhuǎn)90°后再水平翻轉(zhuǎn)
“transpose=1” 順時針旋轉(zhuǎn)90°
“transpose=2” 逆時針旋轉(zhuǎn)90°
“transpose=3” 順時針旋轉(zhuǎn)90°后再水平翻轉(zhuǎn)

ffplay -vf "transpose=0" -i image.jpg
  1. 獲取媒體文件的視頻總幀數(shù)
ffprobe -v error -count_frames -select_streams v:0 -show_entries stream=nb_read_frames -of default=nokey=1:noprint_wrappers=1 xxx.mp4

  1. 獲取媒體文件的視頻總包數(shù)
ffprobe -v error -count_packets -select_streams v:0 -show_entries stream=nb_read_frames -of default=nokey=1:noprint_wrappers=1 xxx.mp4
  1. 顯示媒體文件的PTS
ffprobe -show_entries packet=pts_time -select_streams v:0  -i /Users/pengchao/Downloads/513_sd_direct_access_to_media_encoding_and_decoding.mov
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市啦租,隨后出現(xiàn)的幾起案子哗伯,更是在濱河造成了極大的恐慌,老刑警劉巖篷角,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件焊刹,死亡現(xiàn)場離奇詭異,居然都是意外死亡恳蹲,警方通過查閱死者的電腦和手機虐块,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嘉蕾,“玉大人贺奠,你說我怎么就攤上這事〈沓溃” “怎么了儡率?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長以清。 經(jīng)常有香客問我儿普,道長,這世上最難降的妖魔是什么掷倔? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任眉孩,我火速辦了婚禮,結(jié)果婚禮上勒葱,老公的妹妹穿的比我還像新娘勺像。我一直安慰自己,他們只是感情好错森,可當(dāng)我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布吟宦。 她就那樣靜靜地躺著,像睡著了一般涩维。 火紅的嫁衣襯著肌膚如雪殃姓。 梳的紋絲不亂的頭發(fā)上袁波,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機與錄音蜗侈,去河邊找鬼篷牌。 笑死,一個胖子當(dāng)著我的面吹牛踏幻,可吹牛的內(nèi)容都是我干的枷颊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼该面,長吁一口氣:“原來是場噩夢啊……” “哼夭苗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起隔缀,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤题造,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后猾瘸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體界赔,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年牵触,在試婚紗的時候發(fā)現(xiàn)自己被綠了淮悼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡揽思,死狀恐怖敛惊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情绰更,我是刑警寧澤瞧挤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站儡湾,受9級特大地震影響特恬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜徐钠,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一癌刽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧尝丐,春花似錦显拜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至失息,卻和暖如春譬淳,著一層夾襖步出監(jiān)牢的瞬間档址,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工邻梆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留守伸,地道東北人。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓浦妄,卻偏偏與公主長得像尼摹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子剂娄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,927評論 2 355