Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support H.265 / HEVC #26

Closed
birme opened this issue Jul 4, 2023 · 2 comments
Closed

Support H.265 / HEVC #26

birme opened this issue Jul 4, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@birme
Copy link
Contributor

birme commented Jul 4, 2023

No description provided.

@birme birme added the enhancement New feature or request label Jul 4, 2023
@Wkkkkk
Copy link
Contributor

Wkkkkk commented Jul 31, 2023

While adding support for h265, it is noticed that Chrome seems to reject h265 video (media line exists in answer but is not included in BUNDLE) and ice candidates exchange will time out.

Same results apply to different video profile parameters.

@Wkkkkk
Copy link
Contributor

Wkkkkk commented Aug 17, 2023

Updates on this problem:

  1. While testing on different platforms (with various tools), it is noticed that all web browsers (chrome/safari/edge) reject HEVC/H.265 stream. SDP offer generated from such streams will not be parsed correctly when browsers set local descriptions. In addition, if browsers are asked to generate an offer themselves, no H265 payload will be generated (only H264 or VP8).

  2. To find out the cause / verify the assumption, a discussion was found. Here it experiences the same issues for WebRTC codecs and indicates that Safari is the only browser at the moment that supports H265 for WebRTC. To enable that, one has to turn on Develop-Experimental Features-WebRTC H265 codec in Safari. However, it seems that WebKit (Apple's browser engine for Safari and other iOS apps) has its own RTP payload format and differs from the standard (RFC 7798). So it does not work directly out of box. There is a PR available for fixing this H265 packetization issue in WebKit project but no one is viewing it for the moment.

  3. A quick test was run with FFmpeg/srt-whep/Safari (with WebRTC HEVC enabled). It is noticed that this stream generated by FFmpeg is rather unstable and disconnects itself with srtsrc from time to time. On the other hand, Safari can accept the SDP offer, and the WebRTC connection state becomes 'connected' eventually. However, no video is played out.

With all we find so far, it seems rather challenging to support H.265 / HEVC right now.

@Wkkkkk Wkkkkk closed this as completed Aug 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants