WebRTC 的 Google 实现是否支持 H.264 [英] Does Google implementation of the WebRTC support H.264 or not

查看:32
本文介绍了WebRTC 的 Google 实现是否支持 H.264的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试在线研究后,我仍然不确定,因为我需要更新的答案(因为 WebRTC 不断变化):

after trying to research online, I'm still not certain as I need a more up to date answer (since WebRTC is changing constantly):

目前,WebRTC 的 Google 实现是否支持 H.264?

Right now, does the Google implementation of the WebRTC support H.264 or not?

在网上做了一些研究,我看到有计划但不支持,但是但是当我看到 google WebRTC 的源代码时,我确实看到了一些提到 H.264 解码的内容:

Doing some research online, I see that there are plans to and it's not supported, but but when I see the source code of google WebRTC, I do see some mention of H.264 decoding:


test@lab:~/myWebRTC/src$ find . -name "h"  | xargs grep -i 264
...
./chromium/src/content/common/gpu/media/h264_decoder.h:  void ConstructReferencePicListsB(media::H264SliceHeader slice_hdr);
./chromium/src/content/common/gpu/media/h264_decoder.h:  int PicNumF(const scoped_refptr& pic);
./chromium/src/content/common/gpu/media/h264_decoder.h:  int LongTermPicNumF(const scoped_refptr& pic);
./chromium/src/content/common/gpu/media/h264_decoder.h:  bool ModifyReferencePicList(media::H264SliceHeader* slice_hdr,
./chromium/src/content/common/gpu/media/h264_decoder.h:                              H264Picture::Vector* ref_pic_listx);
./chromium/src/content/common/gpu/media/h264_decoder.h:  bool StartNewFrame(media::H264SliceHeader* slice_hdr);
./chromium/src/content/common/gpu/media/h264_decoder.h:  void OutputPic(scoped_refptr pic);
./chromium/src/content/common/gpu/media/h264_decoder.h:  media::H264Parser parser_;
./chromium/src/content/common/gpu/media/h264_decoder.h:  H264DPB dpb_;
./chromium/src/content/common/gpu/media/h264_decoder.h:  scoped_refptr curr_pic_;
./chromium/src/content/common/gpu/media/h264_decoder.h:  H264Picture::Vector ref_pic_list_p0_;
./chromium/src/content/common/gpu/media/h264_decoder.h:  H264Picture::Vector ref_pic_list_b0_;
./chromium/src/content/common/gpu/media/h264_decoder.h:  H264Picture::Vector ref_pic_list_b1_;
./chromium/src/content/common/gpu/media/h264_decoder.h:  H264Picture::Field prev_ref_field_;
./chromium/src/content/common/gpu/media/h264_decoder.h:  scoped_ptr curr_nalu_;
./chromium/src/content/common/gpu/media/h264_decoder.h:  scoped_ptr curr_slice_hdr_;
./chromium/src/content/common/gpu/media/h264_decoder.h:  H264Accelerator* accelerator_;
./chromium/src/content/common/gpu/media/h264_decoder.h:  DISALLOW_COPY_AND_ASSIGN(H264Decoder);

我的目标是我需要一个带有编码 H.264 的嵌入式设备使用 WebRTC 进行流式传输.

My goal is I need to have a embedded device that comes with encoded H.264 to use WebRTC to stream out.

所以,我想知道是否可以选择 Google WebRTC,或者 OpenWebRTC 是我目前唯一的 H.264 选择吗?

So, I want to know if Google WebRTC is an option, or would OpenWebRTC be my only option for H.264 at this point?

谢谢.

推荐答案

您所看到的只是非 webrtc 相关视频接收/解码所需的解码 H264 的代码.

What you are seeing is just code for decoding H264 which is needed for non-webrtc related video recv/decoding.

一般来说,Chrome 不支持 webrtc 的 H264 编码,只是因为 VP8 是他们的主要免版税编解码器和 H264 的答案,因为 H264 有太多与专利相关的并发症.现在最近 cisco 发布了 openh264 - https://github.com/cisco/openh264 这是 Firefox 所拥有的也支持 H264.不过,我认为 Google 不会很快支持它,尤其是在 VP9 即将推出的情况下.

In general, Chrome does not support H264 encode for webrtc, just because VP8 is their primary royalty free codec and answer to H264 which has way too many patent-related complications. Now fairly recently cisco released openh264 - https://github.com/cisco/openh264 which is what Firefox has implemented to support H264 as well. However, I don't see Google supporting it anytime soon, especially with VP9 coming.

理想情况下,如果您可以访问设备上的原始视频帧,然后自己在 VP8 中对其进行编码;通过 webrtc 播放视频会容易得多.

Ideally, if you could get access to the raw video frames on your device, and then encode them in VP8 yourself; it would be much easier to get your video flowing via webrtc.

这篇关于WebRTC 的 Google 实现是否支持 H.264的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆