问题标签 [vp9]

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

c++ - 使用 libvpx 的实时 VP9 编码

我想使用 VP9 编解码器实时编码 3D 渲染图像,以便通过网络发送它们。我需要小的延迟(理想情况下每个帧都应该单独编码),所以 FFMPEG 具有分离的发送和接收功能不是一个选项。我选择了 libvpx。

我实现了功能,但它提供了可怕的性能(在 1280x728 分辨率下 <1FPS,没有色度二次采样,位深度 8)。

现在的问题是,当我为这个特定的用例初始化编码器时,我不知道应该通过什么设置。

此外,即使我知道加速 VP9 的选项(例如“speed”和“row-mt”),它们是 VP9 特定的,我无法找到一种方法来调整那些使用 libvpx 的 API 的选项,即使在查看之后源代码。看起来它们所在的结构(例如 VP9EncoderConfig)并未以任何方式向用户公开。

TL;博士:

  1. 哪些编码器设置适合我的用例?
  2. 如果它们是特定于 VP9 的,如何将它们传递到 libvpx 中?
0 投票
1 回答
150 浏览

ffmpeg - mpeg1、vp9、theora和h264帧内无损编码的奇怪结果

我尝试了一些序列的无损帧内编码,包括来自 xiph.org 的序列: https : //media.xiph.org/video/derf/y4m/foreman_qcif.y4m 奇怪的是 mpeg1video 在尺寸上以很大的优势获胜。我在这些设置中使用了 FFmpeg:

我得到的尺寸:mpeg1video - 2643968;西奥拉 - 2949677; vp9 - 5636841;h264 - 5743014;所以问题是:在这种模式下,mpeg1video 真的以这样的优势击败了他们吗?

0 投票
1 回答
783 浏览

ffmpeg - 带有 VP9 + RTSP 的 FFMPEG

当我们使用 HEVC + RTSP 时,ffmpeg 工作正常。流由网络摄像头捕获。

输出如下:

然后我们切换到 VP9 + RTSP。

fps 和速度看起来太慢了:

然后我们使用 ffplay 播放流。有很多错误消息,视频似乎冻结了。

最后,我们尝试硬件 VP9 编码器。

它行不通。

那么,我们怎样才能成功的处理VP9+RTSP呢?

0 投票
1 回答
671 浏览

firefox - Firefox 中的 WebM/VP9 支持

据我了解,Firefox 和 Chrome 都支持 WebM/VP9 已经有一段时间了。

但是,在我的机器上 MediaRecorder.isTypeSupported('video/webm;codecs=vp9')false在 Firefox 中返回,但true在 Chrome 中。

软件:Firefox 81.0、Chrome 85、MacOS 10.15。MacBook Pro i7 2016。可能与硬件有关吗?

火狐

0 投票
1 回答
546 浏览

ffmpeg - FFMPEG 拒绝通过 h264_nvenc 重新编码 vp9

使用 Windows,FFMPEG 在将 vp9/opus .webm 视频重新编码为 h264_nvenc/aac 时会引发错误。

问题在于尝试通过 h264_nvenc 重新编码,因为使用 libx264 工作得很好。

h264_nvenc 在重新编码 h264 时工作得很好。

0 投票
0 回答
74 浏览

ffmpeg - c++代码如何将ffmpeg的AVPacket转成webm流?

我很困惑如何将 ffmpeg AVPacket 转换为实时流,以便我可以使用 HTML5 播放它。

我已经有了AVPacketffmpegavcodec_encode_video2

而且我也知道如何将数据包转储到 webM 文件。

但是,如何使用数据包创建流服务器以进行前端播放?

0 投票
0 回答
97 浏览

video - 这个YUV420视频怎么会有尺寸不均匀的

只是想巩固我对视频编解码器的理解,似乎找不到任何有关此的信息。

https://www.mediafire.com/file/cbx8sciq5mie94m/arrow.webm/file包含一个很小的 ​​vp9 webm。这是我通过ffmpeg简单的 gif -> webm 转换生成的。

源 gif 有一个13x11分辨率。不知何故,输出视频也有一个13x11分辨率。我试图理解这是怎么可能的。

据我所理解:

  1. YUV420 像素格式将使这成为不可能,因为 2 的色度子采样因子强制要求除以二。

  2. VP9 本身的最小块大小为 16x16(?),因此至少必须编码那么多数据(?)

因此,我假设我们在这里编码的 ~14x12 或 ~16x16 视频流被以某种方式缩放或裁剪到 13x11。

问题是我找不到任何关于这是如何工作的解释。

这是流的 ffprobe 输出:

最后一帧:

关闭coded_widthandcoded_height值(应该在任何缩放(?)之前表示“真实”宽度/高度)加上sar值 1,据我所知,这确实是一个 13x11 视频流,但这应该是不可能的,不是吗?

我的问题是,为什么这是一个有效的视频文件?

如果我尝试将像素格式zscale的分辨率设为不均匀,YUV420我会遇到预期的色度二次采样错误。

0 投票
0 回答
55 浏览

opencv - 以 VP9、VP8 或 H.264 数据流式传输数据,但将其以 .mov 格式存储在 AWS 上的 s3 存储桶中

我可以使用以下代码从 RTSP 相机收集帧。但需要帮助将数据作为视频文件存储在 S3 存储桶中。但是存储框架会占用大量存储空间。

youtube 等平台如何存储流媒体数据?如何以 VP9、VP8 或 H.264 数据流式传输数据,但以 .mov 格式将其存储在 AWS 上?

需要减少网络使用和存储使用。

想知道这是否有帮助

0 投票
1 回答
199 浏览

webrtc - 如何强制 Mediasoup 使用 vp9 编解码器?

我们安装了 Mediasoup,没有问题。我们使用的是与 vp9 编解码器兼容的 mediasoup 版本。我们遇到的问题是它默认使用 h.264 编解码器,我们在带宽受限的环境中运行,我们需要使用 VP9。我们如何才能强制 Mediasoup 始终使用 VP9?

我们可以强制 Chrome 请求 VP9 连接吗?

谢谢,

0 投票
1 回答
650 浏览

webrtc - WebRtc 带宽/分辨率/帧率控制

我想知道为什么我通常传输320 240分辨率的视频,默认我的上行流量是1.5MB;当我修改SDP带宽限制时,例如500kbps / s,我的视频宽度和高度仍然是320 240和帧率没有减少;那么,这减少的上行流量究竟是什么?

= =