问题标签 [libvpx]

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

python - webrtc 的 libvpx KeyError

我正在使用 gyp 生成 webrtc 项目,在生成东西时,出现以下错误:

文件“/home/rtcdev/Nishant/src/webrtc/build/gyp_webrtc”,第 102 行,在 gyp_rc = gyp.main(args) 文件“/home/rtcdev/Nishant/src/tools/gyp/pylib/gyp/ init .py”,第 526 行,在主要返回 gyp_main(args) 文件“/home/rtcdev/Nishant/src/tools/gyp/pylib/gyp/ init .py”,第 502 行,在 gyp_main 参数中,options.check,options .circular_check) 文件“/home/rtcdev/Nishant/src/tools/gyp/pylib/gyp/ init.py",第 129 行,加载参数 ['parallel'],参数 ['root_targets']) 文件 "/home/rtcdev/Nishant/src/tools/gyp/pylib/gyp/input.py",第 2756 行,在加载 RemoveLinkDependenciesFromNoneTargets(targets) 文件“/home/rtcdev/Nishant/src/tools/gyp/pylib/gyp/input.py”,第 1501 行,在 RemoveLinkDependenciesFromNoneTargets if targets[t].get('variables', {}) .get('link_dependency', 0): KeyError: 'third_party/libvpx/libvpx.gyp:libvpx_obj_int_extract#host'

问题:

我没有得到这个错误想要告诉的内容以及如何克服这个错误?

0 投票
1 回答
358 浏览

c++ - 如何在 libvpx (webm) 中编码灰度视频?

我有来自我们正在开发的网络灰度相机的原始图像流。在这种情况下,我们的图像是 8 位像素 (640x480) 的数组。由于这台相机每秒输出超过 200 帧,我需要尽快将这些图像存储为 WebM 视频,以免丢失任何帧。

使用 libvpx 的最佳方法是什么?

0 投票
1 回答
368 浏览

linux - 构建 libvpx 时未定义的引用

我正在尝试将 libvpx 构建为静态库,以便稍后在 FFmpeg 构建中使用,但我遇到了麻烦。我使用的 libvpx 版本是 1.6.0。

这是我的配置: ./configure --prefix=/home/test/Dev/build-x64/libvpx/ --enable-static --disable-shared --target=x86_64-linux-gcc

在制作过程中,屏幕上会显示很多错误:

认识到错误始于测试,我尝试禁用单元测试: ./configure --prefix=/home/test/Dev/build-x64/libvpx/ --enable-static --disable-shared --target=x86_64- linux-gcc --disable-unit-tests

而是得到了这个:(......很多行......)[CC]示例/resize_util.co [LD]示例/resize_util示例/resize_util.co:在函数main': resize_util.c:(.text.startup+0x1e8): undefined reference tovp9_resize_frame420'collect2中:错误:ld返回1退出状态[1]:* [examples/resize_util] 错误 1 ​​制作:* [.DEFAULT] 错误 2

我的电脑上有 libogg 1.3.1 和 libvorbis 1.3.2。(不确定它们是否被使用过。)

我很难过,我真的很感谢这里的一些指导。

0 投票
2 回答
1934 浏览

ffmpeg - ffmpeg 更喜欢在 VP9 中编码,但我正在尝试在 VP8 中编码

我正在尝试专门在 VP8 中编码 webm 视频文件,但 ffmpeg 正在强制使用 VP9。我正在使用-c:v libvpx,据我所知应该是 VP8,但是当它编码时,我看到它在 VP9 中编码:

我拥有的构建确实有--enable-libvpx--enable-libvpx-vp9标志。它也是最新的默认静态构建,我没有做任何更改,只是提取它:ffmpeg-20160828-a37e6dd-win32-static.zip

我使用过时的版本很长时间了,今天更新了。我在网上找不到任何文档来帮助我解决这个问题。

0 投票
1 回答
3352 浏览

video - FFmpeg CRF 控制使用 x264 与 libvpx-vp9

我有一些使用 x264 的 ffmpeg 的经验,我想与 libvpx-vp9 进行比较。我测试了一个简单的原始视频单通道编码,使用 x264 和 libvpx-vp9 改变 crf 设置和预设。我是 libvpx 的新手,我仔细地遵循了这一点,但我可能仍然指定了错误的参数组合,因为我得到的结果对我来说没有多大意义。

对于 x264,我做了:

并得到以下结果:

这对我来说很有意义,给定一个 crf 值,您会得到一个 PSNR 值,并且更改预设可以降低比特率,但会增加编码时间。

对于 libvpx-vp9 我做了:

首先,我从在线教程中认为该-cpu-used选项相当于-presetx264 中的选项。那是对的吗?如果是这样,有什么区别-quality?此外,由于范围从 -8 到 8,我假设负值是快速选项,而正值是最慢的选项。我得到的结果非常令人困惑:

比特率非常低,PSNR 似乎不受crf设置的影响(与 x264 相比非常低)。该-cpu-used设置的影响非常小,而且似乎 -2 和 2 是相同的选项。我错过了什么?我希望 libvpx 需要更多时间来编码(这绝对是真的),但同时转码质量更高。我应该使用哪些参数来与 x264 进行公平比较?

编辑:感谢@mulvya 和这个文档,我认为要使用 libvpx 在 crf 模式下工作,我必须添加-b:v 0. 我重新运行了我的测试,我得到:

通过添加 PSNR 和比特率显着提高-b:v 0

0 投票
0 回答
1168 浏览

linux - 当ffmpeg等待重新连接到相机时,添加空白帧?

我正在使用的命令就是这个。

它需要一个 MJPEG 流并将其保存到 WEBM 用于一个输出,另一个输出直接到 stdout,因为我将它用于其他用途。

它工作得很好。唯一的问题是,当连接断开到相机时,它只是从重新连接的位置缝合在一起。

我想在断开连接的位置之间添加空白帧。有没有选择或方法来检测它?那么也许我可以用标准输入推送一些数据?

添加空白帧的目的是使其具有适当的长度,即使它来自实际流本身的“丢失帧”。

0 投票
1 回答
3996 浏览

cmd - 使用 ffmpeg 和 libvpx 从许多图像中编码 webm 时出错

我使用的命令是:

输出是:

错误是:

我不确定到底是什么导致了这个问题,我按照本教程进行操作,但是他们没有提到错误。我应该提到我没有使用音频,所以我没有使用音频编码器(我确实尝试使用音频编码器来确保,这不是问题)

0 投票
2 回答
12585 浏览

encoding - VP9 编码限制为 4 个线程?

我正在考虑在未来使用 VP9 对我的 BluRays 进行编码,因为它是一个开源编解码器。但是我不能让 Handbrake 或 ffmpeg 使用超过 50% (4) 我的 (8) 个内核。因此,编码时间比使用所有内核的 x264/5 差得多。

在手刹中,我只是将编码器设置为 VP9 和 CQ19。threads 8如果我添加,threads 16threads 64在参数字段中没有区别。

在命令行 ( -c:v libvpx-vp9 -crf 19 -threads 16 -tile-columns 6 -frame-parallel 1 -speed 0) 中测试 ffmpeg 也不再使用任何 cpu 线程。

当前的编码器是否无法在超过 4 个线程上进行编码,或者我做错了什么?

  • Linux 薄荷 18
  • 手刹 0.10.2+ds1-2build1
  • ffmpeg 2.8.10-0ubuntu0.16.04.1
  • libvpx3 1.5.0-2ubuntu1
0 投票
1 回答
1359 浏览

gstreamer - gstreamer中vp8enc的实时视频可以使用哪些设置?

我正在研究使用此元素对实时视频进行编码,并且在大多数情况下,输入视频相对简单,它可以正常工作。然而,对于我们的某些场景,编码器落后了。(特别是我们有一个测试场景,其中有一群鸟,编码器适合。)

查看输出,我相信这是因为该元素似乎没有针对复杂场景调整 QP。不过,我没有看到针对“实时”视频的特定调整。有没有人有什么建议?

0 投票
1 回答
2824 浏览

ffmpeg - FFmpeg - 为 VP9 编码选择合适的比特率

我希望在 VP9 中以最佳质量编码使用 iPhone 6s 拍摄的 4k 视频。

作为参考,我想通过以下方式编码的视频流数据ffprobe

我正在使用以下 FFmpeg 命令,基于这些说明(参见Best Quality (Slowest) Recommended Settings章节)。

  1. ffmpeg -i INPUT.mov -c:v libvpx-vp9 -pass 1 -b:v 46000K -threads 4 -speed 4 -g 9999 -an -f webm -y /dev/null
  2. ffmpeg -I INPUT.mov -c:v libvpx-vp9 -pass 2 -b:v 46000K -threads 4 -speed 0 -g 9999 -an -f webm OUTPUT.webm

是否有最佳实践来选择最佳-b:v值,以使生成的视频在视觉上与原始视频无法区分?我尝试了从 36000K 到 46000K 的值,但这些值会导致总比特率超过目标比特率的海量文件。

提前致谢!