5

我正在尝试同时使用最新的 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 的系统要求是什么以及如何构建它?任何 wiki/基本说明都会非常有帮助。

我的目标是在 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://xxxxxxxxx" caps="application/x-rtp, media=(string)audio, clock-rate=(int)90000, encoding-名称=(字符串)MPA,有效载荷=(int)96“!rtpmpadepay!mpegaudioparse !队列 !疯狂的 !音频转换!队列 !voaacenc比特率=128000!不一样!音频/mpeg,mpegversion=4,流格式=原始!多路复用器。rtspsrc location="rtsp://xxxxxxx" caps="application/x-rtp,media=(string)video,clock-rate=(int)90000, encoding-name=(string)H264" !rtph264depay!视频/x-h264,stream-format=avc,alignment=au,byte-stream=false !队列 !解码器!队列 !视频速率!“视频/x-raw,帧率=30/1”!队列 !x264enc 线程=4 速度预设=超快比特率=3072 !多路复用器。

2) 谁能建议我应该如何使用 x265enc 元素将此管道更改为以 h265 格式广播?

4

1 回答 1

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 的 mux,我使用的是 mpegtsmux,但这不支持 video/x265,必须做一些工作。matroskamux 应该在使用 filesink 等时工作。

[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 等。

于 2015-12-10T08:24:38.050 回答