-
Notifications
You must be signed in to change notification settings - Fork 113
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
Add H265 payloader and depacketizer #165
base: master
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #165 +/- ##
==========================================
- Coverage 83.95% 79.86% -4.09%
==========================================
Files 24 24
Lines 1957 2126 +169
==========================================
+ Hits 1643 1698 +55
- Misses 255 366 +111
- Partials 59 62 +3
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Hi @kevmo314 are you planning to continue on this one? |
This change completes the H265 implementation.
@kevmo314 @lebedyncrs Lets get this merged today! The only issue for me is @kevmo314 Do you have any tests you liked? Or should I just generate stuff via ffmpeg. Do you have any suggestions on flags I should use? |
ffmpeg-generated stuff works! The only gotcha I know of is the Safari H265 payloading thing: AlexxIT/Blog#5 I vaguely recall a post indicating that Safari has or intends to migrate off this custom format but I'm not sure how we want to handle that from pion since that's not truly spec-compliant. Pion to pion worked great for me when I had used this code. |
Thanks for pushing it forward @Sean-Der . @kevmo314 I tried to prepare example of how to stream video using h265 in browser (there is Chromium build which supports h265). I am getting an error "unable to start track, codec is not supported by remote". When I look at SDP from browser there is information about h265 support but when I check go answer SDP I cannot see it. Steps to reproduce:
|
This PR only adds the payloader and depacketizer. You'll have to configure Pion to respond with H265 which is not on by default. It can be added in the media engine. |
thanks for this PR, but before you merge, what about annexbNALUStartCode ? it looks like a mock at the moment |
Where do you see that it's a mock? |
|
That doesn't mean it's a mock, it only means that it's not fully correct as the comment suggests. Pion always uses a 4-byte start code which is suboptimal according to the specification but it does work and play back correctly. |
Great, thank you! The TODO comment confused me. |
This change completes the H265 implementation.