因此,对于 GNURadio 项目,我将与 PSIP 数据混合的 MPEG-2 视频发送到我的电视。所述数据和视频的实际传递很好,但是视频没有正确解码。大部分都是空白,到处都是闪烁的块,快速移动的场景有更多的“垃圾”。它看起来像这样,除了大部分是黑色的,“块”随机出现和消失。它应该看起来像这样。
在将它添加到混音器进行测试之前,我正在使用 videtestsrc。我尝试了avconv,无论出于何种原因,它都没有这个问题。
这是管道,也在下面:
VIDEOFORMATIN='video/x-raw, format=UYVY, width=1920, height=1080, framerate=60/1, interlaced='true''
gst-launch-1.0 -v videotestsrc do-timestamp=true is-live=true ! $VIDEOFORMATIN \
! videoconvert ! queue ! \
avenc_mpeg2video bitrate=15000000 rc-max-rate=17000000 rc-min-rate=14000000 rc-buffer-size=300000 \
rc-buffer-aggressivity=0.25 ! \
filesink location=video.mpeg
它在 mpv、SMPlater 和 TSReader 可以播放视频,但是在 mpv 的命令输出中显示的错误是“
"[libav] NULL: start time is not set in estimate_timings_from_pts"
和...
"No PTS found! Making something up"
知道会发生什么吗?当它是实时源时,如何编写正确的 PTS/DTS 值?是的,我必须使用 MPEG-2 和 gstreamer。