这次, AI 也帮不了我

这段时间一直在改造 Chromium for Android,详情参考前文:

在增加 TS 格式支持的时候,还参考了一下 AI 的意见:

在增加了所要支持的音视频格式后,正准备收工时,突然发现一个更大的麻烦:RTSP 协议支持。

先简单介绍一下 RTSP 协议:

RTSP(Real Time Streaming Protocol)是由 Real Network 和 Netscape 共同提出的如何有效地在 IP 网络上传输流媒体数据的应用层协议。RTSP 对流媒体提供了诸如暂停、快进等控制,而它本身并不传输数据,RTSP 的作用相当于流媒体服务器的远程控制。服务器端可以自行选择使用 TCP 或 UDP 来传送串流内容,它的语法和运作跟HTTP 1.1 类似,但并不特别强调时间同步,所以比较能容忍网络延迟。而且允许同时多个串流需求控制(Multicast),除了可以降低服务器端的网络用量,还可以支持多方视频会议(Video onference)。因为与 HTTP 1.1 的运作方式相似,所以代理服务器的快取功能也同样适用于 RTSP ,并因 RTSP 具有重新导向功能,可视实际负载情况来转换提供服务的服务器,以避免过大的负载集中于同一服务器而造成延迟。

关于 RTSP 协议,了解到的情况是:

  1. Chromium net 模块不支持 RTSP 协议。

  2. FFmpeg 支持 RTSP 协议。

  3. Chromium media 模块的视频流的网络获取是通过 Chromium net 模块,FFmpeg 只是进行 demuxer 和解码。

有了上次的经验,这次,我也求助一下 AI。

e8f759d8cf4852157748880047fda2e0.png

这个回答有点不靠谱,特别是参考链接 3,指向的是一篇关于健康的文章,显然 AI 把 Chromium 认作这种微量元素了。接着提问:

1242da668acc9ef93a8df4f987b43f3a.png

这个回答还可以,至少点明了修改的思路。其中链接 1 给的文章,似乎某位开发者已经修改过 Chromium net 的代码以支持 RTSP,但这篇文章明显是搬运过来的。链接 2 的文章是分析 Chromium net 源码的,对于理解 chromium 处理 HTTP 请求有所帮助。链接 4 是一个开源库,将 Chromium net 抽出来单独编译,进去看了一下,没有 RTSP 协议支持,参考价值不大。

我想看看链接 1 是否也有源码,于是继续提问:

3368567e6a4a7ece14c1507da1207d01.png

AI 误会了我的意思,RTSP 这种成熟的协议,肯定有不少开源实现,我这不是为了省事吗?接着提问:

81e1eb1d3fe99d6734dcd33d21b4e1ee.png

链接 1 和 2 实际上是重复了第一个回答,而且第二点概括错误,并没有利用 libavformat 库。链接 3 的插件模式并不适合本项目。既然中文世界没有找到答案,那有没有英文资料呢?

3171b8124234f615d904dd91f82cc7c2.png

又回答偏了,再次拉到 Chromium net 上来:

fa8624280b5e3cfabbde52e1e7617443.png

看来真问不出什么内容了。突然冒出一个主意,绕过 Chromium net,让 FFmpeg 直接处理呢?

558ceb68e6f2d10853981ef541f7e879.png

这个答案不行,接着问:

63e5eb3b6f6c9500acca6602b061c020.png

到此,我已经明白,再也问不出什么实质性的内容来。

前面提到一位老哥已经做了 Chromium net 中添加 RTSP 的功能,只可惜那是一篇搬运的文章,找不到原主,那就从这条线索再追问下去吧。

0be75a0ae81c6b28e17bc4e0ab4ad499.png

f8d8da36738dc4ab3f3ac9f662a9dfb0.png

看来微软的 bing 也对 CSDN 情有独钟,搜去搜来都是 CSDN 上的那几篇文章。

最后,还是抬出谷歌,在下面的链接找到了原文章:

https://www.cswamp.com/post/41

遗憾的是,没有源码,而且貌似所使用的 Chromium 也是比较老的版本。看来只能自己啃一啃 Chromium net 的源码。

一想到协议实现就头大,没有什么捷径,必须参考 RFC 文档,按着规范来,一丝一毫都不能出错。光是 RFC 文档看起来就挺头疼,细节太多。不过目前也没有更好的办法,指望 AI 来帮忙写代码是不可能的,工作上的问题,没有条件可讲,没有条件也要创造条件上。唯一值得庆幸的是,这肯定是一条可行的道路,不像做预研,能做到什么程度心里没底。

改造 Chromium net 又会碰到哪些坑呢?欢迎围观。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云水木石

但行好事,莫问前程

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值