我使用 NGINX RTMP 作为 RTMP 服务器和 FFMPEG 作为实时流的客户端。当我使用以下命令连接到 RTMP 服务器时,我得到一个包含近 5 秒慢动作的输出文件。但是声音还可以。
ffmpeg -re -i rtmp://somertmp -c copy -f flv rtmp://a.rtmp.youtube.com/live2/sometoken -f flv output.mp4
如前面的示例所示,我将流传送到 youtube,同时,我得到一个副本。 Youtube 不显示慢动作,但是当我使用 ffplay
打开文件时我可以看到有问题的框架。我想修复这些慢动作并使其与 ffmpeg 的音频同步,或者如果不可能,我想告诉 ffmpeg 将这些慢帧与音频 channel 一起剪切,以便视频和音频同步。
几天来,我试图找到解决这个问题的方法,但不幸的是,我做不到。任何帮助将不胜感激。
最佳答案
我找到了解决方案。在 Nginx RTMP 端 interleave
和 wait_key
应该启用指令。
关于FFMPEG:实时流上的音频和视频之间的同步问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72281981/