如何使用gstreamer在h265中流式传输?

时间:2015-09-13 07:19:47

标签: gstreamer rtsp h.265

我正在尝试使用最新的gstreamer和x265enc。我看到有人已经在http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/log/ext/x265/gstx265enc.c发布了一些提交 任何人都可以给出一个已知工作的示例管道(gst-launch-1.0管道示例将非常有帮助)

1) gstreamer的x265enc插件的当前状态是什么?它真的有效吗? 我需要使用哪个gstreamer分支来构建x265enc?我想构建整个gsteamer源代码,它将与x265enc插件兼容。 x265enc的系统要求是什么以及如何构建它?任何维基/基本说明都会非常有用。

我的目标是在vaughnlive.tv上以h265流播放我的ip camera(h264流)

目前,我正在使用以下管道以h264格式进行广播:

GST_DEBUG = 2 gst-launch-1.0 flvmux name = mux streamable = true! rtmpsink sync = true location =“rtmp:// xxxxxxxxxxxx”rtspsrc location =“rtsp:// xxxxxxx”caps =“application / x-rtp,media =(string)audio,clock-rate =(int)90000,encoding- name =(string)MPA,payload =(int)96“! rtpmpadepay! mpegaudioparse!排队!疯了! audioconvert!排队! voaacenc比特率= 128000! aacparse! audio / mpeg,mpegversion = 4,stream-format = raw! MUX。 rtspsrc location =“rtsp:// xxxxxxx”caps =“application / x-rtp,media =(string)video,clock-rate =(int)90000,encoding-name =(string)H264”! rtph264depay! video / x-h264,stream-format = avc,alignment = au,byte-stream = false!排队! decodebin!排队!视频! “video / x-raw,framerate = 30/1”!排队! x264enc threads = 4 speed-preset = ultrafast bitrate = 3072!多路复用器。

2) 任何人都可以建议我应该如何使用x265enc元素更改此管道以h265格式进行广播?

请帮忙。非常感谢

1 个答案:

答案 0 :(得分:2)

有点晚了,但也许有些人会在gstreamer中寻找有关H.265支持的信息时会发现这个问题。这是在Ubuntu 15.10上从源代码编译的gstreamer 1.6.1,它已经为libx265准备好了包。

<强> 1,

<强>编码 我们拥有库x265enc时会启用libx265-dev。 编码器在gst-plugins-bad里面,所以在执行autogen.sh后你应该看到x265enc已启用。

您可能还需要h265parse,rtph265pay / depay

<强>解码器

我看到两个解码器,不知道哪个正在工作,我猜libde265dec还有avdec_h265

<强>多路复用器

对于x264的mux,我使用的是mpegtsmux,但这不支持video / x265,还有一些工作要做。使用filesink等时,matroskamux应该正常工作。

[16:39]  hi, which container is suitable for x265enc, for x264enc I was using mpegtsmux?
[16:54]  otopolsky: mpegts would work if you add support for h265 there, not very difficult[16:55]  slomo_: so we need to just add the caps compatibility?
[16:55]  otopolsky: otherwise, matroskamux supports it. mp4mux/qtmux could get support for it relatively easily too
[16:55]  otopolsky: a bit more than that. look at what tsdemux does for h265
[16:56]  otopolsky: and check the gst_mpegts_descriptor_from_registration related code in tsmux
[17:00]  slomo_: thanks 

<强> 2,

质疑flvmux也不支持h265只支持h264 .. matroskamux不能用于流媒体,所以唯一的方法是修补mpegtsmux或flvmux等。