Linux 下如何创建 M3U 播放列表
创始人
2024-03-02 00:27:18
0

简介:关于如何在Linux终端中根据乱序文件创建M3U播放列表实现循序播放的小建议。

Create M3U playlists in Linux Terminal

我是外国电视连续剧的粉丝,这些连续剧不太容易从 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
My Web Series S01E01 [Episode 1 Name] Multi 480p WEBRip x264 - xRG.mkv
My Web Series S01E02 [Episode 2 Name] Multi 480p WEBRip x264 - xRG.mkv
My Web Series S01E03 [Episode 3 Name] Multi 480p WEBRip x264 - xRG.mkv
My Web Series S01E04 [Episode 4 Name] Multi 480p WEBRip x264 - xRG.mkv
My Web Series S01E05 [Episode 5 Name] Multi 480p WEBRip x264 - xRG.mkv
My Web Series S01E06 [Episode 6 Name] Multi 480p WEBRip x264 - xRG.mkv
My Web Series S01E07 [Episode 7 Name] Multi 480p WEBRip x264 - xRG.mkv
My Web Series S01E08 [Episode 8 Name] Multi 480p WEBRip 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/

作者:Shirsh 选题:lujun9972 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

捕捉Youtube API...
要捕捉YouTube API中的"视频已在播放列表中"错误,可以使...
2025-01-12 18:01:16
不要让下一首歌曲从播放列表...
下面是一个示例代码,演示如何实现在播放列表中不移除上一首歌曲:cl...
2025-01-10 21:01:20
不需要解密的媒体播放列表受...
如果媒体播放列表(M3U8文件)不需要解密,并且受到"Ext-X-...
2025-01-10 14:01:13
Bug?:播放列表列表AP...
要解决API没有返回正确缩略图的问题,你可以尝试以下解决方法:检查...
2024-12-24 18:32:26
播放一个 m3u8 文件到...
要将一个m3u8文件播放到Exo Player,可以按照以下步骤进...
2024-12-23 09:31:59
播放列表项无法通过id=c...
解决方法可能涉及使用YouTube Data API来获取播放列表...
2024-12-23 08:31:52

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...