arut / nginx-rtmp-module

NGINX-based Media Streaming Server
http://nginx-rtmp.blogspot.com
BSD 2-Clause "Simplified" License
13.36k stars 3.51k forks source link

AMF3 format not supported in nginx-rtmp-module #1043

Open ghost opened 7 years ago

ghost commented 7 years ago

I were trying to publish rtmp stream from Action Script 3 client to nginx-rtmp-module. Audio/Video were streaming fine. But when I were trying to send metadata (using @setDataFrame), it says "codec: error parsing data frame".

I struggled a lot to find the reason. Why metadata sent by ffmpeg working fine with nginx-rtmp-module but not with Action Script 3 client.

After analysing the data frame, I found, I were sending data frame that is encoded in AMF3 format. FFMPEG send the data in AMF0 format. When I encoded my metadata in AMF0, it worked well.

tanabi commented 7 years ago

AMF3 is a really nasty format to support so I wouldn't hold your breath on this one :D I started writing an AMF interpretation library but AMF3 drug my progress to a halt :P ( https://github.com/Tigerdile/tdamf if it helps)