国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

利用FFmpeg合并音頻和視頻

這篇具有很好參考價(jià)值的文章主要介紹了利用FFmpeg合并音頻和視頻。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、FFmpeg 多個(gè)音頻合并的2種方法

多個(gè)mp3文件合并成一個(gè)mp3文件

一種方法是連接到一起

ffmpeg64.exe -i "concat:123.mp3|124.mp3" -acodec copy output.mp3

解釋?zhuān)?i代表輸入?yún)?shù)

? ? contact:123.mp3|124.mp3代表著需要連接到一起的音頻文件

? ? ? ? ? ? ? ? ?-acodec copy ?output.mp3 重新編碼并復(fù)制到新文件中

另一種方法是混合到一起

ffmpeg64.exe -i 124.mp3 -i 123.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -f mp3 remix.mp3

解釋?zhuān)?-i代表輸入?yún)?shù)

? ? ? ? ? ?-filter_complex ?

? ? ? ? ? ? ? ? ?amix是混合多個(gè)音頻到單個(gè)音頻輸出

? ? ? ? ? ? ? ? ?inputs=2代表是2個(gè)音頻文件,如果更多則代表對(duì)應(yīng)數(shù)字

? ? ? ? ? ? ? ? ?duration 確定最終輸出文件的長(zhǎng)度

? ? ? ? ? ? ? ?longest(最長(zhǎng))|shortest(最短)|first(第一個(gè)文件)

? ? ? ? ? ? ? ? ? dropout_transition

The transition time, in seconds, for volume renormalization when an input stream ends. The default value is 2 seconds.

? ? ? ? ? ? ? ? ? -f mp3 ? 輸出文件格式

音頻文件截取指定時(shí)間部分

ffmpeg64.exe -i 124.mp3 -vn -acodec copy -ss 00:00:00 -t 00:01:32 output.mp3

解釋?zhuān)?-i代表輸入?yún)?shù)

? ? ? ? ? -acodec copy output.mp3 重新編碼并復(fù)制到新文件中

? ? ? ? ? ?-ss 開(kāi)始截取的時(shí)間點(diǎn)

? ? ? ? ? ?-t 截取音頻時(shí)間長(zhǎng)度

? ? ? ? ? ?

音頻文件格式轉(zhuǎn)換

ffmpeg64.exe -i null.ape -ar 44100 -ac 2 -ab 16k -vol 50 -f mp3 null.mp3

解釋?zhuān)?-i代表輸入?yún)?shù)

? ? ? ? ? ?-acodec aac(音頻編碼用AAC)?

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

? ? ? ? ? -ac ?設(shè)置音頻通道數(shù)

? ? ? ? ? -ab 設(shè)定聲音比特率

? ? ? ? ? ? ? ? ?-vol ?<百分比> 設(shè)定音量

二、FFmpeg合并視頻文件的4種方法
1.使用concat協(xié)議進(jìn)行視頻文件的合并

這種方式的適用場(chǎng)景是:視頻容器是MPEG-1, MPEG-2 PS或DV等可以直接進(jìn)行合并的。換句話(huà)說(shuō),其實(shí)可以直接用cat或者copy之類(lèi)的命令來(lái)對(duì)視頻直接進(jìn)行合并。很多文章介紹了這種方法,但適用性卻沒(méi)有提及。這并不是一個(gè)通用的方法。典型的命令示例如下:

使用concat demuxer進(jìn)行視頻文件的合并
這種合并方式的適用場(chǎng)景是:當(dāng)容器格式不支持文件層次的合并,而又不想(不需要)進(jìn)行再編碼的操作的時(shí)候。這種方式對(duì)源視頻同樣有同格式同性質(zhì)的要求。典型的命令示例如下:

其中,Cam01.txt 為包含了輸入文件的描述文件。
2.使用concat濾鏡(filter)進(jìn)行視頻文件的合并:

當(dāng)需要進(jìn)行任意程度的重新編解碼時(shí),官方推薦使用的方法即是用concat濾鏡來(lái)進(jìn)行視頻文件的合并處理。典型命令示例如下:

這段命令目的是將三段雙語(yǔ)格式的視頻合并至最終的一段視頻(output.mkv)。參數(shù)n=3說(shuō)明待合成的視頻有三段,v=1說(shuō)明視頻流為一,a=2說(shuō)明音頻流為二。 -map參數(shù)的詳細(xì)說(shuō)明可以從Filtergraph文檔中找到。
眾所周知,從某些視頻網(wǎng)站下載的視頻是分段的。比如新浪視頻每隔6分鐘分段,俗稱(chēng)“6分鐘詛咒”。

現(xiàn)在的任務(wù)是將這些視頻片段合并起來(lái),并且盡量無(wú)損。

方法一:FFmpeg concat 協(xié)議

對(duì)于 MPEG 格式的視頻,可以直接連接:

ffmpeg -i "concat:input1.mpg|input2.mpg|input3.mpg" -c copy output.mpg
對(duì)于非 MPEG 格式容器,但是是 MPEG 編碼器(H.264、DivX、XviD、MPEG4、MPEG2、AAC、MP2、MP3 等),可以包裝進(jìn) TS 格式的容器再合并。在新浪視頻,有很多視頻使用 H.264 編碼器,可以采用這個(gè)方法

ffmpeg -i input1.flv -c copy -bsf:v h264_mp4toannexb -f mpegts input1.ts

ffmpeg -i input2.flv -c copy -bsf:v h264_mp4toannexb -f mpegts input2.ts

ffmpeg -i input3.flv -c copy -bsf:v h264_mp4toannexb -f mpegts input3.ts

ffmpeg -i "concat:input1.ts|input2.ts|input3.ts" -c copy -bsf:a aac_adtstoasc -movflags +faststart output.mp4

保存 QuickTime/MP4 格式容器的時(shí)候,建議加上 -movflags +faststart。這樣分享文件給別人的時(shí)候可以邊下邊看。

方法二:FFmpeg concat 分離器

這種方法成功率很高,也是最好的,但是需要 FFmpeg 1.1 以上版本。先創(chuàng)建一個(gè)文本文件filelist.txt:

file 'input1.mkv'

file 'input2.mkv'

file 'input3.mkv'

然后:

ffmpeg -f concat -i filelist.txt -c copy output.mkv
注意:使用 FFmpeg concat 分離器時(shí),如果文件名有奇怪的字符,要在 filelist.txt 中轉(zhuǎn)義。

方法三:Mencoder 連接文件并重建索引

這種方法只對(duì)很少的視頻格式生效。幸運(yùn)的是,新浪視頻使用的 FLV 格式是可以這樣連接的。對(duì)于沒(méi)有使用 MPEG 編碼器的視頻(如 FLV1 編碼器),可以嘗試這種方法,或許能夠成功。

mencoder -forceidx -of lavf -oac copy -ovc copy -o output.flv input1.flv input2.flv input3.flv
方法四:使用 FFmpeg concat 過(guò)濾器重新編碼(有損)

語(yǔ)法有點(diǎn)復(fù)雜,但是其實(shí)不難。這個(gè)方法可以合并不同編碼器的視頻片段,也可以作為其他方法失效的后備措施。

ffmpeg -i input1.mp4 -i input2.webm -i input3.avi -filter_complex '[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] concat=n=3:v=1:a=1 [v] [a]' -map '[v]' -map '[a]' <編碼器選項(xiàng)> output.mkv
如你所見(jiàn),上面的命令合并了三種不同格式的文件,F(xiàn)Fmpeg concat 過(guò)濾器會(huì)重新編碼它們。注意這是有損壓縮。

[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] 分別表示第一個(gè)輸入文件的視頻、音頻、第二個(gè)輸入文件的視頻、音頻、第三個(gè)輸入文件的視頻、音頻。concat=n=3:v=1:a=1 表示有三個(gè)輸入文件,輸出一條視頻流和一條音頻流。[v] [a] 就是得到的視頻流和音頻流的名字,注意在 bash 等 shell 中需要用引號(hào),防止通配符擴(kuò)展。

提示

以上三種方法,在可能的情況下,最好使用第二種。第一種次之,第三種更次。第四種是后備方案,盡量避免。

規(guī)格不同的視頻合并后可能會(huì)有無(wú)法預(yù)測(cè)的結(jié)果。

有些媒體需要先分離視頻和音頻,合并完成后再封裝回去。

對(duì)于 Packed B-Frames 的視頻,如果封裝成 MKV 格式的時(shí)候提示 Can't write packet with unknown timestamp,嘗試在 FFmpeg 命令的 ffmpeg 后面加上 -fflags +genpts
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-846101.html

到了這里,關(guān)于利用FFmpeg合并音頻和視頻的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【FFmpeg】音視頻錄制 ① ( 查詢(xún)系統(tǒng)中 ffmpeg 可錄制的音視頻輸入設(shè)備 | 使用 ffmpeg 命令錄制音視頻數(shù)據(jù) | 錄制視頻數(shù)據(jù)命令 |錄制音頻數(shù)據(jù)| 同時(shí)錄制音頻和視頻數(shù)據(jù)命令 )

    【FFmpeg】音視頻錄制 ① ( 查詢(xún)系統(tǒng)中 ffmpeg 可錄制的音視頻輸入設(shè)備 | 使用 ffmpeg 命令錄制音視頻數(shù)據(jù) | 錄制視頻數(shù)據(jù)命令 |錄制音頻數(shù)據(jù)| 同時(shí)錄制音頻和視頻數(shù)據(jù)命令 )

    在 Windows 系統(tǒng)中 , 使用 ffmpeg 命令 錄制 音視頻 , 需要先獲取 系統(tǒng)的 音視頻設(shè)備 信息 , 錄制 音視頻 本質(zhì)上是從 系統(tǒng)音視頻設(shè)備 中獲取數(shù)據(jù) ; 執(zhí)行 命令 , 可以獲取 系統(tǒng)中 ffmpeg 可用的 DirectShow 音視頻輸入設(shè)備 ; 命令參數(shù)解析 : -list_devices true : 列出所有 ffmpeg 的 指定類(lèi)型的可

    2024年04月25日
    瀏覽(31)
  • FFmpeg從視頻中提取音頻

    FFmpeg從視頻中提取音頻

    參考博客 ffmpeg Documentation FFmpeg最全教程 FFmpeg 提取視頻的音頻 FFMPEG 提取音頻 ffmpeg 給音頻添加封面,ffmpeg對(duì)音視頻metadata相關(guān)操作 查看 使用 FFprobe ffprobe 是一個(gè)多媒體流分析工具。它從多媒體流中收集信息,并且以人類(lèi)和機(jī)器可讀的形式打印出來(lái)。它可以用來(lái)檢測(cè)多媒體流的

    2023年04月08日
    瀏覽(31)
  • ffmpeg@音視頻工具@音視頻合并

    FFmpeg中文網(wǎng) (github.net.cn) FFmpeg 是一款強(qiáng)大的開(kāi)源跨平臺(tái)音視頻處理工具集,它包含了一系列命令行工具以及用于音頻和視頻編碼解碼、格式轉(zhuǎn)換、抓取、流化等功能的庫(kù)。FFmpeg 支持多種視頻、音頻格式和編解碼器,能夠進(jìn)行音視頻的壓縮、封裝、轉(zhuǎn)碼、分割、合并、過(guò)濾、抓

    2024年03月17日
    瀏覽(29)
  • 使用ffmpeg合并視頻遇到的坑

    使用ffmpeg合并視頻遇到的坑

    下面以L(fǎng)inux環(huán)境介紹為主 1.ffmpeg可執(zhí)行命令不同的環(huán)境是不同的,Linux在執(zhí)行命令前還需要授權(quán)。 2.合并視頻命令: 坑一:其中第一個(gè)花括號(hào)替換的是可執(zhí)行命令所在的絕對(duì)路徑,這里必須要使用ffmpeg的絕對(duì)路徑,因?yàn)榘褢?yīng)用打成jar包是無(wú)法獲取到絕對(duì)路徑的,具體可參考:

    2024年02月16日
    瀏覽(20)
  • FFMPEG常用命令 音視頻合并

    FFMPEG常用命令 音視頻合并

    ? ? ? ? 目錄 一、音頻合并 1.獲取音頻時(shí)長(zhǎng) 2.合并兩段音頻 3.合并音頻插入空白 二、視頻加背景圖 三、音視頻合成 1.保留視頻聲音 2.不保留視頻聲音 四、合并視頻 ????????本文將用幾個(gè)實(shí)例,介紹ffmpeg命令的綜合使用,主要涉及音頻處理、視頻處理和音視頻合成。 參數(shù)

    2024年02月10日
    瀏覽(22)
  • ffmpeg——同時(shí)剪輯多個(gè)視頻并合并

    ffmpeg——同時(shí)剪輯多個(gè)視頻并合并

    基本語(yǔ)法 所用的ffmpeg的語(yǔ)法: 1.剪輯單個(gè)視頻 ffmpeg -i [2021-11-24-1-2.mp4] -vcodec copy -acodec copy -ss [00:00:00] -to [00:00:05] [output/p3.mp4][ ]中三個(gè)參數(shù)依次為:剪輯視頻源文件;第一個(gè)時(shí)間為剪輯的起始時(shí)間;第二個(gè)時(shí)間為視頻持續(xù)的時(shí)間長(zhǎng)度; 剪輯好的文件名 2.合并視頻片段 ffmpeg -

    2024年02月16日
    瀏覽(15)
  • FFmpeg代碼實(shí)現(xiàn)抽取音頻、視頻數(shù)據(jù)

    FFmpeg代碼實(shí)現(xiàn)抽取音頻、視頻數(shù)據(jù)

    今天開(kāi)始擼代碼,首先使用FFmpeg的API抽取一個(gè)MP4文件的音頻數(shù)據(jù)。 應(yīng)該是第一次在Mac上做C/C++開(kāi)發(fā),糾結(jié)過(guò)后選擇使用CLion 開(kāi)發(fā)。CLion是 JetBrains下專(zhuān)門(mén)用來(lái)開(kāi)發(fā)C/C++的IDE,已經(jīng)用習(xí)慣了Android studio和IntelliJ IDEA ,所以CLion用起來(lái)還是很順手的。 在新建一個(gè)C項(xiàng)目后,需要把FFmpe

    2024年02月08日
    瀏覽(19)
  • 如何使用 ffmpeg 對(duì)視頻進(jìn)行切分、合并

    1. 按照視頻時(shí)間點(diǎn)進(jìn)行截取, 起止點(diǎn):00:00:06 ~ 00:20:36 ffmpeg -ss 00:00:06 -to 00:20:36 -accurate_seek -i \\\"input.mp4\\\" -avoid_negative_ts 1 -c copy \\\"ouput.mp4\\\" -y 2.? 分離視頻和音頻 ffmpeg -i \\\"input.mp4\\\" -vcodec copy -an \\\"out-vod.mp4\\\" ffmpeg -i \\\"input.mp4\\\" -acodec copy -vn \\\"out-sound.m4a\\\" ?3. 去除水印(指定區(qū)域模糊化,以

    2024年02月09日
    瀏覽(20)
  • ffmpeg合并多張圖片為視頻,加轉(zhuǎn)場(chǎng)

    ffmpeg合并多張圖片為視頻,加轉(zhuǎn)場(chǎng)

    轉(zhuǎn)場(chǎng)特效,可以在:https://trac.ffmpeg.org/wiki/Xfade#MP4output 查看 -stream_loop 輸入流循環(huán)的次數(shù),0 表示無(wú)循環(huán),-1 表示無(wú)限循環(huán),即音樂(lè)循環(huán)播放。 -acodec aac 設(shè)置音頻編解碼為 acc 模式 -map “[v]” 將合成的視頻輸入流 v 指定為輸出文件的源 -map “5:a” 將第6個(gè)文件作為視頻音頻文件

    2024年02月16日
    瀏覽(17)
  • 嗶哩嗶哩視頻合并 B站緩存視頻合并 安卓版 音視頻合并 基于ffmpeg

    嗶哩嗶哩視頻合并 B站緩存視頻合并 安卓版 音視頻合并 基于ffmpeg

    此軟件是為了幫助網(wǎng)友合并嗶哩嗶哩緩存視頻,Android上將bilibili緩存視頻合并導(dǎo)出為mp4,你可以將它理解為一個(gè)專(zhuān)用的格式工廠(chǎng),并不涉及破解相關(guān)內(nèi)容,僅僅用于學(xué)習(xí)技術(shù)交流,嚴(yán)禁用于商業(yè)用途,如有侵權(quán)請(qǐng)聯(lián)系我刪檔,對(duì)你帶來(lái)困惑和不便我深感抱歉。 合并(導(dǎo)出)B站緩

    2024年02月02日
    瀏覽(30)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包