Google的WebRTC实现是否支持H.264

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

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

在网上做一些研究,我发现有计划,而且它不受支持,但是
但是当我看到谷歌WebRTC的源代码时,我确实看到了一些关于H.264解码的提及:

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流出.

所以,我想知道Google WebRTC是否可供选择,
或者OpenWebRTC是我此时唯一的H.264选项?

谢谢.

最佳答案 您所看到的只是解码H264的代码,这是非webrtc相关视频recv /解码所需要的.

一般来说,Chrome不支持用于webrtc的H264编码,因为VP8是他们的主要免版税编解码器和H264的答案,其中涉及太多与专利相关的复杂问题.现在最近cisco发布了openh264 – https://github.com/cisco/openh264,这也是Firefox为支持H264而实现的.但是,我不认为谷歌会很快支持它,尤其是VP9即将推出.

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

点赞