Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video FFMpeg HLS视频转码生成部分播放列表_Video_Ffmpeg_Http Live Streaming_Transcoding - Fatal编程技术网

Video FFMpeg HLS视频转码生成部分播放列表

Video FFMpeg HLS视频转码生成部分播放列表,video,ffmpeg,http-live-streaming,transcoding,Video,Ffmpeg,Http Live Streaming,Transcoding,我正在尝试使用ffmpeg(在OSX上运行)使用以下命令将基本mp4视频转换为HLS视频: ffmpeg -i SampleVideo_1280x720_10mb.mp4 -codec:v libx264 -codec:a aac -strict experimental -start_number 1 out.m3u8 它确实能够生成所有的.ts片段文件,但生成的.m3u8播放列表文件只列出最后四个片段文件,并删除了任何较早的片段。帮助?试试看 ffmpeg -i SampleVideo_1

我正在尝试使用ffmpeg(在OSX上运行)使用以下命令将基本mp4视频转换为HLS视频:

ffmpeg -i SampleVideo_1280x720_10mb.mp4 -codec:v libx264 -codec:a aac -strict experimental -start_number 1 out.m3u8
它确实能够生成所有的
.ts
片段文件,但生成的
.m3u8
播放列表文件只列出最后四个片段文件,并删除了任何较早的片段。帮助?

试试看

ffmpeg -i SampleVideo_1280x720_10mb.mp4 -c:v libx264 -c:a aac -strict -2 -start_number 1 -hls_list_size 0 out.m3u8
根据,播放列表默认为5个条目,片段持续时间为2秒。这可能解释了为什么您只能在播放列表中看到数量有限的条目。尝试将播放列表的长度(
-hls\u list\u size
)设置为0,这将包括所有片段。苹果的段持续时间为10秒。您可以使用
-hls\u time
选项设置分段持续时间

作为参考,您也可以使用muxer。以下是我通常在以下情况下使用的命令:


在本例中,输入视频包含H.264视频和AAC音频,因此不需要进行转码。

hls\U列表大小标志完美解决了此问题,谢谢。我在文档中看到了这一点,却忽略了这一点,因为我认为他们只会使用(对我来说)合理的默认值,该默认值将包括所有文件。谢谢
ffmpeg -y \
 -i input.mov \
 -codec copy \
 -bsf h264_mp4toannexb \
 -map 0 \
 -f segment \
 -segment_time 10 \
 -segment_format mpegts \
 -segment_list "/Library/WebServer/Documents/vod/prog_index.m3u8" \
 -segment_list_type m3u8 \
 "/Library/WebServer/Documents/vod/fileSequence%d.ts"