【发布时间】:2018-10-08 01:34:42
【问题描述】:
您好,我使用以下命令将 m3u8 段文件复制到单个 mp4 文件:
我在 c# Process 类上运行此命令。
-y -i "D:\OtherProjects\ConvertProj\video\2018\4\1\m3u8\200p\out.m3u8"
-y -i "D:\OtherProjects\ConvertProj\video\2018\4\1\m3u8\360p\out.m3u8"
-y -i "D:\OtherProjects\ConvertProj\video\2018\4\1\m3u8\480p\out.m3u8"
-y -i "D:\OtherProjects\ConvertProj\video\2018\4\1\m3u8\720p\out.m3u8"
-map 0 -c:v copy -c:a copy -threads 0 "D:\OtherProjects\ConvertProj\video\2018\4\1\1-200.mp4"
-map 1 -c:v copy -c:a copy -threads 0 "D:\OtherProjects\ConvertProj\video\2018\4\1\1-360.mp4"
-map 2 -c:v copy -c:a copy -threads 0 "D:\OtherProjects\ConvertProj\video\2018\4\1\1-480.mp4"
-map 3 -c:v copy -c:a copy -threads 0 "D:\OtherProjects\ConvertProj\video\2018\4\1\1.mp4"
我收到此错误:
[hls,applehttp @ 00000000047e3400] Failed to open segment of playlist 0
Last message repeated 353 times
[hls,applehttp @ 00000000047e3400] Error when loading first segment 'out0.ts'
D:\OtherProjects\ConvertProj\video\2018\4\6208-3905956\m3u8\200p\out.m3u8: Invalid data found when processing input
有什么问题?我必须做什么?这是一个错误吗?
【问题讨论】:
-
这是一个错误。如果您的段没有使用 m3u8 清单中很常见的任何路径,则 FFmpeg 不会构造正确的路径来将段作为本地文件访问,并期望它们位于可执行文件所在的同一文件夹中。如果您时间紧迫,您可以选择将 m3u8 中的段路径更改为绝对路径,或者将 ffmpeg 放入段所在的文件夹,然后从那里调用关联的 m3u8 清单。或者,如果您有办法通过 http 从 ffmpeg 访问 m3u8 清单,请执行此操作。这应该可以正常工作。