我传输的视频已经编码了。为什么我在传输的时候又要重新编码?
example: gst-launch-1.0 -v filesrc location=123.mp4 ! x264enc ! rtph264pay ! udpsink host=192.168.10.186 port=9001。
就把视频发过去,不用编码。我可以在另一边查看吗?
比如说
server: gst-launch-1.0 -v filesrc location =123.mp4 ! udpsink host=192.168.10.186 port=9001。
123.mp4 编码 h265
client: gst-launch-1.0 udpsrc port=9001 caps = "applicationx-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H265, payload=(int)96" ! rtph265depay ! h265parse ! nvh265dec ! autovideosink !
问候
好吧,说明你的输入被假设为MPEG4文件,其中包含H.265:是的,那么它是可能的(如果这个假设不成立,那么 这不行).
下面的方法应该可以做到。
gst-launch-1.0 filesrc location=123.mp4 ! qtdemux ! h265parse config-interval=-1 ! rtph265pay ! udpsink host=192.168.10.186 port=9001
解释:
qtdemux
将解密MPEG4容器到包含的视频音频字幕流中(如果容器内有多个流,你需要多次链接到它,否则GStreamer会出错)。h265parse config-interval=1
将确保你的包含正确的SPSPPS参数集。如果你的原始输入文件内的流不是H265视频流,这将导致链接失败。rth265pay
会将其转化为RTP数据包。udpsink
然后可以通过指定的套接字发送P.S.: 你可能也会对以下内容感兴趣。rtpsink
(过去是在树外生活,但现在已被纳入GStreamer的最新主版)
P.P.S.: 你应该使用偶数端口发送RTP流。