#node.js #ffmpeg #m3u8
#node.js #ffmpeg #m3u8
Вопрос:
Я использую приведенную ниже команду для шифрования видео 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
Могу ли я сделать это с помощью приведенной выше команды?
Ответ №1:
Найдено решение,
Для этого есть флаг. Вы можете использовать,
'-hls_segment_filename', 'segment%d'
%d
увеличивает число, поэтому это сохранит файлы как segment0
, segment1
, segment2
, ...
, segnemntN
.