jellyfin / jellyfin-roku

The Official Roku Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
439 stars 133 forks source link

No audio, only video. #1346

Open digitalcontemplation opened 1 year ago

digitalcontemplation commented 1 year ago

##) Software Versions

Describe the bug

Lots of videos play without sound. On other devices the files play fine.

How To Reproduce

Playing a video from jellyfin app on roku will display the video, but not the sound.

Expected behavior

Both the video and the sound will play.

Logs

FFmpeg.Transcode-2023-08-17_12-16-16_0f6ea0661c547f2fe6bd62cf2fff622b_80ba6236.log log_20230817-1.log

Connection Information

Additional context

Some files will play correctly. Sevenrats initially helped troubleshoot this on the jellyfin bridge chat and asked me to make a bug report, so a thanks to them for looking into it and guiding me on some needed info. One possibility brought up was that roku pushed an old batch of devices that did not follow the correct specs and documentation.

If there is further required info, let me know.

*Edit: spelling

cewert commented 1 year ago

Reason for transcoding: VideoCodecNotSupported container: mkv video codec: HEVC audio codec: eac3 5.1

It looks like HEVC is only supported on roku devices that can play 4k which explains why the file is being transcoded in the first place since you are using a non-4k streaming stick.

  Stream #0:0 -> #0:0 (hevc (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (eac3 (native) -> aac (libfdk_aac))

As far as the audio not working, I believe that's because the audio is being converted to multi channel AAC. Multichannel AAC is not supported on all Roku models. Roku TVs, Roku 4, and Roku Ultra set-top-boxes support multichannel decode to PCM stereo.. That should be fixable if we modify the device profile. I think

digitalcontemplation commented 1 year ago

Thanks for investigating! For a work around, is there a format I should ffmpeg the video / audio stream to? That might further confirm that it is the multichannel AAC if alternatives work.

sevenrats commented 1 year ago

iinm all some rokus will automatically transcode all multichannel aac down to PCM 2 channel. if you want to preserve your 5.1, e-ac3 is already the recommended codec. h264 is the most widely supported codec, but will be a bit larger on disk and on the network. maybe it's just time to buy a newer roku and save yourself the trouble.

cewert commented 1 year ago

For a work around, is there a format I should ffmpeg the video / audio stream to?

I believe using h264 instead of HEVC should do the trick. You shouldn't need to change the audio codec as eac3 is the preferred multichannel codec by roku. The most common audio codecs for video content are AAC, AC3, E-AC3, and DTS. It is strongly recommended that content with multichannel audio (i.e., 5.1, 7.1 channels) be made available in Dolby Digital Plus (E-AC3). This is the preferred multichannel format for streaming on Roku's Dolby Digital Plus-enabled devices.

Source: https://developer.roku.com/en-ca/docs/specs/media/streaming-specifications.md

digitalcontemplation commented 1 year ago

Thanks, I'm good with closing this. If you want the results of covering to h264, and this is still open, I'll update it later night, or tomorrow. Otherwise, thanks again for your help!

cewert commented 1 year ago

You're welcome.

I think we should leave this open since it's an example of our device profile converting multichannel audio to AAC. If the source file is multichannel we should transcode to eac3 or ac3. Unless this is a duplicate of another issue - I didn't check.

cewert commented 1 year ago

I can't find anything in the roku docs about HEVC support only being on devices that support 4K but there are several sites that say it's true when googling "roku hevc support" including someone from emby on their forum fwiw. It would be nice to confirm that's true and the only device I have is a 4K streaming stick.

If this is confirmed or this is a known thing that I'm just figuring out 😄 we should update our docs to say HEVC is only supported on certain devices

cewert commented 1 year ago

I can't find anything in the roku docs about HEVC support only being on devices that support 4K but there are several sites that say it's true when googling "roku hevc support" including someone from emby on their forum fwiw. It would be nice to confirm that's true and the only device I have is a 4K streaming stick.

This was confirmed by a roku employee on the roku slack. I updated the docs too.

@digitalcontemplation I'm working on a PR to update the device profile in #1299. Hopefully this allows your eac3 file to direct play. If possible, please give it a test.

digitalcontemplation commented 1 year ago

That's awesome! Appologies, I moved away from that device, I'll be back visiting those friends and with it around the later half of October. I'll make sure to test it then.

digitalcontemplation commented 11 months ago

@cewert , would this be in the main release now? If not, I am back to a place where it can be tested now if needed.

cewert commented 11 months ago

No, the changes I made are still in the unstable branch. We haven't pushed a release yet.

digitalcontemplation commented 11 months ago

Ahh, thank you. I do not have dts audio, but I can confirm the latest beta roku dev app does have soumd and fixes the issues we've talked about. Thank you! Applogies for the delayed testing.

azblurbit commented 10 months ago

I can confirm that I was having this issue previously and also noticed it around August. I've been keeping my server mostly up to date but after updating the server to the latest version I'm no longer having this issue. Also on a Roku 4 TCL TV