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

tap*_* .. 5 rtsp gstreamer 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?我想构建与 x265enc 插件兼容的整个 gsteamer 源代码。x265enc 的系统要求是什么以及如何构建它?任何维基/基本说明都会非常有帮助。

我的目标是在 vaughnlive.tv 上将我的网络摄像机(h264 流)作为 h265 流进行广播

目前,我使用以下管道以 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-名称=(字符串)MPA,有效载荷=(整数)96”!rtpmpadepay !mpegaudioparse !队列 !疯狂的 !音频转换!队列 !voaacenc比特率=128000!分析!音频/mpeg,mpegversion=4,流格式=raw!多路复用器。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 !队列 !解码器!队列 !视频率!“视频/x-raw,帧率=30/1”!队列 !x264enc 线程=4 速度预设=超快比特率=3072 !多路复用器。

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

nay*_*ana 3

有点晚了,但是,也许现在有些人在寻找有关 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 的多路复用器,我使用的是 mpegtsmux,但这不支持视频/x265,需要完成一些工作。使用文件接收器等时,matroskamux 应该可以工作。

[16:39] 你好,哪个容器适合 x265enc,对于 x264enc 我使用的是 mpegtsmux?
[16:54] otopolsky:如果你在那里添加对 h265 的支持,mpegts 就会工作,不是很困难[16:55] slomo_:所以我们只需要添加大写兼容性?
[16:55] otopolsky:否则,matroskamux 支持它。mp4mux/qtmux 也可以相对容易地获得支持
[16:55] otopolsky:还不止一点。看看 tsdemux 对 h265 做了什么
[16:56] otopolsky:并检查 tsmux 中的 gst_mpegts_descriptor_from_registration 相关代码
[17:00] slomo_:谢谢

2、

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