gpt4 book ai didi

ffmpeg libav : Any way to set stream info in an input format instead of searching for it?

转载 作者:行者123 更新时间:2023-12-04 23:23:41 25 4
gpt4 key购买 nike

我正在使用 ffmpeg API 为 RTMP 流编写一​​个播放器。我知道将流信息转换为输入格式的常用方法是使用 avformat_find_stream_info .那行得通。但是,因为它是 RTMP,它需要很长时间才能扫描足够多的流以获取信息。我玩过max_analyze_durationprobesize并且稍微好一点,但仍然需要 10-15 秒才能加载。这对我的申请来说太长了。

但我是在另一端制作流的人,所以我确切地知道里面有什么。对我来说,告诉输入格式流信息是什么似乎比要求它搜索它更有意义。但我找不到任何这样的例子,我尝试使用 avformat_new_stream输入格式不起作用。

有谁知道这是否可能?如果是这样,你能指出我的方向吗?

谢谢!

最佳答案

这就是所谓的 XY problem

是的,您可以欺骗序列头(假设 h.264/aac)。但它不会完成你想要的。发生的事情是您的 RTMP 服务器(反射器)正在吃第一个 GOP .因此,即使分析完成得更快,您也必须先等待第一个视频关键帧。

您需要配置您的 RTMP 服务器以发送完整的 GOP(在 nginx+rtmp 中设置为 wait_key on )

关于ffmpeg libav : Any way to set stream info in an input format instead of searching for it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58566279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com