问题标签 [h.265]

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 回答
134 浏览

compression - 视频编解码器:确定宏块的类型

在我的视频编解码器中,我有两种类型的帧:帧可以是参考帧(类似于 JPEG)或增量帧。Delta 帧也类似于 JPEG,但根据当前帧和先前帧的差异完成。

现在我想定义 ref/delta 信息不是每帧而是每个宏块(16x16 像素)。为此,我需要确定宏块应该是 ref 还是 delta 宏块。我应该根据什么做出这个决定?理想情况下,我想选择一个压缩比更好的那个,但是我怎样才能以一种聪明的方式来决定这个,而不是在两种模式下实际压缩宏块,然后选择一个产生更好的压缩比?

我现在能想到的唯一方法是计算宏块内像素差异的总和,如果该总和大于某个阈值,则将宏块分类为 ref。否则三角洲。但这听起来不像是一个强大的解决方案。

0 投票
1 回答
618 浏览

video - 使用 HEVC HM 解码器参考 HEVC 文件解码

我正在尝试使用 HEVC HM 参考代码来解码有损失的可扩展 HEVC 文件。但是,在没有损失的情况下,解码器似乎运行良好,但是当我尝试解码损坏的文件(在基本和/或增强数据包中遇到一些损失)时,解码器似乎在失败时跳过了所有后续帧解码一帧。

我正在使用以下命令行来解码文件。

/bin/TAppDecoderStatic -b 输入文件.265 -o 输出文件.yuv

是否有任何特定选项可以克服此限制,或者可能有适用于 HM 的补丁。我也愿意使用任何其他解码器。我试过ffmpeg,但似乎遇到了同样的问题。谢谢。

0 投票
2 回答
249 浏览

parsing - hevc 每个切片的编码树块数

我试图在没有实际进行任何解码的情况下确定 hevc 图片的每个切片中包含的编码树块的数量——除了 sps pps 和切片头解析。

是否可以从切片头计算切片结束地址?

0 投票
1 回答
331 浏览

hevc - 如何在 HTM 软件中为多视图视频设置输入文件

我是 HM Software 的新手。我已经尝试过用于单声道和立体声视频的 HM 软件,现在我对使用用于多视图视频的 HTM 软件有点困惑。我使用从这里baseCfg_3view.cfg下载的视频气球的配置文件。在配置文件中有输入视频的示例设置:baseCfg_3view.cfg

所以我尝试使用与 Mono 和 Stereo 相同的命令进行 Multiview 对视频进行编码:

我得到了这个错误:

我不知道如何在命令中设置输入文件视频来对视频进行编码,我应该使用相应的视频而不是使用上面链接中的视频吗?

提前致谢

0 投票
0 回答
1678 浏览

gstreamer - gstreamer 的 h265parse 元素如何转换缓冲区?

我正在尝试将视频rtph265pay从一个元素中输入,appsrc以便 gstreamer-rtsp-server 框架可以提供一个流。

如果我给框架一个这样的管道,appsrc name=hevc ! h265parse ! rtph265pay name=pay0那么它就可以正常工作。如果我删除h265parse并调用框架setCaps()appsrc解析版本,video/x-h265,stream-format=hvc1,alignment=au,parsed=true则会退出整个应用程序而不会出现明显的错误消息。(经过更多实验后,它很可能会崩溃,因为它试图分配惊人的内存量并且失败了。我必须停用所有交换以确保我的机器保持交互)

我已经在测试管道的identity silent=false任一侧安装了测试管道,h265parse以试图了解它在做什么,但我不确定哪个差异是重要的。

相对

我可以看到的差异包括:

  • 它增加了一个字节(不知道为什么,或者什么)
  • 它将 PTS 移动 -1/24 (单帧周期)
  • 它删除了持续时间
  • 它将偏移量设置为一个值,该值似乎是修改后字节数的总和(并不奇怪)
  • 它设置了一个标记为 delta-unit 的标志

如何调整发送到 的缓冲区,appsrc以便不再需要 的开销h265parse?我已经非常接近了,但是该h265parse元素的文档可以描述为介于稀薄和不存在之间的某个地方(gst-plugins-bad 元素列表中甚至没有该元素的文档链接)。

0 投票
1 回答
745 浏览

hevc - 如何在原始 HEVC/H.265 流中找到一个完整视频帧的第一个 NALunit?

在原始 HEVC/H265 基本流中,如何找到一个视频帧的第一个 NALunit?访问单元分隔符/access_unit_delimiter_rbsp() 似乎是一个不错的选择,但在视频流中是可选的。

0 投票
1 回答
2008 浏览

ios - 使用 AVPlayer 播放 H.265 视频文件

我正在尝试使用 AVPlayer 播放 H.265 视频文件(都在 iOS 10,11 中)。以下是代码:

音频播放正常,但视频不显示(我正在使用 AVPlayerViewController)。我读过 iOS 11 支持 H.265,但结果对我来说是一样的(音频播放但视频不显示)。

我尝试传输文件并使用其他应用程序播放。它与 ShareIt 配合得很好。任何人都可以建议图书馆播放此内容吗?或者 shareIt 使用什么内置音乐播放器?我的代码有什么错误吗?有人成功使用 AVPlayer 播放 H.265 文件吗?

0 投票
0 回答
948 浏览

ios - 解码 HEVC 时 iOS VTDecompressionSessionDecodeFrame 错误 -12909

使用 VTDecompressionSessionDecodeFrame 时,我在通过 rtsp 流式传输原始 H.265 时遇到了一些问题。我做的 3 个主要步骤如下:

格式描述如下所示:

解码帧时,我在解压缩回调中得到 OSStatus -12909。因此,我认为在创建格式描述时正确处理了 VPS、PPS 和 SPS。解压会话也已成功创建。我还可以成功解码和渲染 HEVC 流,例如这个:如果将 CMVideoFormatDescriptionCreateFromHEVCParameterSets 更改为 CMVideoFormatDescriptionCreateFromH264ParameterSets,则该解决方案在流式传输原始 H.264 时也有效。

有什么想法可能是错的吗?是否支持格式描述?遗憾的是,苹果方面没有太多关于 HEVC 解码的文档。如果使用 ffmpeg,我可以流式传输我的 H.265 流,所以我猜流应该是正确格式的。

0 投票
1 回答
71 浏览

hevc - 如何在HM测试模型中获取信息并输出绝对差值和?

我正在使用软件参考 HM Test Model 16.9, How to get information and output of Absolute Difference in HM Test Model? 是否可以通过配置文件进行配置并将其保存到文本文件中?我已经阅读了软件手册,但找不到任何内容。

提前致谢

0 投票
0 回答
821 浏览

ffmpeg - ffmpeg 和 x265 < ProRes 的最快搜索速度和解码

我正在尝试使用 x265 优化寻道速度。无论我尝试什么编码设置,ProRes 仍然会更快/更优雅地搜索。这是有道理的,因为它是为编辑而构建的,但我确信我必须缺少一些东西来更好地改进 x265。

到目前为止,-tune fastdecode、keyint=1、maxrate 和 -b(去除 B 帧计算)产生了最好的结果,但仍然不能令人满意。我一直在翻阅文档,但是有太多我不明白的行话。也许另一个像 VP9 / WebM 这样的编解码器会更好地达到这个目的?

据我所知,CPU、读取速度或 RAM ……或 GPU 没有瓶颈。监控这些过程显示出最小的消耗。像 x265 这样的高度压缩格式中是否存在无法规避的解码量?

预先感谢您的帮助。