首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >流RTMP到JANUS-网关只显示比特率,但不显示视频

流RTMP到JANUS-网关只显示比特率,但不显示视频
EN

Stack Overflow用户
提问于 2020-03-25 19:45:08
回答 1查看 1.6K关注 0票数 4

我目前正在使用流插件,如下所示:这里的花式建筑

OBS--------RTMP--------->NGINX-Server------FFMPEG(input RTMP输出RTP)--------->JANUS---------webrtc-------->Client

当使用ffmpeg命令(bellow)时,在Janus流接口上,我们只看到控制台中对应于ffmpeg输出的比特率,但没有看到任何视频。

代码语言:javascript
运行
复制
ffmpeg -i rtmp://localhost/live/test -an -c:v copy -flags global_header -bsf dump_extra -f rtp rtp://localhost:8004 

(使用"-c:v副本“以避免使用编码,从而减少延迟)

如果我使用"-c:v libx264",这个视频显示得很好,唯一的问题是它占用了大量的CPU并增加了延迟。

以前,我曾尝试使用RTSP作为FFMPEG的输入,在这种情况下,视频显示良好,几乎没有延迟,即使我使用"-c:v复制“。

所以我不知道为什么RTSP的拷贝工作得很好,但是对于RTMP,我必须使用libx264编解码器。如果有人对此有想法的话,我会全神贯注地听着:)

EN

回答 1

Stack Overflow用户

发布于 2021-04-14 10:51:36

我有类似的问题,我的问题是,我使用的流/视频有很大的GOP大小。对于WebRTC,延迟是次秒,所以输入源应该有短间隔I帧.最好移除B帧,因为它们也是指向后和向前。

以下是您可以使用的小GOP大小(4)和删除B帧的命令。

使用RTMP流src:

代码语言:javascript
运行
复制
ffmpeg rtmp://<your_src> -c:v libx264 -g 4 -bf 0 -f rtp -an rtp://<your_dst>

使用mp4文件:

代码语言:javascript
运行
复制
ffmpeg -re -i test.mp4 -c:v libx264 -g 4 -bf 0 -f rtp -an rtp://<your_dst>

-c:v copy不会减少延迟。它只是告诉ffmpeg不要转换代码。

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

https://stackoverflow.com/questions/60856276

复制
相关文章

相似问题

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