AirenSoft / OvenMediaEngine

OvenMediaEngine (OME) is a Sub-Second Latency Live Streaming Server with Large-Scale and High-Definition. #WebRTC #LLHLS
https://airensoft.com/ome.html
GNU Affero General Public License v3.0
2.61k stars 1.06k forks source link

Regression: No Audio/Low Pitched Glitchy Audio Streaming With Multiple Audio Tracks #1272

Closed krakow10 closed 1 year ago

krakow10 commented 1 year ago

Describe the bug I am streaming to OME via SRT with 6 audio tracks, restreaming with RTMPPush sending the first audio track to YouTube and the second audio track to Twitch. Twitch receives silent audio while YouTube receives pitched-down glitchy audio.

To Reproduce Steps to reproduce the behavior:

  1. Server.xml.log
  2. Encoder is multi-audio patched OBS 29.1.2 streaming H.264 + AAC over SRT
  3. Glitchy/silent audio on stream

Expected behavior Clear audio

Logs ovenmediaengine.log

Server (please complete the following information):

Additional context The issue does not occur using v0.15.11 2847595215f09904360ee21453c763f15b9b6e43 The patch I'm using to stream with multiple audio tracks is being upstreamed into OBS! The feature pull request, the CI build artifacts so you can reproduce the issue

getroot commented 1 year ago

Can you confirm if the issue is reproduced when you play each audio track in LLHLS?

https://github.com/AirenSoft/OvenMediaEngine/discussions/1131

krakow10 commented 1 year ago

I built and tested v0.15.2: the audio does not work on Twitch, but all the tracks I tested work perfectly from LLHLS when I record the stream to a file with ffmpeg.

getroot commented 1 year ago

You mean 0.15.12 and 0.15.11? (not 0.15.2)

What I want to know is if there is a problem with OME's RTMP Push, or if the problem is somewhere else. If it plays without problems in the audio multi track (multilingual audio) function provided by OME's LLHLS, we should check the RTMP push side.

Also, if you share the Json Request you used for RTMP Push, it will be more helpful to reproduce the problem.

krakow10 commented 1 year ago

Yes, v0.15.12 I had typed it in wrong. Here is the bash commands I use to start the streams:

curl -d '{ "id" : "youtube", "stream": { "name": "quat_1440p60", "tracks": [8,9] }, "protocol": "rtmp", "url":"rtmp://a.rtmp.youtube.com/live2/'"${YOUTUBE_STREAM_KEY}"'" }' -H 'Authorization: Basic '"${OME_AUTH_KEY}" -H 'Content-Type: application/json' http://10.0.0.8:8081/v1/vhosts/default/apps/hw60:startPush
curl -d '{ "id" : "twitch", "stream": { "name": "quat_1080p60", "tracks": [16,18] }, "protocol": "rtmp", "url":"rtmp://sea.contribute.live-video.net/app/'"${TWITCH_STREAM_KEY}"'" }' -H 'Authorization: Basic '"${OME_AUTH_KEY}" -H 'Content-Type: application/json' http://10.0.0.8:8081/v1/vhosts/default/apps/hw60:startPush

Here is a formatted list of streams: ome-streams-quat.json.log Which is the output of this command: curl -H 'Authorization: Basic '"${OME_AUTH_KEY}" http://10.0.0.8:8081/v1/vhosts/default/apps/hw60/streams/quat

getroot commented 1 year ago

I found some strange code on the RTMP Push side and fixed it. Could you please check if your problem is solved with the master branch?

krakow10 commented 1 year ago

I built b8c82464478271bfacfa1d5a343a98a54a5840a0 and the issue seems to have been resolved. Thanks for the fix!