问题描述
我最近在我的花园里设置了一个鸟箱,并且一直在使用我购买的廉价相机以及树莓派上的 ffmpeg 从相机流式传输到 YouTube。
但是 YouTube 一直告诉我我发送数据的速度太快了 - 每秒几秒的视频,此时流似乎停顿了,我只是在 YouTube 上获得了一个缓冲微调器,必须重新启动 ffmpeg 才能恢复流.
这种情况发生得非常频繁,事实上现在比我最初出于某种原因启动并运行所有内容时更频繁……以至于我不得不设置 ffmpeg 作为服务运行,并每小时重新启动一次通过 cron。但即使这还不够,现在看来它可以在重新启动后的 10-15 分钟内变得疯狂 - 几乎就像我越频繁地重新启动它一样......
我不知道问题出在哪里,也不知道如何找到它(ffmpeg 是否只是简单地重新播放相机提供的“逐字逐句”?),但我想知道是否有可能让 ffmpeg 重新对流进行计时,以便我只向 YouTube 发送它满意的 25fps(即丢弃超过这个的任何帧)?
我在相机上将关键帧设置为 1 秒。
谢谢!
这是我的服务文件,其中包含我用来启动 ffmpeg 的命令:
[Unit]
Description=BirbCam 1 streaming service
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=root
# Uncomment one ExecStart line below,then run `sudo systemctl daemon-reload` before restart
# With audio
ExecStart=/usr/local/bin/ffmpeg -rtsp_transport tcp -i rtsp://172.25.144.35:554/user=admin&password=&channel=1&stream=0.sdp?real_stream -tune zerolatency -vcodec libx264 -pix_fmt + -c:v copy -c:a aac -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/xxxx-xxxx-xxxx-xxxx-xxxx
# Without audio
# ExecStart=/usr/local/bin/ffmpeg -f lavfi -i anullsrc -rtsp_transport tcp -i rtsp://172.25.144.35:554/user=admin&password=&channel=1&stream=0.sdp?real_stream -tune zerolatency -vcodec libx264 -pix_fmt + -c:v copy -c:a aac -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/xxxx-xxxx-xxxx-xxxx-xxxx
[Install]
WantedBy=multi-user.target
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)