问题标签 [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.
c++ - 使用 libvpx 的实时 VP9 编码
我想使用 VP9 编解码器实时编码 3D 渲染图像,以便通过网络发送它们。我需要小的延迟(理想情况下每个帧都应该单独编码),所以 FFMPEG 具有分离的发送和接收功能不是一个选项。我选择了 libvpx。
我实现了功能,但它提供了可怕的性能(在 1280x728 分辨率下 <1FPS,没有色度二次采样,位深度 8)。
现在的问题是,当我为这个特定的用例初始化编码器时,我不知道应该通过什么设置。
此外,即使我知道加速 VP9 的选项(例如“speed”和“row-mt”),它们是 VP9 特定的,我无法找到一种方法来调整那些使用 libvpx 的 API 的选项,即使在查看之后源代码。看起来它们所在的结构(例如 VP9EncoderConfig)并未以任何方式向用户公开。
TL;博士:
- 哪些编码器设置适合我的用例?
- 如果它们是特定于 VP9 的,如何将它们传递到 libvpx 中?
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 真的以这样的优势击败了他们吗?
ffmpeg - 带有 VP9 + RTSP 的 FFMPEG
当我们使用 HEVC + RTSP 时,ffmpeg 工作正常。流由网络摄像头捕获。
输出如下:
然后我们切换到 VP9 + RTSP。
fps 和速度看起来太慢了:
然后我们使用 ffplay 播放流。有很多错误消息,视频似乎冻结了。
最后,我们尝试硬件 VP9 编码器。
它行不通。
那么,我们怎样才能成功的处理VP9+RTSP呢?
ffmpeg - FFMPEG 拒绝通过 h264_nvenc 重新编码 vp9
使用 Windows,FFMPEG 在将 vp9/opus .webm 视频重新编码为 h264_nvenc/aac 时会引发错误。
问题在于尝试通过 h264_nvenc 重新编码,因为使用 libx264 工作得很好。
h264_nvenc 在重新编码 h264 时工作得很好。
ffmpeg - c++代码如何将ffmpeg的AVPacket转成webm流?
我很困惑如何将 ffmpeg AVPacket 转换为实时流,以便我可以使用 HTML5 播放它。
我已经有了AVPacket
ffmpegavcodec_encode_video2
而且我也知道如何将数据包转储到 webM 文件。
但是,如何使用数据包创建流服务器以进行前端播放?
video - 这个YUV420视频怎么会有尺寸不均匀的
只是想巩固我对视频编解码器的理解,似乎找不到任何有关此的信息。
https://www.mediafire.com/file/cbx8sciq5mie94m/arrow.webm/file包含一个很小的 vp9 webm。这是我通过ffmpeg
简单的 gif -> webm 转换生成的。
源 gif 有一个13x11
分辨率。不知何故,输出视频也有一个13x11
分辨率。我试图理解这是怎么可能的。
据我所理解:
YUV420 像素格式将使这成为不可能,因为 2 的色度子采样因子强制要求除以二。
VP9 本身的最小块大小为 16x16(?),因此至少必须编码那么多数据(?)
因此,我假设我们在这里编码的 ~14x12 或 ~16x16 视频流被以某种方式缩放或裁剪到 13x11。
问题是我找不到任何关于这是如何工作的解释。
这是流的 ffprobe 输出:
最后一帧:
关闭coded_width
andcoded_height
值(应该在任何缩放(?)之前表示“真实”宽度/高度)加上sar
值 1,据我所知,这确实是一个 13x11 视频流,但这应该是不可能的,不是吗?
我的问题是,为什么这是一个有效的视频文件?
如果我尝试将像素格式zscale
的分辨率设为不均匀,YUV420
我会遇到预期的色度二次采样错误。
opencv - 以 VP9、VP8 或 H.264 数据流式传输数据,但将其以 .mov 格式存储在 AWS 上的 s3 存储桶中
我可以使用以下代码从 RTSP 相机收集帧。但需要帮助将数据作为视频文件存储在 S3 存储桶中。但是存储框架会占用大量存储空间。
youtube 等平台如何存储流媒体数据?如何以 VP9、VP8 或 H.264 数据流式传输数据,但以 .mov 格式将其存储在 AWS 上?
需要减少网络使用和存储使用。
想知道这是否有帮助
webrtc - 如何强制 Mediasoup 使用 vp9 编解码器?
我们安装了 Mediasoup,没有问题。我们使用的是与 vp9 编解码器兼容的 mediasoup 版本。我们遇到的问题是它默认使用 h.264 编解码器,我们在带宽受限的环境中运行,我们需要使用 VP9。我们如何才能强制 Mediasoup 始终使用 VP9?
我们可以强制 Chrome 请求 VP9 连接吗?
谢谢,
webrtc - WebRtc 带宽/分辨率/帧率控制
我想知道为什么我通常传输320 240分辨率的视频,默认我的上行流量是1.5MB;当我修改SDP带宽限制时,例如500kbps / s,我的视频宽度和高度仍然是320 240和帧率没有减少;那么,这减少的上行流量究竟是什么?
= =