尝试循环图像以获得分段的 HLS 输出。
ffmpeg -loop 1 -i image.png -vcodec libx264 -acodec aac -map 0 -f segment -segment_time 5 -segment_list /seg.m3u8 /200_%06d.ts
Metadata:
encoder : Lavf54.26.101
Stream #0:0: Video: h264, yuv444p, 1344x840, q=-1--1, 90k tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (png -> libx264)
Press [q] to stop, [?] for help
Failed to open bitstream filter h264_mp4toannexb for stream 0 with codec libx264: Invalid argument
[mpegts @ 0x7fe91a615600] H.264 bitstream malformed, no startcode found, use the h264_mp4toannexb bitstream filter (-bsf h264_mp4toannexb)
av_interleaved_write_frame(): Invalid argument
添加过滤器似乎没有帮助。
如错误消息中所示(但未真正解释),将 h.264 视频数据转换为 MPEG2 传输流时出现问题。在默认的 h.264 容器 (MPEG4) 中,事物以长度为前缀,而在 MPEG2 传输流中,则使用起始码。该映射在 h.264 规范的附件(即提到的附件 2)中进行了描述。文档:http://git.videolan.org/?p=ffmpeg.git;a=blob;f=doc/bitstream_filters.texi http://git.videolan.org/?p=ffmpeg.git;a=blob;f=doc/bitstream_filters.texi
因此,要正确创建 MPEG2 TS,您需要添加-vbsf h264_mp4toannexb
到命令行。您可能还需要添加以下参数-flags -global_header
以及。这是为了确保某些编解码器参数包含在带内(传输流内)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)