搞imx6q   nxp的芯片也有几年时间了,近期准备写些这款芯片的使用心得。

用imx6q+tw6865 做了流媒体,包括rtsp,rtmp。

嵌入式中使用的是librtmp,rtsp的协议是自己写的。

rtmp和rtp以tcp传输都没有问题。

电脑端使用的ffmpeg-4.2.3,编译成Ubuntu版本的。

但是rtp以udp传输时会出现如下错误:

ffmpeg rtp走udp产生的问题

出现这样的问题也百度了,说是用tcp就不会出现这样的问题,好吧,最后我只能用eclipseCDT来调试ffmpeg(本来会写一篇调试ffmpeg)发现在libavform目录下的udp.c文件的

ffmpeg rtp走udp产生的问题

 

从s->local_port的port和rtsp中setup中知道port口是对的。

ffmpeg rtp走udp产生的问题

 

从这个接受数据的函数中发现一直断断续续有数据,但是不顺畅,也尝试了增加了buffer的大小。后来也wireshark抓了包。

ffmpeg rtp走udp产生的问题

rtsp是正确的 但是udp视频流的包电脑会发出port unreachable的icmp包,此包是内核发出的,因为找不到port口,但是在调试ffmpeg时port是对的。这个问题一直纠结了很久。

今天中午想起来了  可能是防火墙的问题。ffmpeg rtp走udp产生的问题

这样关闭防火墙就ok了

 

 

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-27
  • 2022-12-23
  • 2022-03-10
  • 2021-07-18
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-17
  • 2021-05-15
  • 2021-08-02
相关资源
相似解决方案