问题标签 [vp8]

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

javascript - 从 webP 或 webM 渲染 VP8 帧

基本上 webM 和 webP 是用 VP8 数据编码的。但此时我只需要 VP8 数据。我试图从 whammy 和 MediaRecorder 渲染 VP8 数据,但一切都是徒劳的。

那么,有没有办法在 javascript 中从 webP 图像渲染 VP8 帧?

0 投票
1 回答
683 浏览

video-streaming - 使用 WebRTC 时是否值得将 H.264 转码为 VP8?

您好,我目前正在构建一个实时流媒体解决方案,该解决方案通过 RTSP 获取 H.264 编码视频,将其转换为 WebRTC,然后将其发送到 HTML5 浏览器。WebRTC 支持 H.264,几乎所有浏览器似乎都支持 H.264 解码,所以我认为不需要任何转码。但是,我正在尝试做的许多实现似乎都涉及将 H.264 转码为 VP8,我想知道为什么这是必要的。这样做有什么好处?有没有我可以查看的统计数据来确定由于这种转码而会增加多少延迟?

0 投票
0 回答
666 浏览

google-chrome - webrtc:视频流未在 chrome 中播放

我已经预先录制了 opus 和 vp8 文件。在 webrtc 通话中,我正在尝试将音频/视频流式传输到 chrome。

虽然音频在 chrome 中播放,但无法显示视频。

我从谷歌搜索中读到我需要作为 i 帧发送的第一个视频帧。我对视频的东西有点陌生。有人可以帮助我学习如何在视频的情况下发送 i-frame。

是否还有其他潜在问题,为什么 chrome 不喜欢视频帧。请注意,ICE 和 Dtls 握手进行得很好。

0 投票
0 回答
251 浏览

video - 实际 Twilio 视频比特率与 maxVideoBitrate 集不匹配

我正在使用 twilio 构建视频聊天应用程序。我将 maxVideoBitrate 设置如下:

发送视频的比特率似乎与使用 maxVideoBirate 设置的值不匹配。(使用 webrtc-internals 验证)。

这是来自 webrtc 内部的图表,其中 maxVideoBitrate 设置为 6400。

在此处输入图像描述

将 maxVideoBitrate 设置为 64000。

在此处输入图像描述

0 投票
1 回答
168 浏览

webrtc - vp8 rtp 打包数据被 srtp_protect 覆盖

我在 webrtc 调用中使用 libsrtp 进行 srtp 加密。

准备好 RTP 数据包后,我调用 srtp_protect 对其进行加密。它对数据部分进行加密并保持 RTP 标头不变。到目前为止,这在仅音频呼叫的情况下运行良好。

现在我支持VP8。根据 RFC 7741(RTP VP8 打包),RTP 数据包就像 RTP 标头 + VP8 打包数据 + 有效负载。

因此,当我将整个缓冲区提供给 srtp_protect 时,它正在加密 VP8 打包部分和有效负载。我的理解是RTP标头,VP8打包部分不应该加密。只有有效载荷应该被加密。

我的理解正确吗?

在 RTP VP8 数据包化的情况下,如何使用 srtp_protect?

任何提示高度赞赏。

0 投票
1 回答
607 浏览

video-streaming - "trackPublished" event not firing in twilio-video Javascript SDk

I have the following code:

According to the documentation, the "trackPublished" event is fired when a participant publishes media to a room and the "trackPublicationFailed" event is fired when the publication fails. However none of the events seem to fire in my case.

I can verify that the tracks were in fact published to the room and still the "trackPublished" event was not fired.

twilio-video at 1.6.1 Chrome: 63 Ubuntu: 16.04

0 投票
1 回答
1118 浏览

ubuntu - ffmpeg avcodec_open2() 仅在 ubuntu 中返回错误 -22

如题,

我正在使用 ffmpeg 在 Mac 上开发一个项目。它在我的 Mac 上运行,将帧编码为 vp9 和 vp8。但是当我在 ubuntu 中的 docker 映像上运行它时,函数avcodec_open2()返回-22错误。(仅适用于 vp9&vp8,h264 有效)。

我想知道错误是否来自设置参数部分?但是让它在mac上运行但在ubuntu中运行仍然很奇怪。

有没有人有类似的经历?

编辑:有谁知道ffmpeg-linux是否使用不同的参数名称从其他平台(如Mac)进行设置?

Eidt2:似乎即使我没有设置任何选项参数,它仍然给我-22错误。前任:ret = avcodec_open2(c, codec, NULL)

0 投票
0 回答
192 浏览

java - 如何在 Java 中使用 opencv 或 ffmpeg 在网络摄像头流上覆盖视频

在我的项目中,我在 Java 桌面应用程序的屏幕上预览网络摄像头捕获和视频(webm采用编解码器格式vp8)捕获。目前我使用VideoCapture类来检索网络摄像头和视频帧在帧上执行一些绘图,然后将它们显示给用户。我想将视频放在网络摄像头捕获上,因为我的视频有 alpha 通道。因此,我将视频和网络摄像头的每一帧作为 OpenCV Mat 检索,然后尝试将 mat 相互叠加。但是我收到错误,因为从培训师捕获中检索 Mat 会删除 alpha 通道。VideoCapture逐帧处理视频并能够将帧检索为 OpenCV Mat的最佳替代类是什么?

0 投票
2 回答
2507 浏览

webrtc - WebRTC H264/VP8

我使用 Janus-Gateway,在 H264 / VP8 之间选择编解码器时遇到问题。当我选择 H264 编解码器在 IOS 上工作但在 Chrome 71 (Android) 上不工作时,或者当我选择 VP8 在 Chrome 71 (Android) 上工作但在 IOS 上工作时,有没有一种方法可以正常工作? ?

问候

0 投票
1 回答
353 浏览

google-chrome - Why does Firefox produce larger WebM video files compared with Chrome?

I and my team have been struggling lately to find an explanation why does Firefox produce larger WebM/VP8 video files compared with Chrome when using the MediaRecorder API in our project.

In short, we record a MediaStream from a HTMLCanvas via the captureStream method. In attempt to isolate everything from our app that might affect this, I developed a small dedicated test app which records a <canvas> and produces WebM files. I've been performing tests with the same footage, video duration, codec, A/V bit rate and frame rate. However, Firefox still ends up creating up to 4 times larger files compared with Chrome. I also tried using a different MediaStream source like the web camera but the results were similar.

Here is a fiddle which should demonstrate what I am talking about: https://jsfiddle.net/nzwasv8k/1/ https://jsfiddle.net/f2upgs8j/3/. You can try recording 10-sec or 20-sec long videos on both FF and Chrome, and notice the difference between the file sizes. Note that I am using only 4 relatively simple frames/images in this demo. In real-world usage, like in our app where we record a video stream of a desktop, we reached the staggering 9 times difference.

I am not a video codec guru in any way but I believe that the browsers should follow the same specifications when implementing a certain technology; therefore, such a tremendous difference shouldn't occur, I guess. Considering my knowledge is limited, I cannot conclude whether this is a bug or something totally expected. This is why, I am addressing the question here since my research on the topic, so far, led to absolutely nothing. I'll be really glad, if someone can point what is the logical explanation behind it. Thanks in advance!