BDMV 是藍(lán)光碟使用的格式。這種格式?jīng)]有辦法使用播放軟件播放,必須要用硬盤(pán)播放器,也就是專門(mén)的設(shè)備。但是最經(jīng)典的 ffmpeg 可以將其轉(zhuǎn)換成其他格式,并且保持相同的碼率和清晰度,這樣就可以很方便的查看了。
本文使用 macOS 進(jìn)行演示,但是會(huì)介紹如何一些其他平臺(tái)的方法和操作。
一般 BDMV 下載格式是一個(gè) ISO,加載打開(kāi)之后內(nèi)容大致如下:
如果你使用的是終端,那么(如果你下下來(lái)的 ISO 加載后不叫“BDROM”,那么需要進(jìn)行修改的):
## macOS
$ cd /Volumes/BDROM/
## Linux
$ cd /dev/BDROM/
## WSL
$ cd /mnt/BDROM/
## Windows(PowerShell)
$ cd BDROM:\
如果你看過(guò) DVD 或者藍(lán)光碟,會(huì)知道光盤(pán)播放的時(shí)候并不是插進(jìn)去就直接開(kāi)始播放了,而是會(huì)有選擇界面,以及花絮、音效、廣告等內(nèi)容(不過(guò)零幾年那時(shí)候我看盜版 DVD 有一些是直接開(kāi)始播放了),如果是電視劇的話還會(huì)有每集的選擇界面。所以這時(shí)候我們要找到電影的m2ts
文件來(lái)進(jìn)行轉(zhuǎn)換,電視劇的話則會(huì)是多個(gè)m2ts
文件。如果你需要花絮等內(nèi)容還請(qǐng)按照后面的方法進(jìn)行轉(zhuǎn)換。
上圖中的 BDMV 其實(shí)是一個(gè)包,右鍵選擇“顯示包內(nèi)容”即可查看,如下:
然后進(jìn)入“STREAM”文件夾。
上面的操作在終端中如下,不同平臺(tái)都一樣:
## macOS
## Linux
## WSL
## Windows(PowerShell)
$ cd BDMV/STREAM/
然后顯示內(nèi)容如下:
一般來(lái)說(shuō)第一個(gè)就是我們需要的m2ts
文件,看文件大小也能看出來(lái)。一般是00000.m2ts
,不過(guò)也有可能是00001.m2ts
,比如說(shuō)上圖。
這里需要強(qiáng)調(diào)一點(diǎn),如果是 macOS 用戶千萬(wàn)別直接空格檢查這些文件,因?yàn)殡娪暗?code>m2ts如果直接查看是一段雜音視頻,大晚上或者安靜的時(shí)候很容易嚇一跳。建議看文件大小即可。如下:
可以看到就第一個(gè)最大,占了大部分空間。
如果是電視劇的話會(huì)有多個(gè)差不多大的文件,那么最好使用ffprobe
來(lái)看看這個(gè)文件:
Input #0, mpegts, from '/Volumes/BDROM/BDMV/STREAM/00001.m2ts':
Duration: 01:59:09.15, start: 1.996000, bitrate: 42645 kb/s
Program 1
Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn
Stream #0:1[0x1100]: Audio: pcm_bluray (HDMV / 0x564D4448), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s
Stream #0:2[0x1101]: Audio: dts (DTS-HD MA) ([134][0][0][0] / 0x0086), 48000 Hz, 5.1(side), s32p (24 bit)
Stream #0:3[0x1102]: Audio: dts (DTS) ([130][0][0][0] / 0x0082), 48000 Hz, 5.1(side), fltp, 768 kb/s
Stream #0:4[0x1103]: Audio: dts (DTS) ([130][0][0][0] / 0x0082), 48000 Hz, 5.1(side), fltp, 768 kb/s
Stream #0:5[0x1104]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:6[0x1105]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:7[0x1106]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:8[0x1107]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:9[0x1108]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:10[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:11[0x1201]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:12[0x1202]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:13[0x1203]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:14[0x1204]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:15[0x1205]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:16[0x1206]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:17[0x1207]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
可以看到這個(gè)電影的時(shí)長(zhǎng)、平均碼率等信息,最重要的是包含的各種視頻流、音頻流、字幕文件信息。本文只需要知道音頻文件是什么編碼,然后進(jìn)行選擇,不然會(huì)導(dǎo)致初始化流的時(shí)候出現(xiàn)問(wèn)題,從上面可以看到是flac
格式(藍(lán)光電影一般都是這個(gè)格式)。如果你想打包一個(gè)特定語(yǔ)言和字幕的成品,那么就需要使用這些信息了,本文就不做贅述了。
知道了位置在哪,就可以進(jìn)行轉(zhuǎn)換了。下面的命令還會(huì)包含源文件所有的音軌和字幕,并且在當(dāng)前目錄(并不是 ISO 中)生成一個(gè)output.mkv
文件:
## macOS
$ ffmpeg -i /Volumes/BDROM/BDMV/STREAM/00001.m2ts -map 0 -c copy -c:a flac output.mkv
其他平臺(tái)用戶根據(jù)之前的介紹修改文件路徑,用 Windows CMD 的用戶還請(qǐng)自己手動(dòng)將/
變換成\
,PowerShell 用戶在最后按下 Tab 鍵可以自動(dòng)轉(zhuǎn)換(其實(shí) PowerShell 不轉(zhuǎn)也行)。此外,輸出文件的路徑也可以根據(jù)需要進(jìn)行修改。
上面這條 ffmpeg 命令的選項(xiàng)含義是:
-
-i /Volumes/BDROM/BDMV/STREAM/00001.m2ts
表示輸入文件為/Volumes/BDROM/BDMV/STREAM/00001.m2ts
; -
-map 0
選中輸入文件的所有流,如果你想選擇所有的音頻流,那么使用-map 0:a
,如果要進(jìn)行特殊設(shè)置和操作,那么請(qǐng)查看官方文檔的介紹:Selecting streams with the -map option。 -
-c copy
會(huì)拷貝原文件所有的信息,比如碼率,這樣就可以保證生成文件和源文件碼率等信息相同了,也就是保證清晰度,但是這種操作可能會(huì)導(dǎo)致視頻出現(xiàn)抽搐的情況。某些視頻在 VLC 下播放正常,但是自帶的播放器就抽搐,這種是因?yàn)榫幋a器問(wèn)題,修改一下編碼器再次進(jìn)行轉(zhuǎn)碼即可,但是這樣就慢了很多,不過(guò)好在出現(xiàn)的情況不多。 -
-c:a flac
表示音頻編碼器為flac
,不設(shè)置這個(gè)選項(xiàng)會(huì)導(dǎo)致初始化流的時(shí)候出現(xiàn)問(wèn)題。 -
output.mkv
表示輸出文件名為output
,格式是 MKV。
輸出格式推薦 MKV,因?yàn)?MKV 其實(shí)是一個(gè)視頻容器格式,能包含多個(gè)媒體文件,比如字幕、音軌,并且在電腦上也能找到不少播放器。雖然 MP4 格式也可以存放多軌字幕和音頻,但是很困難。這也是為什么你下轉(zhuǎn)換好的藍(lán)光文件大多也是 MKV 文件,MKV 主打的就是存儲(chǔ)藍(lán)光或者 DVD 的電影。
如果你需要 MP4 文件,我也不建議你直接轉(zhuǎn)成 MP4,如果空間允許,先轉(zhuǎn)成 MKV 再轉(zhuǎn)成 MP4 也比較方便,MKV 轉(zhuǎn) MP4 的速度也非???,基本上是 100x 往上了。不論是那種轉(zhuǎn)換流程,如果要轉(zhuǎn)換成 MP4 文件,那么建議選擇好需要的軟字幕和音軌,或者更簡(jiǎn)單一些,把上面命令中的-map 0
刪除即可,就可以將第一個(gè)音軌和軟字幕帶到 MP4 文件里。
雖然藍(lán)光文件的碼率很高,1080P 都有 40000-60000 kb/s(一般流媒體 1080P 是 5000-8000),如果是 4K 的話會(huì)更高,但是轉(zhuǎn)換速度還挺快的,現(xiàn)在的 CPU 應(yīng)該都能做到 5-30x,甚至更高的速度。并且利用率和內(nèi)存占用不高,掛在后臺(tái)轉(zhuǎn)碼也行。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-498896.html
希望能幫到有需要的人~文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-498896.html
到了這里,關(guān)于如何使用ffmpeg將BDMV(m2ts)轉(zhuǎn)換成MKV、MP4等其他格式的文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!