opencv - 使用 ffmpeg 将 opencv 流式传输到 youtube
问题描述
我正在尝试从 c++ opencv 项目直播到 youtube。目前,我的程序输出一个 RTMP 流,nginx 应该将它推送到 youtube。我遇到的一个问题是 youtube 对音频流的要求。
我正在尝试使用 ffmpeg 重新流式传输的解决方法。它添加了一个空的音频流(效率不高)。另一个问题是我的程序的输出速度约为 10 fps。在 vlc 或 youtube 中播放时,流会缓冲一段时间并播放几秒钟的流畅视频。我应该如何在 C++ 中设置它以播放具有较低 fps 的恒定流,包括空音频流?我使用的示例:https ://github.com/andreanobile/opencv_ffmpeg_streaming
FFMPEG 用于添加音频: ffmpeg -f lavfi -i anullsrc=channel_layout=stereo:sample_rate=44100 -hwaccel cuvid -i rtmp://localhost/live -vf scale=3840:2160 -c:v h264_nvenc -preset fast -maxrate 6000k -pix_fmt yuv420p -g 50 -b:a 160k -ac 2 -c:a aac -f flv rtmp://a.rtmp.youtube.com/live2/
解决方案
推荐阅读
- node.js - 如何在 OpenSUSE Leap 15.2 上清理和重新安装 NPM 和 NodeJS?
- python - 如何在迭代时间序列时产生大块的滑动窗口?
- javascript - 单击外部时关闭模式
- node.js - 我如何将付款从一个用户发送给另一个在付款创建时未知的用户?
- mysql - 如何解密mysql db中的所有行
- python - 在 Python 中使用 Selenium 显式等待
- ruby-on-rails - 使用 `.to_xml` 从 Hash 生成 XML
- reactjs - 基于 React 的 SPA 中的 SEO
- java - AsyncItemWriter - 将自定义类解包到 Future 时面临 ClassCastException
- python - 在 python 3.7 中加密并在 NODEJS 12 中解码