问题标签 [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 投票
1 回答
2675 浏览

video - HEVC:从输入 bin 流中获取输入宽度和高度

我使用HM-12.0参考代码创建了一个基本的 bin 流。所以输出是一个 HEVC 编码的 bin 流(比如 input.bin)。

我有一个任务涉及读取这个基本流的标题。那就是我需要从文件中获取诸如流宽度、高度等信息input.bin

在看到很多流之后,我可以得出结论,所有这些 bin 流都是从序列开始的:

所以每当我在任何 bin 流中看到这个序列时,我可以说这个流必须由 HEVC 解码器解码。

此外,如果我想从 input.bin 中获取宽度、高度、fps 等(如 ffmpeg 中的 ff_raw_video_read_header 函数),那么需要执行哪些步骤来获取此信息?

我已经浏览了 HEVC 草案的解析部分,但对于我在视频领域的水平来说,它非常复杂。谁能建议一种从编码的 bin 文件中获取所需信息的简单方法?

任何建议都会对我很有帮助。提前致谢。

0 投票
0 回答
1092 浏览

stream - 流式传输 hevc 视频

请在这里帮助我。

我想将驻留在服务器(例如Linux流服务器)上的HEVC编码比特流打包并流式传输到客户端机器(Linux),在该客户端机器(Linux)将删除RTP标头,并使用HEVC解码器将比特流解码为YUV。

这些阶段将包括:

  • 编码原始 YUV 并获得 HEVC 比特流 ---Server
  • 使用 RTP 对比特流进行打包/封装----服务器
  • 通过 UDP 流式传输的 RTP 数据包
  • 删除 RTP 并存储 --- 客户端
  • 使用 HEVC 解码器解码比特流----客户端

目前,我只对视频进行了编码。

我想首先将编码过程中的比特流打包。

如果有人能帮助我提供有关如何提取 HEVC NAL 单元和打包以通过网络流式传输的信息,我将不胜感激。

非常感谢。

詹姆士

0 投票
1 回答
1016 浏览

algorithm - 率失真优化量化

嗨,我正在使用 HM 参考代码版本 10.0 研究 HEVC 标准。基本上我打算进行RD优化量化。理论上我们需要最小化成本函数 J=D+Lambda*R。我的问题是我们如何在对特定帧进行熵编码之前估计 R。还有哪个算法用于 HM 代码中的 RDOQ。请为我提供帮助,哪些是在 HM 代码中进行 RD 优化的函数。我无法遵循代码流。如果您向我提供任何解释 HM Ref 代码中的代码流的链接,我会很高兴。谢谢..

0 投票
1 回答
848 浏览

ffmpeg - FFMPEG:HEVC 解码器中的帧参数初始化

我正在浏览集成在 FFMPEG 中的 HEVC 解码器。我实际上是在尝试了解它的流程和工作方式。

通过流,我的意思是代码中读取输入 .bin 文件的各种参数的部分。比如它在哪里读取分辨率,它在哪里决定它需要播放的 fps,输出显示格式是 yuv420p 等。

最初我怀疑是位于/libavformat/hevcdec.cIn this file 的 hevc 的 demuxer 执行输入文件读取工作。有一个探测函数,用于检测在解码输入 bin 流时选择哪个解码器。此外,我们有一个FF_DEF_RAWVIDEO_DEMUXER. 从输入文件中读取的分辨率和其他参数是否在此函数中?

其次,我怀疑hevc解析器位于:/libavcodec/hevc_parser.c但在这里我认为它只是解析帧数据,即找到帧尾。那么,我的这个假设对吗?

任何建议或任何预测都会对我很有帮助。请提出您宝贵的建议。提前致谢。

0 投票
0 回答
324 浏览

decode - 解析和 CABAC 解码器模块

谁能帮我设计 HEVC 的解析和 CABAC 解码引擎。我已经用谷歌搜索了它,但没有得到确切的东西。

0 投票
1 回答
296 浏览

hevc - 块的 HEVC 像素

所以我在玩 HEVC 的代码,想知道如何找到一个块的像素。更具体地说,假设我有一个 32x32 CU,我怎样才能找到那个 32x32 块中的实际像素?

我用来提取 CU 的代码是(取自 3d-HEVC 的 TEncSearch.cpp):

从那我添加了以下内容,这导致了一个 32x32 块:

有谁知道我怎样才能找到那个 32x32 块的实际像素?

谢谢

0 投票
2 回答
4495 浏览

video - 在编码比特流中查找帧大小

我正在使用 HM 12.1 参考代码。我必须从编码的 h.265 位流中找到以字节或 KB 为单位的帧大小。我对视频处理很陌生,我陷入了困境。请帮忙!

0 投票
3 回答
404 浏览

android - HEVC 解码器端口 Android 警告:从 'signed char*' 到 'char const* 的无效转换

我正在尝试将 HEVC 交叉编译到 Android https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/trunk/ 我的本机系统是 Ubuntu 12.04 32bit。我使用 android-NDK r9c 的独立工具链创建了目标系统,如下所示

我将以下行添加到 ~/.bashrc

这是修改后的makefile

我得到的编译器警告是:invalid conversion from 'signed char*' to 'char const* 后来因为这个问题strstr崩溃了

顺便说一句,代码可以在本机系统上完美编译和运行。

这个问题是因为缺乏对基本 C++ 库的支持吗?我需要提供不同的包含路径吗?由于这是一个巨大的代码,手动处理这些警告的选项是不可能的。

任何提示将不胜感激,感谢您的时间

0 投票
1 回答
201 浏览

video - 在 HM 12.1 参考代码中查找 PU 尺寸

我正在使用 HM 12.1 参考代码。我的任务是从编码的 h.265 比特流中找到 PU 尺寸(对称和非对称)。
在 TLibDecoder > TDecEntropy.cpp > decodePUWise 函数中,我插入了一个 printf 语句来打印尺寸,但它似乎没有给出正确的答案。请帮忙!


for ( UInt uiPartIdx = 0, uiSubPartIdx = uiAbsPartIdx; uiPartIdx < uiNumPU; uiPartIdx++, uiSubPartIdx += uiPUOffset ) { printf("%d X %d\n", pcCU->getHeight(uiSubPartIdx), pcCU->getWidth(uiSubPartIdx)); /* I put this code */

0 投票
1 回答
522 浏览

video - 亮度和色度

嗨,在特定的 YUV 序列中,如何知道色度细节更多还是亮度细节更多。因为有时色度 PSNR 增益太好了,亮度下降了。这是否意味着色度细节更多...