Linux 下如何建立 M3U 播放列表
簡介:關於如何在Linux終端中根據亂序檔案建立M3U播放列表實現循序播放的小建議。
我是外國電視連續劇的粉絲,這些連續劇不太容易從 DVD 或像 Netflix 這樣的流媒體上獲得。好在,您可以在 YouTube 上找到一些內容並從 YouTube 下載。
現在出現了一個問題。你的檔案可能不是按順序儲存的。在 GNU/Linux中,檔案不是按數字順序自然排序的,因此我必須建立 .m3u 播放列表,以便 MPV 視訊播放器可以按順序播放視訊而不是亂順進行播放。
同樣的,有時候表示第幾集的數字是在檔名中間或結尾的,像這樣 “My Web Series S01E01.mkv”。這裡的劇集資訊位於檔名的中間,“S01E01”告訴我們人類這是第一集,後面還有其它劇集。
因此我要做的事情就是在視訊墓中建立一個 .m3u 播放列表,並告訴 MPV 播放這個 .m3u 播放列表,MPV 自然會按順序播放這些視訊.
什麼是 M3U 檔案?
M3U 基本上就是個按特定順序包含檔名的文字檔案。當類似 MPV 或 VLC 這樣的播放器開啟 M3U 檔案時,它會嘗試按給定的順序播放指定檔案。
建立 M3U 來按順序播放音訊/視訊檔案
就我而言, 我使用了下面命令:
$/home/shirish/Videos/web-series-video/$ ls-1v|grep.mkv >/tmp/1.m3u&&mv/tmp/1.m3u.
然我們拆分一下看看每個部分表示什麼意思:
ls -1v
= 這就是用普通的 ls
來列出目錄中的內容. 其中 -1
表示每行顯示一個檔案。而 -v
表示根據文字中的數字(版本)進行自然排序。
| grep .mkv
= 基本上就是告訴 ls
尋找那些以 .mkv
結尾的檔案。它也可以是 .mp4
或其他任何你想要的媒體檔案格式。
通過在控制檯上執行命令來進行試執行通常是個好主意:
ls-1v|grep.mkv
MyWebSeries S01E01 [Episode1Name]Multi480pWEBRip x264 - xRG.mkv
MyWebSeries S01E02 [Episode2Name]Multi480pWEBRip
MyWebSeries S01E03 [Episode3Name]Multi480pWEBRip x264 - xRG.mkv
MyWebSeries S01E04 [Episode4Name]Multi480pWEBRip x264 - xRG.mkv
MyWebSeries S01E05 [Episode5Name]Multi480pWEBRip x264 - xRG.mkv
MyWebSeries S01E06 [Episode6Name]Multi480pWEBRip x264 - xRG.mkv
MyWebSeries S01E07 [Episode7Name]Multi480pWEBRip x264 - xRG.mkv
MyWebSeries S01E08 [Episode8Name]Multi480pWEBRip x264 - xRG.mkv
結果顯示我要做的是正確的。現在下一步就是讓輸出以 .m3u
播放列表的格式輸出。
ls-1v|grep.mkv >/tmp/web_playlist.m3u &&mv/tmp/web_playlist.m3u .
這就在當前目錄中建立了 .m3u 檔案。這個 .m3u 播放列表只不過是一個 .txt 檔案,其內容與上面相同,副檔名為 .m3u 而已。 你也可以手動編輯它,並按照想要的順序新增確切的檔名。
之後你只需要這樣做:
mpv web_playlist.m3u
一般來說,MPV 和播放列表的好處在於你不需要一次性全部看完。 您可以一次看任意長時間,然後在下一次檢視其餘部分。
我希望寫一些有關 MPV 的文章,以及如何製作在媒體檔案中嵌入字幕的 mkv 檔案,但這是將來的事情了。
注意: 這是開源軟體,不鼓勵盜版。
via: https://itsfoss.com/create-m3u-playlist-linux/