【问题标题】:How can I rename ts files in a m3u8 playlist如何重命名 m3u8 播放列表中的 ts 文件
【发布时间】:2013-11-22 16:02:20
【问题描述】:

我有一个将 rtmp 流转换为 http 实时流的 ffmpeg 命令:

ffmpeg.exe -loglevel info -i %stream_input% -g 250 -r 15 -sc_threshold 0 -preset slow -keyint_min 15 -c:v libx264 -ar 44100 -b:v 200k -b:a 64k -profile:v baseline -level 3.0 -s 400x224 -aspect 16:9 -maxrate 200k -bufsize 1000k -map 0 -flags -global_header -f segment -segment_time 10 -segment_wrap 3 -segment_list_flags +live -segment_list_type m3u8 -segment_list playlist.m3u8 -segment_format mpegts segment%05d.ts 1>output.txt

此命令创建 ts 文件和 m3u8 播放列表。我想要做的是保持 ts 文件名相同,但在播放列表中重命名它们。例如Segment文件:segment00000.ts,在播放列表中:Segment.aspx?ts=00000

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:17
#EXTINF:16.692244,
segment00000.ts -> Rename it to Segment.aspx?ts=00000
#EXTINF:16.680789,
segment00001.ts

ffmpeg 可以吗?

【问题讨论】:

    标签: ffmpeg http-live-streaming


    【解决方案1】:

    我假设您这样做是因为您在服务器前面运行服务来管理内容权限或其他内容。在这种情况下,我会让服务器处理对 .m3u8 的请求,并使用您要查找的文件名生成一个新请求。它是一种简单的文件格式,您使用的任何语言都应该很容易做到这一点。

    【讨论】:

      【解决方案2】:

      不,这在 ffmpeg 中是不可能的。更改文件名的生成方式并重新编译它是相当简单的。

      【讨论】:

      • 如果他将来想更新到新版本的 FFmpeg,这似乎会导致很多问题......
      • 是的,维护 1 行补丁是“成吨”的问题。
      猜你喜欢
      • 2016-05-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-18
      • 1970-01-01
      相关资源
      最近更新 更多