New issue
Advanced search Search tips

Issue 722526 link

Starred by 2 users

Issue metadata

Status: Archived
Owner:
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task


Previous locations:
webrtc:7599


Sign in to add a comment

Where does Chrome insert its own h264 hardware encoder?

Reported by martid0...@gmail.com, May 8 2017

Issue description

Out of the box, the only form of h264 encoding support is through Cisco's openh264. However, I'm trying to use WebRTC in an embedded system which has a hardware encoder. There's presumably some form of support for plugging in your own encoder, since I assume that's what Chrome does, but I'm having a hard time finding where and how.

I have found Chromium's VideoEncodeAccelerator, and its subclass V4L2VideoEncodeAccelerator (https://chromium.googlesource.com/chromium/src/media/+/master/gpu/v4l2_video_encode_accelerator.h) which sounds relevant. I also found RTCVideoEncoder (https://chromium.googlesource.com/chromium/src/+/master/content/renderer/media/gpu/rtc_video_encoder.h) which subclasses webrtc::VideoEncoder and thus sounds very relevant. However, I can't find any way the two are linked, or any mention of RTCVideoEncoder or V4L2VideoEncodeAccelerator in places which seem relevant.

What am I missing? Could anyone give me a pointer to how to make my own video encoder?
 
This isn't a bug, but I don't know if it's possible for me to change the issue type.
Project: chromium
Moved issue webrtc:7599 to now be  issue chromium:722526 .
Components: Blink>WebRTC>Video
Cc: emir...@chromium.org
Labels: -Type-Bug -Pri-2 Pri-3 Type-Task
+emircan, who might be able to give some input.
You are on the right track. You need to make an implementation of webrtc::VideoEncoder, like RTCVideoEncoder, and make a factory that creates it. Specifically, |external_encoder_factory_| field should point to your class below.

https://cs.chromium.org/chromium/src/third_party/webrtc/media/engine/webrtcvideoengine2.cc?rcl=b2a88552d51ffeb5f3159f65fafa12cab912c4de&l=1728 
Cc: -emir...@chromium.org
Owner: emir...@chromium.org
Status: Assigned (was: Unconfirmed)
Status: Archived (was: Assigned)
Archiving this. No activity for a couple months and it is more of a question than a bug. Feel free to reopen or reach out if there are more questions.

Sign in to add a comment