通过icecast服务器livestream将ffmpeg mp4传输到webm

通过icecast服务器livestream将ffmpeg mp4传输到webm,ffmpeg,video-streaming,streaming,webm,icecast,Ffmpeg,Video Streaming,Streaming,Webm,Icecast,我正在尝试在icecast服务器上传输2.5Go的MP4视频。在大量使用ffmpeg选项以获得最佳质量/速度编码设置后,我面临一个奇怪的问题 如果我启动我的ffmpeg流并在浏览器中加载视频,我可以看到它,但是如果我在30秒后尝试加入它,我只会在底部的视频播放器栏上看到一个黑屏 有什么地方我们可以看到错误吗?在哪里?我真的不知道错误是否来自ffmpeg/icecast/my web浏览器 如果有人能给我一个线索 以下是我在ffmpeg上的设置: ./ffmpeg -i stream/my_vid

我正在尝试在icecast服务器上传输2.5Go的MP4视频。在大量使用ffmpeg选项以获得最佳质量/速度编码设置后,我面临一个奇怪的问题

如果我启动我的ffmpeg流并在浏览器中加载视频,我可以看到它,但是如果我在30秒后尝试加入它,我只会在底部的视频播放器栏上看到一个黑屏

有什么地方我们可以看到错误吗?在哪里?我真的不知道错误是否来自ffmpeg/icecast/my web浏览器

如果有人能给我一个线索

以下是我在ffmpeg上的设置:

./ffmpeg -i stream/my_video.mp4 \
        -acodec libopus -b:a 64k \
        -vcodec libvpx -b:v 500K -crf 25 -vf scale=640:360 -content_type video/webm \
        -loop 365 \
        icecast://source:Password@server:8000/live.webm
更新2020链接已断开。从互联网上查找。基本上,GOP比率是通过-g选项设置的。所以给它一个-g5的值,例如将值设置为5

看看你的设置,我猜你没有设置GOP比率,因此浏览器,或者说它使用的编解码器,没有任何关键帧开始

比照


是的,这会降低效率,但这是能够调到流中并立即看到图片的代价-

5帧的GOP长度是疯狂的。。。至少设置为2秒。如果编码设置正确,集群保证从关键帧开始,Icecast缓冲区是否正确,保留一两个集群以快速启动?我恐怕目前可能没有。我很乐意使用补丁来改进2.5版。是的,这是疯狂的,但如果你增加更多,浏览器将开始无法同步-对不起,我没有冰晶补丁给你。。。我的服务器是在Node.js中实现的。可以缓冲WebM服务器端,并将缓冲区刷新到浏览器,以便快速启动,而不会出现所有故障。。。结构需要正确,集群需要从关键帧开始,关键帧需要FFmpeg中的一些标志,或者不管你的编码器是什么。很有可能,更多的编码器调整会进一步改善这种情况。尽管如此,我希望我们能在下一版本中加强对EBMLWebM的支持。好的!真管用!我必须把a-G10-keyint_min10放在浏览器中,并实际等待1~2分钟才能获得视频。谢谢。