這都可以avi轉(zhuǎn)換(AVI轉(zhuǎn)換成mp4格式)
Easy-Tech#021#在本篇文章中,轉(zhuǎn)轉(zhuǎn)換我們將學(xué)習(xí)如何使用FFmpeg把視頻從AVI格式轉(zhuǎn)換為MP4格式(在重新/不重新編碼AVI文件的轉(zhuǎn)轉(zhuǎn)換情況下)作為紅利,我們還將學(xué)習(xí)FFmpeg在Ubuntu、轉(zhuǎn)轉(zhuǎn)換Mac和Win
換(AVI轉(zhuǎn)換成mp4格式).jpg)
Easy-Tech#021#在本篇文章中,轉(zhuǎn)轉(zhuǎn)換我們將學(xué)習(xí)如何使用FFmpeg把視頻從AVI格式轉(zhuǎn)換為MP4格式(在重新/不重新編碼AVI文件的轉(zhuǎn)轉(zhuǎn)換情況下)作為紅利,我們還將學(xué)習(xí)FFmpeg在Ubuntu、轉(zhuǎn)轉(zhuǎn)換Mac和Windows上的轉(zhuǎn)轉(zhuǎn)換安裝,并使用FFmpeg將AVI無損轉(zhuǎn)換為MP4。轉(zhuǎn)轉(zhuǎn)換
視頻愛好者在網(wǎng)上最常問的轉(zhuǎn)轉(zhuǎn)換問題就是:“如何將AVI轉(zhuǎn)換為MP4?”盡管問題似乎很唬人,但使用FFmpeg將AVI轉(zhuǎn)換為MP4卻非常簡單明了很多人也許不知道,轉(zhuǎn)轉(zhuǎn)換FFmpeg是轉(zhuǎn)轉(zhuǎn)換世界上最重要、最流行的轉(zhuǎn)轉(zhuǎn)換視頻處理和壓縮庫之一。
很多最高效的轉(zhuǎn)轉(zhuǎn)換商業(yè)編碼器都有采用FFmpeg,還有一些項目,轉(zhuǎn)轉(zhuǎn)換比如Handbrake、轉(zhuǎn)轉(zhuǎn)換VLC播放器等軟件都獲得了FFmpeg的支持在本文中,讓我們一起來學(xué)習(xí)格式轉(zhuǎn)換處理,并對Codecs、Formats有一個基本的了解,然后再來看下格式轉(zhuǎn)換過程中是否需要重新編碼視頻。
廢話少說,上命令好,如果你現(xiàn)在很著急將AV1轉(zhuǎn)換為MP4,那么只要運行下面這行FFmpeg命令,這個方法對大部分用例都有效ffmpeg -i input_filename.avi -c:v copy -c:a copy -y output_filename.mp4。
在該命令行中,你提供了:AVI視頻作為輸入明確輸出MP4的文件名讓FFmpeg直接將視頻和音頻(命令為:-c:v copy -c:a copy)從AVI容器格式復(fù)制到MP4容器格式注意: 我假設(shè)你手上已經(jīng)有了想要轉(zhuǎn)換格式的AVI文件。
如果沒有,你可以通過在網(wǎng)上搜索“avi video samples”獲取,或者在這里下載(這是我在FFmpeg系列文章中將用到的):https://file-examples-com.github.io/uploads/2018/04/file_example_AVI_1280_1_5MG.avi。
什么是Codecs和Formats?你需要知道的最重要的事就是Formats和Codecs之間的區(qū)別簡單來說,編解碼器(Codecs) 獲取原始音頻和視頻后進(jìn)行壓縮,壓縮到一個合理的空間大小這種壓縮是在考慮音頻和視頻質(zhì)量的前提下完成的。
更多關(guān)于視頻壓縮的介紹,請閱讀:視頻編碼完全指南音頻和視頻壓縮過程的輸出被打包進(jìn)一個被稱為 容器(Formats) 的格式中,而打開容器以及讀取音頻和視頻的方式也有明確的規(guī)則和指南容器有不同的格式,如 MP4、AVI、WebM、MKV等。
當(dāng)FFmpeg轉(zhuǎn)換格式時發(fā)生了什么?當(dāng)你將AVI文件交給FFmpeg并告訴它生成一個不帶任何參數(shù)的MP4文件,它將解復(fù)用輸入文件,提取原始視頻進(jìn)行重新編碼,然后將它放入MP4容器格式中,最后返還給你輸出文件。
這里需要注意的關(guān)鍵點是:除非你告知FFmpeg不要重新編碼,否則它將重新編碼內(nèi)容 無論如何一定要記住這一點!重新編碼是默認(rèn)設(shè)置這也是在文章開頭我們指示FFmpeg只復(fù)制音頻和視頻的原因現(xiàn)在讓我們嘗試使用FFmpeg通過重新編碼將AVI文件轉(zhuǎn)換為MP4。
在此之前,我們先來檢查一下AVI文件,研究一下其中的參數(shù)如何?要研究參數(shù),我們可以使用ffprobe ,它是FFmpeg工程中的一個工具,對于分析視頻文件來說非常有用請運行下面的命令:ffprobe -i file_example_AVI_1280_1_5MG.avi。
然后你得到:Input #0, avi, from file_example_AVI_1280_1_5MG.avi: Metadata: encoder : Lavf57.19.100 Duration: 00:00:30.61, start: 0.000000, bitrate: 387 kb/s Stream #0:0: Video: h264 (High) (H264 / 0x34363248), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 234 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc Stream #0:1: Audio: aac (LC) ([255][0][0][0] / 0x00FF), 48000 Hz, stereo, fltp, 139 kb/s
上面的代碼清楚地顯示了兩個媒體流——視頻 #0:0 和音頻 #0:1視頻分辨率是1280x720、30fps,視頻編碼方式為High Profile的H.264/AVC,其碼率為234 kbps音頻使用aac ,其碼率為139 kbps,采樣率為48 KHz。
現(xiàn)在,讓我們使用FFmpeg將AVI視頻轉(zhuǎn)換為MP4,但是我們要使用VP9而非H.264/AVC下面是實現(xiàn)轉(zhuǎn)換的命令行:ffmpeg -i file_example_AVI_1280_1_5MG.avi -c:a copy -c:v vp9 -b:v 100K outputVP9.mp4。
這里,你用FFmpeg:使用-c:a copy 參數(shù)原樣復(fù)制音頻(不重新編碼音頻)使用VP9編碼,碼率設(shè)置為100kbps(-c:v vp9 -b:v 100K )輸出名為outputVP9.mp4的MP4文件。
下面的代碼就是運行上述命令時控制臺的輸出:Input #0, avi, from file_example_AVI_1280_1_5MG.avi: Metadata: encoder : Lavf57.19.100 Duration: 00:00:30.61, start: 0.000000, bitrate: 387 kb/s Stream #0:0: Video: h264 (High) (H264 / 0x34363248), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 234 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc Stream #0:1: Audio: aac (LC) ([255][0][0][0] / 0x00FF), 48000 Hz, stereo, fltp, 139 kb/s Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> vp9 (libvpx-vp9)) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help [libvpx-vp9 @ 0x7f8fcb00f600] v1.8.2 Output #0, mp4, to outputVP9.mp4: Metadata: encoder : Lavf58.45.100 Stream #0:0: Video: vp9 (libvpx-vp9) (vp09 / 0x39307076), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 100 kb/s, 30 fps, 15360 tbn, 30 tbc Metadata: encoder : Lavc58.91.100 libvpx-vp9 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 139 kb/s frame= 903 fps=1.2 q=0.0 Lsize= 959kB time=00:00:30.54 bitrate= 257.2kbits/s dup=2 drop=0 speed=0.0414x video:421kB audio:521kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.800530%
如果你認(rèn)真讀取控制臺輸出,你就能發(fā)現(xiàn)FFmpeg使用了libvpx-vp9重新編碼了視頻流,碼率是100kbps像以往一樣,你可以通過ffprobe確認(rèn)之前FFmpeg成功地輸出了MP4,并且使用的視頻編碼是VP9。
ffprobe -i outputVP9.mp4控制臺輸出可以確認(rèn):使用VP9編碼,碼率為114 kbps(接近100kbps)Input #0, mov,mp4,m4a,3gp,3g2,mj2, from outputVP9.mp4: Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2mp41 encoder : Lavf58.45.100 Duration: 00:00:30.57, start: 0.000000, bitrate: 257 kb/s Stream #0:0(und): Video: vp9 (Profile 0) (vp09 / 0x39307076), yuv420p(tv, progressive), 1280x720, 114 kb/s, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 15360 tbn, 15360 tbc (default) Metadata: handler_name : VideoHandler Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 137 kb/s (default) Metadata: handler_name : SoundHandler。
major-brand是isom,它告訴我們該文件符合ISO/IEC基礎(chǔ)媒體格式(ISO/IEC 14496-12 – MPEG-4 Part 12),即MP4轉(zhuǎn)換過程中重新編碼是好是壞?這要看你是想直接復(fù)制視頻并只改變?nèi)萜鞲袷剑◤腁VI轉(zhuǎn)換為MP4)還是確實想要重新編碼視頻并更改視頻質(zhì)量、大小等。
如果我不重新編碼(從AVI到MP4的無損轉(zhuǎn)換)會發(fā)生什么?這種情況下,你要做的非常簡單!直接運行下面的命令行就可以了ffmpeg -i input_filename.avi -c:v copy -c:a copy -y output_filename.mp4。
你向FFmpeg 傳遞的信息如下:AVI視頻是輸入文件確定輸出的MP4的文件名告知FFmpeg直接將視頻和音頻(命令為:-c:v copy -c:a copy )從AVI容器格式轉(zhuǎn)到MP4容器格式順便說下,上面的操作在我的Mac上只花了0.3秒。
這是因為FFmpeg只是復(fù)制AVI文件中的視頻和音頻,并未重新編碼,并將它們放入MP4容器因為視頻并沒有重新編碼,所以你可以認(rèn)為這種從AVI到MP4的轉(zhuǎn)換是無損轉(zhuǎn)換然而,如果我是你,我會在距離我三米之內(nèi)的視頻壓縮工程師面前謹(jǐn)慎使用無損視頻壓縮這個詞。
要是你這么做了,請一定給他買杯咖啡或者阿司匹林壓壓驚 就到這里了,現(xiàn)在你已經(jīng)了解了如何使用FFmpeg將AVI轉(zhuǎn)換為MP4很容易,對不對?紅利:FFmpeg安裝指南1、如何在Windows上安裝FFmpeg?。
如果你不是程序員,且無法使用編碼工具,那么在Windows上編譯和安裝FFmpeg對你來說將是一個復(fù)雜的過程無論如何,你都可以前往_OTTVerse’s FFmpeg builds_ (https://ottverse.com/ffmpeg-builds/)下載已編譯的.exeFFmpeg文件使用。
我建議你下載靜態(tài)版本(除非你正計劃使用FFmpeg開發(fā)軟件并需要共享庫)2、如何在MacOS安裝FFmpeg?在Mac上,你可以使用brew指令安裝FFmpeg,brew是Mac系統(tǒng)中一個非常好用的包管理器。
下面是在Mac上安裝FFmpeg的命令行(在Cataline v 10.15.5上測試和使用):brew install ffmpeg3、如何在Ubuntu上安裝FFmpeg?在Ubuntu上,你可以通過多種方式安裝 FFmpeg:使用apt包管理器或從源代碼編譯。
如果你想要通過apt快速安裝FFmpeg,可以使用下面的命令行:sudo apt install ffmpeg如果你想從源代碼編譯FFmpeg,可以使用 FFmpeg 官方安裝指南中提到的步驟:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu;
或者你也可以參考我寫的這篇文章:https://ottverse.com/vmaf-ffmpeg-ubuntu-compilation-installation-usage-guide/,我已經(jīng)描述了FFmpeg安裝過程(包括缺少步驟)。
致謝:本文已獲得作者Krishna Rao Vijayanagar授權(quán)翻譯和發(fā)布,特此感謝原文鏈接:https://ottverse.com/ffmpeg-convert-avi-to-mp4-lossless/。

免責(zé)聲明:本站所有信息均搜集自互聯(lián)網(wǎng),并不代表本站觀點,本站不對其真實合法性負(fù)責(zé)。如有信息侵犯了您的權(quán)益,請告知,本站將立刻處理。聯(lián)系QQ:1640731186
本文轉(zhuǎn)載:明星視野中心 http://m.17547.cn/f/54_379.html
特別聲明:本文僅供交流學(xué)習(xí) , 版權(quán)歸屬原作者,部分文章推送時未能及時與原作者取得聯(lián)系,并不代表本站贊同其觀點和對其真實性負(fù)責(zé),也不構(gòu)成任何其他建議。若本文來源標(biāo)注錯誤或無意侵犯到您的知識產(chǎn)權(quán)作品或損害了您的利益,我們會及時修改或刪除。
相關(guān)文章
文章評論
來說兩句吧...共有81條評論
- 站長推薦
- 點擊排行
站長推薦
點擊排行
公職人員出差期間利用雙休日自費在當(dāng)?shù)鼐包c旅游,算不算違紀(jì)?- 1廣州隊運營董事:崔永熙焦泊喬的價格對所有球隊都是統(tǒng)一的
- 1漢陰:開展“薪火相傳守初心,廉韻清風(fēng)踐使命”警示教育主題黨日活動
- 1Apink的孫娜恩為什么越來越丑 孫娜恩整容鼻子前后對比照片
- 1灣韻丨特區(qū)的青春歲月
- 1教育部首次開展高校領(lǐng)域突出問題系統(tǒng)整治丨時政周報
- 1出行注意!汕梅高速畬江互通興寧往梅州方向主線封閉施工實施交通管制
- 1馮紹峰林允分手是真的嗎 馮紹峰林允為什么分手
- 1馮紹峰林允分手是真的嗎 馮紹峰林允為什么分手
- 1她打破17個月“冠軍荒”,他25分鐘奪首冠!恭喜!
- 1蘋果全球溫室氣體排放量較2015年減少超60%
標(biāo)簽云
猜你喜歡
- 環(huán)球融創(chuàng)減持西雙版納環(huán)球世紀(jì)會展至30% 中融信托入股
- 海口:全市將停課、停工、停運、停航、停園、停業(yè)
- 王曼昱、王楚欽分獲女單男單冠軍
- 漢陰:開展“薪火相傳守初心,廉韻清風(fēng)踐使命”警示教育主題黨日活動
- 新型業(yè)務(wù)衛(wèi)星“電力工程號A星”長春出征 具有智能特點
- 蛇男探班易烊千璽怎么回事?蛇男是誰真名叫什么為什么探班千璽
- 蘋果全球溫室氣體排放量較2015年減少超60%
- Ashley愛室麗家居再度攜手中網(wǎng),閃耀賽場內(nèi)外
- 紅軍梯隊奪得維吉爾杯冠軍,范迪克:我太高興了!為他們感到驕傲
- 卡普空稱《鬼武者》新作啟用宮本武藏是考慮全球玩家




