问题标签 [libx265]

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

amazon-s3 - 如何将 h265 视频从 ffmpeg 流式传输到 amazon s3?

我正在尝试将 h265 视频从 ffmpeg 流式传输到 aws s3,这是我使用的命令:

和错误信息:

这里有什么问题?

0 投票
1 回答
7882 浏览

ffmpeg - 如何在ffmpeg中将视频文件编码为x265 10bit main10配置文件

我目前正在尝试对视频文件进行编码,ffmpeg -i input.mkv libx265 crf=28 -x265-params profile=main10 out.mkv但我得到的输出文件是 8 位的?

0 投票
0 回答
279 浏览

c - FFMPEG libx265 编码在 avcodec_free_context 后未释放内存

我正在开发 H265 编码软件,在我的单元测试中,我有一些奇怪的内存泄漏。为了找到它们,我修改了FFMPEG 文档encode_video.c中的示例。我更改了分辨率以对应 4K 视频,我调整了比特率,并在上下文分配之前添加了一个暂停,在最终返回之前添加了另一个暂停:

我原以为第一次暂停时的 RAM 内存使用量与第二次暂停时相同,但有大约 55 Mo 的差异。如果我增加编码帧的数量,这个差异高达 390 Mo。我已经在 Linux Mint LMDE 4(与 Debian 10 大致相同)下测试了这段代码。

我猜这个内存“泄漏”并不是真正的内存泄漏,而是 libx265 使用的一些内部值,可能会被重新用于另一种编码。但是有没有办法通过 FFMPEG API 释放这个内存?

0 投票
0 回答
120 浏览

ffmpeg - 如何在 ffmpeg 上使用来自 x265 的 --abr-ladder

根据发行说明,我正在尝试找出如何在 ffmpeg 上使用最新的x265 abr-ladder 选项,与顺序生成相比,它有望节省多达 65% 的时间,但是:(1)我不确定它是否已经在 ffmpeg 上可用或如何查找,如果是 (2) 在配置文件中指定输入/输出而不是 ffmpeg CLI 会导致 ffmpeg 抱怨缺少所需的参数。

x265 存储库中,有一个配置文件示例,但我在那里或 ffmpeg 存储库中找不到关于如何使用这种似乎不遵循 ffmpeg 的 CLI 标准的参数的说明。显然,可以使用 ffmpeg 在单个命令中创建多个输出,但我再次无法使其工作。

所以我正在寻找的是--abr-ladderx265 参数的使用示例。谢谢你。

0 投票
1 回答
457 浏览

ffmpeg - 在 C 项目中解码 x.265 (HEVC) 流的免费和开源库?

我正在用 C 语言做一个项目,它需要向用户播放传入的 HEVC 内容流。我的理解是我需要一个库来为我提供 HEVC 解码器的 API(不是编码器,而是解码器)。到目前为止,这是我的选择:

  • 看起来很完美,x265但都是关于编码部分(而不是解码它!)。我对 HEVC 编码器的 API 不感兴趣,我想要的是解码器部分。
  • libde265OpenHEVC但我不确定他们有我想要的。在他们的文档中找不到任何可以用来解码内容的 API,但是由于那里有使用这些库的播放器,我假设它必须在某个地方......找不到它尽管 !
  • 有一个ffmpeg项目有自己的解码器(包括 HEVC),但我不确定这是不是正确的事情,因为我只想要 hevc 解码器而没有别的。

干杯

0 投票
1 回答
1057 浏览

ffmpeg - x265:如果使用 frame-threads=1,我会得到更小的文件吗?

根据有关/选项的x265 命令行选项文档-F--frame-threads

使用单帧线程在压缩方面略有改进,因为整个参考帧始终可用于运动补偿,但它具有严重的性能影响。

这会显着影响文件大小吗?

0 投票
0 回答
233 浏览

ffmpeg - FFMPEG 屏幕录制:如何使用 ffmpeg 和 xorg 获取 H265 (libx265) 录制?

我真的很感激我能在这里得到的所有帮助。

我正在尝试使用 libx265 编解码器来录制 xorg 虚拟屏幕。当前适用于 H264(libx264 编解码器)的命令是:

ffmpeg -y -v info -f x11grab -draw_mouse 0 -r 30 -s 1280x720 -thread_queue_size 4096 -i :0.0+0,0 -f alsa -acodec aac -strict -2 -ar 44100 -b:a 128k -af aresample =async=1 -c:v libx264 -preset fast -profile:v main -level 3.1 -pix_fmt yuv420p -r 30 -crf 21 -g 60 -tune zerolatency -f mp4 capture.mp4

在尝试获取 H265 时,我首先将编解码器更改为 libx265,如下所示:

ffmpeg -y -v info -f x11grab -draw_mouse 0 -r 30 -s 1280x720 -thread_queue_size 4096 -i :0.0+0,0 -f alsa -acodec aac -strict -2 -ar 44100 -b:a 128k -af aresample =async=1 -c:v libx265 -preset fast -profile:v main -level 3.1 -pix_fmt yuv420p -r 30 -crf 21 -g 60 -tune zerolatency -f mp4 capture.mp4

但这并没有做到。虽然它没有出错,但它生成的文件播放速度是录制速度的两倍(即录制的剪辑速度的两倍)。

然后我尝试使用 -x265-params 来指定这样的参数:

ffmpeg -y -v info -f x11grab -draw_mouse 0 -r 30 -s 1280x720 -thread_queue_size 4096 -i :0.0+0,0 -f alsa -acodec aac -strict -2 -ar 44100 -b:a 128k -af aresample =async=1 -c:v libx264 -preset fast -x265-params profile=main:level=3.1:crf=21 -pix_fmt yuv420p -r 30 -g 60 -tune zerolatency -f mp4 capture.mp4

这给了我以下消息的错误:

“输出文件 #0 不包含任何流 ffmpeg”

我尝试了各种组合,在网上广泛搜索(关于如何设置 265 参数和输出文件错误),但我没有取得进展。我对这一切真的很陌生。谁能帮忙(用最简单的术语和方向)?

0 投票
2 回答
1323 浏览

ffmpeg - 将 16 位灰度 PNG 转换为 HEVC/x265

我想将 12 位图像信号转换为 HEVC 以进行有效压缩。因为我需要能够重建原始的 12 位信号,所以压缩需要是无损可逆的。目前我的数据是 16 位 PNG 文件。

我的第一次尝试是使用 ffmpeg:

不幸的是,输出是不可逆的。从 mp4 中提取图像时,像素值略有偏差。

以下答案建议首先将输入转换为 YUV444 以避免 ffmpeg 的意外行为:无损 x264 压缩

到目前为止,我未能成功地将我的 16 位文件转换为 YUV,将其转换为 x256 并在解码时接收到正确的重建。

有没有直接的方法将 16 位图像转换为 HEVC?

0 投票
0 回答
131 浏览

video - HEVC 编码器或 x265 中的 2 次通过率控制

我想在 HEVC 编码器参考代码中使用 2-pass rate control,但我不知道是否有配置设置可以做到这一点。我的目标是在第一遍速率控制中编码原始序列,并在第二遍中对原始序列的过滤序列进行编码。

我看到这可以在FFmpegx265中完成,但是给编码器提供两个不同的输入视频(原始视频和过滤视频),它仍然有意义吗?任何关于如何在 HEVC 编码器/x265 中执行此操作的想法或任何评论都将不胜感激。

0 投票
1 回答
637 浏览

ffmpeg - 获取 HVEC/h265 视频的 HLS 流

我想做的事?

生成文件的 HVEC ( h265) HLS mp4

我已经尝试过什么?

我遇到了这篇文章https://superuser.com/a/1416549/1084556。它首先要求将h264视频转换为h265格式,然后进行 HLS 打包。

所以我跑了

上面的命令足以生成h265在 macOS 上的 QuickTime Player 上运行的编码视频。

接下来我

上面的命令生成了一些m4s文件hls.m3u8init.mp4这似乎是预期的行为,但是当我托管文件并尝试在任何在线媒体播放器中播放时,它不起作用,并引发错误

使用的播放器 ( https://hls-js.netlify.app/demo/ , https://bitmovin.com/demos/stream-test )