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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

FFmpeg命令行工具学习(三):媒体文件转换工具ffmpeg

發(fā)布時間:2024/10/12 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FFmpeg命令行工具学习(三):媒体文件转换工具ffmpeg 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、簡述

ffmpeg是一個非常強大的工具,它可以轉(zhuǎn)換任何格式的媒體文件,并且還可以用自己的AudioFilter以及VideoFilter進行處理和編輯。有了它,我們就可以對媒體文件做很多我們想做的事情了。

二、命令行參數(shù)

1. 通用參數(shù)

  • -f fmt : 指定格式
  • -i filename:指定輸入文件名
  • -y:覆蓋已有文件
  • -t duration:指定時長
  • -fs limit_size:設(shè)置文件大小的上限
  • -ss time_off: 從指定的時間開始
  • -re:代表按照時間戳讀取或發(fā)送數(shù)據(jù),尤其在作為推流工具的時候一定要加上該參數(shù),否則ffpmeg會按照最高速率向流媒體不停的發(fā)送數(shù)據(jù)。
  • -map:指定輸出文件的流映射關(guān)系。例如:“-map 1:0 -map 1:1”要求按照第二個輸入的文件的第一個流和第二個流寫入輸出文件。如果沒有設(shè)置此項,則ffpmeg采用默認的映射關(guān)系。

2. 視頻參數(shù)

  • -b:指定比特率(bit/s),ffmpeg默認采用的是VBR的,若指定的該參數(shù),則使用平均比特率。
  • -bitexact:使用標準比特率。
  • -vb:指定視頻比特率(bit/s)
  • -r rate:幀速率(fps)
  • -s size:指定分辨率(320x240)
  • -aspect aspect:設(shè)置視頻長寬比(4:3、16:9或1.33333、1.77777)
  • -croptop size:設(shè)置頂部切除尺寸(in pixels)
  • -cropleft size:設(shè)置左切除尺寸(in pixels)
  • -cropbottom size:設(shè)置地步切除尺寸(in pixels)
  • -cropright size:設(shè)置右切除尺寸(in pixels)
  • -padtop size:設(shè)置頂部補齊尺寸(in pixels)
  • -padleft size:設(shè)置左補齊尺寸(in pixels)
  • -padbottom size:設(shè)置地步補齊尺寸(in pixels)
  • -padright size:設(shè)置右補齊尺寸(in pixels)
  • -padcolor color:設(shè)置補齊顏色
  • -vn:取消視頻的輸出
  • -vcodec codec:強制使用codec編碼方式

3. 音頻參數(shù)

  • -ab:設(shè)置比特率(bit/s),對于MP3的格式,想要聽到較高品質(zhì)的聲音,建議設(shè)置160Kbit/s(單聲道80Kbit/s)以上。
  • -aq quality:設(shè)置音頻質(zhì)量
  • -ar ratre:設(shè)置音頻采樣率(Hz)
  • -ac channels:設(shè)置聲道數(shù),1就是單聲道,2就是立體聲
  • -an:取消音頻輸出
  • -acodec codec:強制使用codec編碼方式
  • -vol volume:設(shè)置錄制音量大小

以上就是在日常開發(fā)中經(jīng)常用到的音視頻參數(shù)及通用參數(shù)。下面會針對常見的開發(fā)場景進行實踐和說明。

三、實踐學(xué)習(xí)

1. 列出ffmpeg支持的所有格式

相關(guān)命令:

ffmpeg -formats

輸出結(jié)果:

File formats:D. = Demuxing supported.E = Muxing supported--D 3dostr 3DO STRE 3g2 3GP2 (3GPP2 file format)E 3gp 3GP (3GPP file format)D 4xm 4X TechnologiesE a64 a64 - video for Commodore 64D aa Audible AA format filesD aac raw ADTS AAC (Advanced Audio Coding)DE ac3 raw AC-3
省略......D xbin eXtended BINary text (XBIN)D xmv Microsoft XMVD xpm_pipe piped xpm sequenceD xvag Sony PS3 XVAGD xwma Microsoft xWMAD yop Psygnosis YOPDE yuv4mpegpipe YUV4MPEG pipe

2. 剪切一段媒體文件,可以是音頻或者視頻文件

相關(guān)命令:

ffmpeg -i pm.mp4 -ss 00:00:50.0 -codec copy -t 20 output.mp4

命令說明:

表示將文件pm.mp4從第50s開始剪切20s的時間,輸出到output.mp4中,其中-ss指定偏移時間(time Offset),-t指定的時長(duration)。

但是直接這樣執(zhí)行命令,固然我們能截取出來音視頻的文件,但是當我們播放的時候,我們會發(fā)現(xiàn)雖然ffmepg剪切視頻,很方便,但是也有很大缺陷:

(1). 剪切時間點不精確?
(2). 有時剪切的視頻開頭有黑屏

造成這些問題的原因是ffmpeg無法seek到非關(guān)鍵幀上。

命令層面定位的話就是如果把-ss, -t參數(shù)放在-i參數(shù)之后,是對輸出文件執(zhí)行的seek操作?
輸入文件會逐幀解碼,直到-ss設(shè)置的時間點為止,這么操作會很慢,雖然時間點是準確的,但是很容易出現(xiàn)黑屏問題。

所以:我們優(yōu)化了一下上面的那個命令,讓視頻的剪切更加精確:

ffmpeg -ss 10 -t 15 -accurate_seek -i pm.mp4 -codec copy output.mp4?

注意:accurate_seek必須放在-i參數(shù)之前。?

但是,可能又會有人發(fā)現(xiàn),還是存在剪切不準確的現(xiàn)象,那是因為,上述命令只是進行了數(shù)據(jù)的轉(zhuǎn)封裝,會受到關(guān)鍵幀的影響,所以如果需要特別準確的剪切,只能使用ffmpeg進行重新編解碼的操作了,命令行如下:

ffmpeg -i input.mp4 -ss 00:00:03.123 -t 10 -c:v libx264 -c:a aac out.mp4

此命令行相對上面的轉(zhuǎn)封裝的剪切來說,速度明顯變慢,是因為對視頻數(shù)據(jù)重新編解碼了,但是精度相對轉(zhuǎn)封裝來說是大大提高了。

3. 提取視頻文件中的音頻數(shù)據(jù),并保存為文件

相關(guān)命令:

ffmpeg -i pm.mp4 -vn -acodec copy output.m4a

命令說明:

將文件pm.mp4的視頻流禁用掉(參數(shù)為:-vn,如果禁用音頻流參數(shù)為-an,禁用字母流參數(shù)為-sn )。

然后將pm.mp4中的音頻流的數(shù)據(jù)封裝到output.m4a文件中,音頻流的編碼格式不變。

4. 將視頻中的音頻靜音,只保留視頻

相關(guān)命令:

ffmpeg -i pm.mp4 -an -vcodec copy output.mp4?

命令說明:

將文件pm.mp4的音頻流禁用掉(參數(shù)為:-an )。

然后將pm.mp4中的視頻流的數(shù)據(jù)封裝到output.mp4文件中,視頻流的編碼格式不變。

5. 從mp4文件中抽取視頻流導(dǎo)出為裸H264數(shù)據(jù):

相關(guān)命令:

ffmpeg -i pm.mp4 -an -vcodec copy -bsf:v h264_mp4toannexb output.h264

命令說明:

在指令中,我們舍棄了音頻數(shù)據(jù)(-an),視頻數(shù)據(jù)使用mp4toannexb這個bitstreasm filter來轉(zhuǎn)換為原始的H264數(shù)據(jù)。(注:同一編碼也會有不同的封裝格式)。

驗證播放:

可以使用ffplay命令進行嘗試播放,如果能播放成功,則說明生效。

6. 將視頻推送到流媒體服務(wù)器上:

ffmpeg -re -i pm.mp4 -acodec copy -vcodec copy -f flv rtmp://127.0.0.1/rh/mylive

命令說明:?

將mp4文件的音視頻數(shù)據(jù)的編碼格式不變,按照rtmp的方式,將視頻推送到流媒體服務(wù)器上。

7. 將流媒體服務(wù)器上的流dump到本地:

ffmpeg -i rtmp://127.0.0.1/rh/mylive -acodec copy -vcodec copy -f flv test.flv

命令說明:

將流媒體服務(wù)器的數(shù)據(jù),不進行轉(zhuǎn)碼,通過轉(zhuǎn)封裝的方式保存到本地。

8. 給視頻添加水印

ffmpeg -i pm.mp4 -i xxx.png -filter_complex "overlay=5:5" out.mp4

命令說明:

使用ffmpeg濾鏡功能,將對mp4添加水印。

9.?倒放音視頻

// 1.視頻倒放,無音頻 ffmpeg.exe -i inputfile.mp4 -filter_complex [0:v]reverse[v] -map [v] -preset superfast reversed.mp4 // 2.視頻倒放,音頻不變 ffmpeg.exe -i inputfile.mp4 -vf reverse reversed.mp4 // 3.音頻倒放,視頻不變 ffmpeg.exe -i inputfile.mp4 -map 0 -c:v copy -af "areverse" reversed_audio.mp4 // 4.音視頻同時倒放 ffmpeg.exe -i inputfile.mp4 -vf reverse -af areverse -preset superfast reversed.mp4

?

轉(zhuǎn)載于:https://www.cnblogs.com/renhui/p/9223969.html

總結(jié)

以上是生活随笔為你收集整理的FFmpeg命令行工具学习(三):媒体文件转换工具ffmpeg的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日本中文字幕在线观看视频 | 精品二区视频 | 国产伦理在线 | 中文字幕在线网 | 国产成人短视频在线观看 | 黄色片aa| 国产精品mv | av网站大全免费 | 国产原创av在线 | 91麻豆精品一二三区在线 | 在线看片你懂得 | 天天干天天色 | 精品无码人妻一区二区免费蜜桃 | 国产18p| 91在线免费播放 | 麻豆三级视频 | 91偷拍网| 婷婷伊人综合 | 老熟女毛茸茸 | 亚洲色图一区二区 | 色男人网| 最新色网址 | 色婷婷18 | 中国在线观看免费视频 | 激情草逼 | 小泽玛利亚一区二区三区 | 国产精品99999 | av有声小说一区二区三区 | 欧美三区 | 国产啊v在线观看 | 国产成人中文字幕 | 欧美一区二区三区在线观看 | 激情 亚洲 | 无码日韩精品视频 | 欧美精品一 | 色女人影院 | 国产日韩欧美二区 | 伊人网大香 | 阿v天堂网 | 亚洲系列在线 | 午夜影视大全 | 老鸭窝一区二区 | 成人免费毛片网 | 国产精品国产一区二区三区四区 | 麻豆传谋在线观看免费mv | 日本在线观看视频网站 | 午夜噜噜 | 毛片无码免费无码播放 | 久久精品99久久久 | 精品久久网站 | 日韩av一区二区在线播放 | 特淫毛片 | 国产一级一区 | 四虎免费看黄 | 毛片免费全部无码播放 | 激情久久一区 | 免费看黄色片视频 | 欧美人与性禽动交精品 | 超碰色人阁 | 久久久免费 | 男女互插视频 | 欧美日韩首页 | 亚洲成人1区 | 91精品久久久久久粉嫩 | 日本肉体xxxⅹ裸体交 | 成人深夜在线 | 久久久久久国产免费a片 | 婷婷亚洲五月 | 欧美乱妇15p| 国产欧美日韩三区 | 欧美精品一级二级三级 | 亚洲日本不卡 | 黄色香港三级三级三级 | 精品人妻一区二区乱码 | 最近中文字幕在线中文视频 | 一级网站在线观看 | 国产一区二区小视频 | 香蕉视频免费在线播放 | 欧美日韩小说 | 久久国产人妻一区二区免色戒电影 | 精品人妻伦一区二区三区久久 | 91亚洲精选 | 欧美精品一区二区三区四区 | www.youjizz.com视频 | 一区二区三区视频在线观看 | 亚洲97在线 | 啪啪啪毛片 | 日本a级免费 | 国产精品videossex国产高清 | 夜夜夜综合 | 91色呦呦| 日本h片在线观看 | 日韩av一二区 | 91chinese在线 | 中文字幕在线观看一区二区三区 | 明星双性精跪趴灌满h | 日本欧美久久久久免费播放网 | 国产成人在线观看免费网站 | 久久午夜无码鲁丝片午夜精品 |