我有一个ffmpeg命令可以将rtmp流转换为http直播流:
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文件名相同,但在播放列表中重命名它们。例如,播放列表中的段文件: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?
答案 0 :(得分:0)
不,这在ffmpeg中是不可能的。改变文件名的生成方式并重新编译它是相当简单的。
答案 1 :(得分:0)
我假设您这样做是因为您在服务器前运行服务来管理内容权限或其他内容。在这种情况下,我会让服务器处理.m3u8的请求,并生成一个具有您正在寻找的文件名的新请求。它是一个简单的文件格式,你使用的任何语言应该很容易做到这一点。