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

Unable to stream with RTMP and codec H265/VP9/AV1 #3188

Closed
1 of 13 tasks
pedroSG94 opened this issue Apr 3, 2024 · 2 comments
Closed
1 of 13 tasks

Unable to stream with RTMP and codec H265/VP9/AV1 #3188

pedroSG94 opened this issue Apr 3, 2024 · 2 comments
Labels
bug Something isn't working rtmp

Comments

@pedroSG94
Copy link
Contributor

pedroSG94 commented Apr 3, 2024

Which version are you using?

v1.6.0

Which operating system are you using?

  • Linux amd64 standard
  • Linux amd64 Docker
  • Linux arm64 standard
  • Linux arm64 Docker
  • Linux arm7 standard
  • Linux arm7 Docker
  • Linux arm6 standard
  • Linux arm6 Docker
  • Windows amd64 standard
  • Windows amd64 Docker (WSL backend)
  • macOS amd64 standard
  • macOS amd64 Docker
  • Other (please describe)

Describe the issue

Due to new AMF0 parser in RTMP . AMF0 Strict Array type is not supported producing this error:

closed: unsupported marker 0x0a

AMF0 documentation to implement Strict Array:
https://rtmp.veriskope.com/pdf/amf0-file-format-specification.pdf

According with RTMP enhanced in connect command you need include a property called fourCcList which is a Strict Array:
https://veovera.org/docs/enhanced/enhanced-rtmp-v1#extending-netconnection-connect-command

This was working on version 1.5.1 so I think the error is in the new AMF0 parser.
Also, I checked that if you send AMF0 types not implemented in this method, the connection fail. I think that the server should at least ignore not implemented types instead of refuse connection if it is a valid type.

I did a PR to fix this error:
#3189

Describe how to replicate the issue

  1. Download the Android apk attached (this apk is a compilation of this project modified to work with H265 codec as default in rotation example)

app-debug.zip
...
2. Unzip and install the apk in an Android device
3. Open app
4. Open Rotation (include filters) example
5. Type a rtmp url in the textbox
6. Press center button to start stream
7. The connection fail and the app try reconnect.

Did you attach the server logs?

Yes

Did you attach a network dump?

No

@pedroSG94 pedroSG94 changed the title Enable to stream with RTMP and codec H265/VP9/Av1 Unable to stream with RTMP and codec H265/VP9/Av1 Apr 3, 2024
@pedroSG94 pedroSG94 changed the title Unable to stream with RTMP and codec H265/VP9/Av1 Unable to stream with RTMP and codec H265/VP9/AV1 Apr 3, 2024
@aler9 aler9 added bug Something isn't working rtmp labels Apr 6, 2024
aler9 added a commit that referenced this issue Apr 12, 2024
)

* add amf0 strict array decode

* add amf0 long string decode

* support amf0 types undefined, unsupported, xmldocument and date

* fix error and add tests

* modify tests to follow original way to test

* do not skip markerUnsupported / markerUndefined

* implement StrictArray marshaling; remove handling of long strings, XML documents, date

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
@aler9
Copy link
Member

aler9 commented Apr 12, 2024

fixed by #3189

@aler9 aler9 closed this as completed Apr 12, 2024
Copy link
Contributor

This issue is mentioned in release v1.7.0 🚀
Check out the entire changelog by clicking here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working rtmp
Projects
None yet
Development

No branches or pull requests

2 participants