首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当输入分辨率改变时,强制ffmpeg退出

当输入分辨率改变时,强制ffmpeg退出
EN

Stack Overflow用户
提问于 2022-10-22 10:34:52
回答 1查看 41关注 0票数 0

我在用ffmpeg重放一个实时的饲料。不幸的是,输入分辨率偶尔会发生变化,但是ffmpeg继续运行。我使用的nginx服务器不能很好地处理这个问题,并且继续使用音频流,但是视频大多是黑色或绿色的,带有一些工件。

理想情况下,我想要的是在输入分辨率更改时停止ffmpeg,因为我有一个脚本来检测ffmpeg停止并重新启动它。

我在我的ffmpeg命令中使用了-c:v副本,因为不幸的是,我的机器不够强大,无法动态地将实时视频重新编码到一个恒定的分辨率(至少在没有显著质量下降的情况下)。

ffmpeg -i "http://mpegts-live-stream" -c:v copy -c:a aac -ac 2 -f flv "rtmp://nginxserver/live/streamname"

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-22 11:13:13

因此,ffmpeg不能检测流复制过程中输入参数的变化,但我们可以通过向进程添加最小的解码负载来解决这一问题。

ffmpeg -xerror -skip_frame:v nokey -flags:v +drop_changed -i "http://mpegts-live-stream" -c:v copy -c:a aac -ac 2 -f flv "rtmp://nginxserver/live/streamname" -an -f null -

-xerror:错误时退出

-skip_frame:v nokey:仅解码视频流的关键帧

-flags:v +drop_changed:当参数(如分辨率)发生变化时,下降帧和信号误差

-an -f null -:映射需要解码流的视频输出流,否则不会发生解码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74162777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档