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 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 文件,但这是将来的事情了。
注意: 这是开源软件,不鼓励盗版。
- 如何实现在Linux下创建服务程序
- 如何在Linux下创建一个不可变更的文件
- 如何在Linux下创建与解压zip, tar, tar.gz和tar.bz2文件
- linux杂谈(八):如何手动的去创建一个linux用户
- Linux 下如何通过两个或多个输出设备播放声音
- 在Linux如何使用命令创建Maven的普通java项目
- LFCS 系列第一讲:如何在 Linux 上使用 GNU sed 等命令来创建、编辑和操作文件
- Linux中如何创建静态库和动态库
- Linux(Fedora 8)下如何播放mp3,wma
- Linux 设备驱动 如何自动创建设备文件
- Linux有问必答:如何通过命令行创建和设置一个MySQL用户
- Linux如何创建用户并配置FTP权限
- 如何在linux创建python虚拟环境
- 【技术原创】如何在Winform程序中播放视频及实现播放列表
- 7-2 如何为创建大量实例节省内存定义类的__slots__属性,它是用来声明实例属性名,sys.getsizeof字的列表
- 如何在Linux下创建与解压.zip .tar , tar.gz和tar.bz2文件
- 如何创建 linux 下的计划任务运行 php 文件?
- Linux环境下共享库(动态链接库)的简要介绍(如何创建共享库)
- 如何在Linux命令行中创建以及展示演示稿
- Linux: 如何创建NFS路径