问题标签 [hevc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
3000 浏览

ffmpeg - FFMPEG:编码 x265,容器 mpeg2 ts,流 STARTCODE MISSING

我正在尝试使用 FFMPEG x265 对视频进行编码,将其放入 MPEG2 TS,然后通过 UDP 流式传输。然后在另一台电脑上接收并保存。执行 PSNR。

编码工作正常,但是当我尝试流式传输时出现错误:

[mpegts @ 00000000050b0520] HEVC 比特流错误,缺少起始码,大小 1436 数据 00000100

  • 第 1 步 - 编码:

ffmpeg -re -i test.ts -r 25 -b:v 2500k -preset medium -c:v libx265 -x265-params crf=27 -y -f mpegts test1.ts

没有错误,一切正常。

  • 第 2 步 - 流式传输:

缺少启动代码。

ffmpeg -re -i test1.ts -c copy -f mpegts udp://172.18.60.47:1234 ffmpeg version N-68441-g4fa42e0 Copyright (c) 2000-2014 the FFmpeg developers built on Dec 14 2014 22:13:03 with gcc 4.9.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnut le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --e modplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsc r --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable- --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zl libavutil 54. 15.100 / 54. 15.100 libavcodec 56. 14.100 / 56. 14.100 libavformat 56. 15.105 / 56. 15.105 libavdevice 56. 3.100 / 56. 3.100 libavfilter 5. 3.101 / 5. 3.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc 53. 3.100 / 53. 3.100 Input #0, mpegts, from 'test1.ts': Duration: 00:00:10.12, start: 1.480000, bitrate: 456 kb/s Program 1 Metadata: service_name : Service01 service_provider: FFmpeg Stream #0:0[0x100]: Video: hevc (Main) ([36][0][0][0] / 0x0024), yuv420p(tv), 1280x720, 25 fps, 25 tbr, 90k tbn, 25 tbc Output #0, mpegts, to 'udp://172.18.60.47:1234': Metadata: encoder : Lavf56.15.105 Stream #0:0: Video: hevc ([36][0][0][0] / 0x0024), yuv420p, 1280x720, q=2-31, 25 fps, 25 tbr, 90k tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (copy) Press [q] to stop, [?] for help **[mpegts @ 0000000004ed7320] HEVC bitstream error, startcode missing, size 2462 data 00000102** [mpegts @ 0000000004ed7320] HEVC bitstream error, startcode missing, size 302 data 00000102 [mpegts @ 0000000004ed7320] HEVC bitstream error, startcode missing, size 134 data 00000100 [mpegts @ 0000000004ed7320] HEVC bitstream error, startcode missing, size 149 data 00000100 [mpegts @ 0000000004ed7320] HEVC bitstream error, startcode missing, size 5107 data 00000102 [mpegts @ 0000000004ed7320] HEVC bitstream error, startcode missing, size 1331 data 00000102 [mpegts @ 0000000004ed7320] HEVC bitstream error, startcode missing, size 341 data 00000100 frame= 8 fps=0.0 q=-1.0 Lsize= 37kB time=00:00:00.24 bitrate=1278.4kbits/s video:34kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 9.718209% Received signal 2: terminating.

当我使用 x264 执行上述步骤时,一切正常。我可以流式传输视频,我可以在另一端接收它。知道有什么问题吗?这是一个BUG吗?

x264 的命令:

ffmpeg -re -i test.ts -r 25 -b:v 2500k -preset medium -c:v libx264 -x264-params crf=27 -y -f mpegts test1.ts

ffmpeg -re -i test1.ts -c 复制 -f mpegts udp://172.18.60.47:1234

谢谢您的帮助!!

BR,鲁迪

0 投票
0 回答
801 浏览

vlc - 将 h.265 视频编解码器集成到 VLC 播放器中

我的任务是向 VLC 播放器添加新的 h.265 解码器支持。所以我已经下载,在 Ubuntu 14.0 中构建 VLC 源代码,我的解码器将输入作为视频编码文件或 NAL 单元并输出解码图片。但我不明白 VLC 将如何与解码器通信?编写模块的详细步骤是什么?

0 投票
1 回答
379 浏览

hevc - (为什么)HM 是否将 CU 细分为具有相同 MV 的 PU?

在调试 HM 16.2 的解码时,我看到 CU 看起来像是被细分为 PU。每个 PU 具有相同的 MV。在 CU 中允许不同的 MV 是我(目前)知道将 CU 拆分为 PU 的唯一原因。

我想知道我是否误解了 CTU 数据结构 ( TComDataCU)*。谁能帮我这个?您知道将 CU 拆分为 PU 是否还有其他原因?

相关问题:

  1. 为什么TComDataCU拆分 64x64 CTU 会拆分为 256 个部分?(我最初预计会看到 64 个部分,每个最小可能的 8x8 CU 一个部分。现在我假设附加部分允许更小的 PU/TU。)
  2. TComMv::getHor()将其直接解释为 MV 是否正确TCovMv::getVer(),还是必须合并一些附加信息(例如合并/跳过信息、增量等)才能获得“真实”的 MV?

* 对于TComDataCU*被叫ctu,我看到

其中mvf = ctu->getCUMvField(REF_PIC_LIST_0)(仅使用单预测,使用简单的 GOP:I <- P <- P <- P ...),

将这些观察结果与我的问题联系起来,对于这个 CU,我了解 CU 有两个 PU,包括索引 48,50 和 49,51,例如

所以我期待

为什么两个 PU(看起来)具有相同的 MV?

0 投票
3 回答
8781 浏览

android - 适用于 HEVC 的 Android 媒体编解码器

我正在研究使用 android MediaCodec 类来解码 HEVC。有没有这样做的项目示例?

目前我使用以下配置解码器:

使用此设置时,我没有视频输出。我也试过分别设置csd-0,csd-1csd-2到 VPS、SPS 和 PPS,但没有运气。

我在控制台中收到以下错误,但已确定它不相关:

我发现它dequeueOutputBuffer总是在返回-1。似乎dequeueInputBuffer返回的索引queueInputBuffer在从dequeueOutputBuffer.

有没有人设法在 Android 上解码 HEVC 视频?

0 投票
1 回答
3259 浏览

android - Android MediaCodec HEVC 支持的分辨率

有谁知道解码 HEVC 时 Android MediaCodec 支持的分辨率是什么?

通过反复试验,我发现以下工作:

以下内容不会:

有官方文档吗?

0 投票
2 回答
514 浏览

hevc - 解析 HEVC 以获取运动信息

我通过简单地识别 sart 代码(000001 或 00000001)来解析 HEVC 流,现在我正在寻找 NAL 有效负载中的运动信息。我的目标是计算流中运动信息的百分比。有任何想法吗?

0 投票
0 回答
669 浏览

hevc - 解析非 IDR 帧的 HEVC 流

我用这段代码解析了 HEVC 流(在将字节转换为十六进制格式之后)

但是在查看 NAL 单元类型之后,我可以找到一些保留类型。正常吗?

0 投票
1 回答
445 浏览

video - 如何进一步从 HM for HEVC 开始?

我是 HEVC 的新手。我正在研究 HM 软件中的 HEVC。我已经使用 ./TAppEncoder -c encoder_randomaccess.cfg -c xxxx.cfg 成功运行了一个看到 Vcodex.com 的演示。我知道 .cfg 是包含所有详细信息参数的配置文件。

作为 HEVC HM 的新学习者,我的疑问是如何进一步了解如何使用和理解 HEVC 的 HM 软件。

或者,如果我必须做进一步的研究,我应该在哪里做出改变。

0 投票
1 回答
619 浏览

android - 在android上解码hevc

我正在尝试使用 android-ffmpeg 在 android 上制作视频播放器,它适用于 avc 流,但无法解码 hevc 流。用android-ffmpeg在android上解码hevc有什么特殊要求吗?

0 投票
1 回答
3569 浏览

linux-mint - 让 avconv 在 Linux Mint 17.1 上使用 x265

我按照此处的建议从多核软件编译并安装了 x265 编解码器:https : //bitbucket.org/multicoreware/x265/wiki/Home,然后按照此处的建议手动安装了启用 libx265 的 libav:https ://wiki.libav.org/编码/hevc

现在,当我尝试使用avconv(libav 附带的工具)将 x265 文件转换为其他格式时,它显示此错误:

当我尝试这样做时whereis libx265.so.50,它给了我这个:

所以,libx265 确实存在,但为什么 avconv/libav 没有检测到它?

更新:

  • 或者,您可以简单地回答如何让 x265 与 avconv 一起工作。
  • 我的系统规格是:Linux Mint 17.1,基于 Ubuntu 14.04