Streaming 从服务器到客户端的AVB流式存储文件:时间戳问题

Streaming 从服务器到客户端的AVB流式存储文件:时间戳问题,streaming,video-streaming,gstreamer,Streaming,Video Streaming,Gstreamer,我正在开发AVB应用程序。因为我们已经在通话端和收听端创建了gstreamer插件,我们使用这些插件来传输存储的媒体 我正在使用下面的管道 谈话方: gst-launch-1.0 filesrc location=/home/input.mp4!队列avbsink接口=eth0 fd=0(此处创建avbsink属性以传输avb数据包) 侦听器端: gst-launch-1.0 avbsrc接口=eth0数据同步=1媒体类型=0 fd=0!队列qtdemux name=mux mux.video_

我正在开发AVB应用程序。因为我们已经在通话端和收听端创建了gstreamer插件,我们使用这些插件来传输存储的媒体

我正在使用下面的管道

谈话方:

gst-launch-1.0 filesrc location=/home/input.mp4!队列avbsink接口=eth0 fd=0(此处创建avbsink属性以传输avb数据包)

侦听器端:

gst-launch-1.0 avbsrc接口=eth0数据同步=1媒体类型=0 fd=0!队列qtdemux name=mux mux.video_0!队列avdec_h264!自动视频接收器mux.audio_0!队列德克宾!自动音频接收器 (我尝试了vaapidecode和vaapisink,而不是硬件加速器的avdec_h264和autovideosink)

侦听器端提交的错误为

“警告:从元素/GstPipeline:pipeline0/GstVaapisink0:正在丢弃大量缓冲区

其他调试信息:

gstbasesink.c(2683):gst_base_sink_为时已晚():/GstPipeline:pipeline0/gstvaapipsink:vaapisink0

可能是时间戳问题,或者这台计算机太慢。”

我见过一个使用sync=false的解决方案,然后我用vaapisink添加了sync=false,并消除了错误消息,但视频仍不能顺利播放。它不断地停止和再次启动


是否有任何连续播放视频的解决方案。(只有高质量视频(720p或更高)未播放,应用程序正在处理低质量视频)。

由于高清视频帧具有更多像素,缓冲区的大小似乎不够。我可以提出的另一点是,您可以在将帧发送给侦听器之前应用某种压缩算法,但我不确定压缩是否与任何一种AVB协议相矛盾