如何从终端生成 M3U 播放列表(http URL 格式)?

如何从终端生成 M3U 播放列表(http URL 格式)?

我想从终端为服务器上包含 mp3 文件的目录生成 M3U 播放列表。由于我想确保每个播放器都能够播放这些文件,因此我想在每个文件条目前面加上该目录的绝对 URL,如下所示:

http://server.com/dir/file1.mp3
http://server.com/dir/file2.mp3
...

因此不幸的是,仅仅这样做ls -1 *.mp3 > play.m3u是不够的。有没有一行代码可以实现这一点?

答案1

这是@chronitis 的回答,有一些改进:

  • 将文件名存储在变量 $playlist 中以供以后使用
  • 如果文件之前存在则删除
  • 将文件的完整路径写入播放列表

命令

playlist='play.m3u' ; if [ -f $playlist ]; then rm $playlist ; fi ; for f in *.mp3; do echo "$(pwd)/$f" >> "$playlist"; done

也可以在命令行上使用 mplayer 播放

mplayer -playlist play.m3u

答案2

我认为下面的一行代码应该有效:

for f in *.mp3; do echo "http://..../$f" >> play.m3u; done

答案3

您最初要求将每个条目创建为 Web URL 格式的行。除了用 http://... 替换本地路径外,您还需要用“%20”替换空格。所以,这行很长,但您可以这样做:

find /path/to/mp3s/ -name "*.mp3" | sed 's/ /%20/g' | sed 's|/path/to/mp3s/|http://www.server.com/serverpath/|g' > playlist.m3u

答案4

点赞此帖子问库本图,我尝试mkpl以下是创建者提出的一些示例:

  1. 为一个音乐专辑创建播放列表:

    cd myalbum
    mkpl myalbum.m3u
    
  2. 创建电影传奇的播放列表

    mkpl -d HarryPotter -f mkv HP_saga.m3u
    
  3. 使用我的音乐收藏创建随机播放列表

    mkpl -d "my_mp3_collection" "my_mp4_collection" -rs "my music.m3u"
    
  4. 使用我的音乐收藏创建随机播放列表并排除目录

    mkpl -d "my_mp3_collection" "my_mp4_collection" -r -s -e "my_mp3_collection/metallica" "my_mp3_collection/dk" "my music.m3u"
    
  5. 创建最多包含 15 首曲目的电视剧播放列表

    mkpl -d "my_series/GOT" -m 15 "got_first_15.m3u"
    
  6. 添加到我的音乐播放新歌曲并且不添加相同的文件

    mkpl -d "new_collection" -rsu "my music.m3u" -a
    
  7. 如果文件大于 10MB,则创建包含音乐和视频文件的播放列表

    mkpl -d "my_files" -r -z 10485760 "multimedia.m3u"
    
  8. 使用正则表达式创建仅包含第一首和第二首曲目的播放列表

    mkpl -d "my_mp3_collection" -r -p "^[12]|[012]{2}" "my music.m3u"
    
  9. 为一个音乐专辑创建播放列表并设置标题:

    cd myalbum
    mkpl myalbum.m3u -t "My Album"
    
  10. 创建播放列表并添加UTF-8编码

    mkpl -d "new_collection" -r "my music.m3u" -g "UTF-8"
    
  11. 创建播放列表并设置图像

    mkpl -d "new_collection" -r "my music.m3u" -I "new_collection/playlist_cover.jpg"
    
  12. 创建播放列表并添加远程文件链接

    mkpl -d "new_collection" -r "my music.m3u" -l http://192.168.1.123/mp3/song1.mp3, http://192.168.1.123/mp3/song2.mp4
    
  13. 创建播放列表并设置 Windows 反斜杠 () 文件夹分隔符(适用于 Windows 操作系统)

    mkpl -d "new_collection" -r "my music.m3u" -w
    

相关内容