You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让GStreamer生成仅含文件名的m3u8播放列表?

解决GStreamer生成m3u8包含完整TS路径的问题

核心思路是让hlssink的片段路径(location)相对于播放列表的存储路径,同时明确指定播放列表的输出位置,这样生成的m3u8就只会保留TS片段的文件名。

  • 关键配置要点:

    1. 用playlist-location指定播放列表的完整输出路径(比如C:\Users\user\Desktop\4\stream.m3u8),确保播放列表生成在目标目录。
    2. 将location设置为相对于播放列表所在目录的片段文件名模板(比如stream%d.ts),不要写绝对路径。
    3. 不要设置playlist-root属性(或设为空字符串),避免给片段路径添加额外前缀。
  • 示例命令:
    如果目标输出目录是C:\Users\user\Desktop\4\,执行以下命令:

    gst-launch-1.0 videotestsrc ! x264enc ! h264parse ! mpegtsmux ! hlssink location="stream%d.ts" playlist-location="C:\\Users\\user\\Desktop\\4\\stream.m3u8"
    

    执行后,TS片段和m3u8都会生成在C:\Users\user\Desktop\4\目录下,且m3u8里的条目只会是stream0.ts、stream1.ts这类纯文件名。

  • 简化场景:
    如果先通过命令行切换到目标目录(比如cd C:\Users\user\Desktop\4\),可以省略路径,直接用相对路径配置:

    gst-launch-1.0 videotestsrc ! x264enc ! h264parse ! mpegtsmux ! hlssink location="stream%d.ts" playlist-location="stream.m3u8"
    

内容的提问来源于stack exchange,提问作者Matew Sticker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 04:15:57