Gstreamer将h264转码到vp8

Gstreamer将h264转码到vp8,gstreamer,transcoding,Gstreamer,Transcoding,我有这样的gstreamer管道: gst-launch v4l2src always-copy=false chain-ipipe=true \ ! video/x-raw-yuv,format='(fourcc)'NV12, width=640, height=480, framerate='(fraction)'15/1 \ ! dmaiaccel ! dmaienc_h264 ddrbuf=true encodingpreset=2 ratecontrol=4 maxbitrate=40

我有这样的gstreamer管道:

gst-launch v4l2src always-copy=false chain-ipipe=true \
! video/x-raw-yuv,format='(fourcc)'NV12, width=640, height=480, framerate='(fraction)'15/1 \
! dmaiaccel ! dmaienc_h264 ddrbuf=true encodingpreset=2 ratecontrol=4 maxbitrate=4000000 targetbitrate=2000000 \
! dmaiperf print-arm-load=true ! rtph264pay \
! queue ! udpsink port=3000 host=192.168.1.16 sync=false
我可以在我的主机上捕获并使用命令进行播放:

gst-launch udpsrc port=3000 ! "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, sprop-parameter-sets=(string)\"Z2QAKK2EBUViuKxUdCAqKxXFYqOhAVFYrisVHQgKisVxWKjoQFRWK4rFR0ICorFcVio6ECSFITk8nyfk/k/J8nm5s00IEkKQnJ5Pk/J/J+T5PNzZprQFAeyA\,aO48sA\=\=\", payload=(int)96, ssrc=(guint)2498431066, clock-base=(guint)297251943, seqnum-base=(guint)34949" ! rtph264depay ! queue ! ffdec_h264 ! ffmpegcolorspace ! videoscale ! ximagesink sync=false show-preroll-frame=false
现在我想把它转码到vp8,并将它重新链接到另一个端口。所以我一直在尝试:

gst-launch udpsrc port=3000 ! "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, sprop-parameter-sets=(string)\"Z2QAKK2EBUViuKxUdCAqKxXFYqOhAVFYrisVHQgKisVxWKjoQFRWK4rFR0ICorFcVio6ECSFITk8nyfk/k/J8nm5s00IEkKQnJ5Pk/J/J+T5PNzZprQFAeyA\,aO48sA\=\=\", payload=(int)96, ssrc=(guint)2498431066, clock-base=(guint)297251943, seqnum-base=(guint)34949" \
! rtph264depay ! queue ! ffdec_h264 ! ffmpegcolorspace ! videoscale ! queue \
! vp8enc bitrate=256000 speed=2 max-latency=1 error-resilient=true \
! rtpvp8pay ! udpsink host=192.168.1.16 port=5004

但它不起作用。我对gstreamer不太熟悉,我猜我的上一条管道有问题。我如何才能正确地执行此操作?

您从gstreamer那里得到了什么错误?嗨,本杰明。谢谢你的回复。你们可能猜到了,我仍在尝试将视频流传送到janus gateway。实际上,上面的命令工作正常。我只是犯了个愚蠢的错误。但另一个问题是,当我尝试使用Janus显示此流时,延迟太大(大约5秒),图片出现故障。现在我试着去理解。是因为我进行了代码转换还是我的管道出了问题……是的,在我将管道升级到gstreamer 1.4之前,我也遇到过类似的问题。VP8编码的最新实现更好,解码器甚至可以处理可变帧率和分辨率。