H264 High Profile with WebRTC

175 views
Skip to first unread message

Nimi Wariboko Jr

unread,
May 16, 2022, 1:22:21 PM5/16/22
to Chromium-discuss
I'm trying to ascertain if I can play a pre-recorded h264 High Profile 3.2 (avc1.64001F) video over WebRTC. I have the server create an offer that Chrome the accepts. I can successfully play Constrained Baseline videos with this method (avc1.4D4020)  but High Profile videos fail with:

[18788:30979:0515/174936.714832:INFO:decoder_database.cc(105)] Initializing decoder with payload type '114'. [18788:30979:0515/174936.714865:INFO:generic_decoder.cc(253)] Decoder implementation: DecoderInfo { prefers_late_decoding = implementation_name = 'ExternalDecoder (VDAVideoDecoder)', is_hardware_accelerated = true } [18788:30979:0515/174936.723450:warning:generic_decoder.cc(296)] Failed to decode frame with timestamp 182840869, error code: -13

Where error code -13 seems to be `WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE`. This same video plays back fine with MediaSource extensions; might it be better to use WebRTC's data channels + MSE for this use case? 

 101.0.4951.64 (Official Build) (arm64) on MacOS 12.2.1

Nimi Wariboko Jr

unread,
May 17, 2022, 10:08:20 PM5/17/22
to Chromium-discuss, Nimi Wariboko Jr
Solved:

1. I had to filter out all NALUs except IDR, Non-IDR, SPS and PPS
2. I had to ensure there were start codes (0x000001) before each NALU 
Reply all
Reply to author
Forward
0 new messages