FFMPEG m3u8编码将TS文件扩展名更改为其他内容



我使用下面的命令将MP4视频加密为m3u8类型。

const cmd = "ffmpeg";
const args = [
"-i",
`${input}`,
"-c",
"copy",
"-bsf:v",
"h264_mp4toannexb",
"-hls_list_size",
"0",
"-hls_time",
"10",
"-hls_key_info_file",
"enc.keyinfo",
`output/${outputFileName}.m3u8`,
];

这可以工作并输出数据。但是是否有任何可能的方法告诉ffmpeg不添加.TS扩展到播放列表项目?

我用一些随机的文件扩展名手动更新m3u8文件中的一个播放列表项,它可以工作。

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:12
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="http://localhost/key/video.key",IV=0x00000000000000000000000000000000
#EXTINF:10.666667,
somerandomname // <-- Here I change it and when I play in a HLS player it works. 
#EXTINF:11.666667,
output1.ts
#EXT-X-ENDLIST

我可以用上面的命令吗?

找到解决办法了,

有一个标记。你可以使用

'-hls_segment_filename', 'segment%d'

%d是递增的数字,所以这将保存文件为segment0,segment1,segment2,...,segnemntN

相关内容