Video Codec Problem - 53404 Exception
Closed this issue · 1 comments
Description
I am working on a communication app with video and I want to upgrade from 6.x to 7.x of the Twilio Video SDK.
When using 6.x everything works properly, but I want to upgrade for various reasons.
When bumping up to 7.x calls between devices that support h264 and those who don't, the video does not work. In particular devices that don't support the h264 codec don't show the incoming video from the devices that do support h264. I thought it could have been a problem in my code but I can reproduce this also with this sample app.
I am using Group Rooms. It does not happen using P2P Rooms.
Does mixing h264 and vp8 work only with p2p room?
Or should I stop allowing h264 altogether?
Steps to Reproduce
- Install video-quickstart-android on device1 with h264 support and set h264 as preferred video codec
- Install video-quickstart-android on device2 without h264 support
- Start call between the two devices
- Device1 shows its video and the video of device2
Code
No changes to this repository
Expected Behavior
- Device2 shows its video and the video of device1
Actual Behavior
- Device2 shows its video but not the video of device1
Reproduces how Often
100%
Logs
2023-09-12 15:32:20.458 10242-10242 VideoActivity com.twilio.video.quickstart.kotlin I onVideoTrackSubscriptionFailed: [RemoteParticipant: identity=removed], [RemoteVideoTrackPublication: sid=removed, name=removed][TwilioException: code=53404, message=No supported codec. Codec video/H264/90000/1,fmtps:[(level-asymmetry-allowed, 1), (packetization-mode, 1), (profile-level-id, 42e01f)] is not supported. Supported codecs: [video/VP8/90000/1,fmtps:[]]]
Result of
curl -X GET "https://video.twilio.com/v1/Rooms/testroomtwilioseven" -u blabla:blabla:
{"unique_name": "testroomtwilioseven", "date_updated": "2023-09-12T13:32:21Z", "media_region": "us1", "max_participant_duration": 14400, "duration": null, "video_codecs": ["VP8", "H264"], "large_room": false, "enable_turn": true, "empty_room_timeout": 5, "sid": "blabla", "type": "group", "status_callback_method": "POST", "status": "in-progress", "audio_only": false, "unused_room_timeout": 5, "max_participants": 50, "max_concurrent_published_tracks": 170, "url": "https://video.twilio.com/v1/Rooms/blabla", "record_participants_on_connect": false, "account_sid": "blabla", "end_time": null, "date_created": "2023-09-12T13:30:23Z", "status_callback": null, "links": {"recordings": "blabla", "participants": "blabla", "recording_rules": "blabla"}}
Versions
Video Android SDK
7.6.3
Android API
Android Device
Pixel 6A physical device API 33
Emulator API 30
@AndreaLoddoWOWTech If device 2 doesn't support H.264, then it cant render video that is encoded with H.264.
Twilio video does not support transcoding live feeds. Both endpoints need to support h.264 to be able to use it.