创建目录中所有* .ts文件的m3u8播放列表(使用批处理脚本)

时间:2018-02-14 23:43:12

标签: batch-file directory hls playlist

我想在目录中创建300-400 * .ts段的HLS播放列表。

文件名不是连续数字(例如0005.ts,0014.ts,0024.ts,0035.ts等)。

我不太熟悉批处理文件的可能性,我只能发出以下命令:dir /o:n /b *.ts > playlist.m3u8,但结果显然不是播放列表,只是文件列表。

我需要在文件名之前和之间添加额外的行:

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10.000,
0005.ts
#EXTINF:10.000,
0014.ts
#EXTINF:10.000,
0025.ts

我感觉它会比1行命令复杂一点。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

这应该让你开始:

=VLOOKUP(A2,sheet1!A:B,2,0)

答案 1 :(得分:0)

使用上述方法后,这实际上对我有用:

@echo #EXTM3U > %1
@echo #EXT-X-PLAYLIST-TYPE:VOD >> %1
@echo #EXT-X-TARGETDURATION:%2 >> %1
@echo #EXT-X-VERSION:4 >> %1
@echo #EXT-X-MEDIA-SEQUENCE:0 >> %1

@for %%G in (*.ts) do @call :EmitFileEntries "%1" %2 %%G
@echo #EXT-X-ENDLIST >> %1
@exit /b 0

:EmitFileEntries
@echo #EXTINF:%2, >> %1
@echo %3 >> %1
@exit /b 0

我要求您输入.m3u8的名称和段持续时间。

使用/ u参数启动cmd。您可以从PowerShell命令提示符处执行此操作。