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

Indicate in the UI what media cannot be played and media that can be played but with no audio #209

Closed
onedr0p opened this issue Nov 10, 2022 · 10 comments · Fixed by #288
Closed
Assignees
Labels
enhancement New feature or request question Further information is requested
Milestone

Comments

@onedr0p
Copy link
Contributor

onedr0p commented Nov 10, 2022

I really get the simple approach to Midarr but there's some UX issues in regards to unplayable media. I have a mixed collection of Movies and TV shows and it appears hit or miss if the media will play, or if it does play there's no audio. Maybe Midarr is not for me because I haven't really curated my media in such a standard for Midarr to play all the things but we'll see 😄

Here's an example of what will play but has no audio (AC3 5.1):

❯ mediainfo Bob\'s\ Burgers/Season\ 04/Bob\'s\ Burgers\ \(2011\)\ -\ S04E02\ -\ Fort\ Night\ \[HDTV-720p\]\[AC3\ 5.1\]\[x264\].mkv
General
Unique ID                                : 180362872206702632639704312590582384840 (0x87B0A02A3223BBE8A351616E681B88C8)
Complete name                            : Bob's Burgers/Season 04/Bob's Burgers (2011) - S04E02 - Fort Night [HDTV-720p][AC3 5.1][x264].mkv
Format                                   : Matroska
Format version                           : Version 2
File size                                : 246 MiB
Duration                                 : 21 min 33 s
Overall bit rate                         : 1 596 kb/s
Encoded date                             : UTC 2013-10-06 16:16:57
Writing application                      : mkvmerge v3.1.0 ('Happy up here') built on Jan 19 2010 12:09:24
Writing library                          : libebml v0.7.9 + libmatroska v0.8.1

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4.1
Format settings                          : CABAC / 8 Ref Frames
Format settings, CABAC                   : Yes
Format settings, Reference frames        : 8 frames
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 21 min 33 s
Bit rate                                 : 1 116 kb/s
Width                                    : 1 280 pixels
Height                                   : 720 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.051
Stream size                              : 172 MiB (70%)
Writing library                          : x264 core 138 r2358 9e941d1
Encoding settings                        : cabac=1 / ref=8 / deblock=1:2:2 / analyse=0x3:0x113 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=18 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=5 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=crf / mbtree=1 / crf=18.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language                                 : English
Default                                  : No
Forced                                   : No

Audio
ID                                       : 2
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Commercial name                          : Dolby Digital
Codec ID                                 : A_AC3
Duration                                 : 21 min 33 s
Bit rate mode                            : Constant
Bit rate                                 : 448 kb/s
Channel(s)                               : 6 channels
Channel layout                           : L R C LFE Ls Rs
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Compression mode                         : Lossy
Stream size                              : 69.1 MiB (28%)
Service kind                             : Complete Main
Default                                  : Yes
Forced                                   : No
@trueChazza trueChazza self-assigned this Nov 10, 2022
@trueChazza trueChazza added the question Further information is requested label Nov 10, 2022
@trueChazza
Copy link
Member

Hi, thanks for your detailed query and providing helpful info. I'll look into this further and get back to you.

In the meantime, what client were you using?

Currently Midarr has no context or knowledge of what client is requesting the media. So it sends the media files regardless of whether the client can actually play it or not. Knowing what client you used will serve as a baseline as to what it supports.

@onedr0p
Copy link
Contributor Author

onedr0p commented Nov 10, 2022

I'm using chrome on MacOS, it does appear chrome does not support AC3

@trueChazza
Copy link
Member

Thanks for reporting back. Yes it appears Chrome does not support AC3 due to codec licensing.

@trueChazza
Copy link
Member

trueChazza commented Nov 11, 2022

I think it would be hugely beneficial to support some form of audio transcoding from a server perspective. I am rather hesitant on having Midarr be client aware - as I feel this would be a huge maintenance burden going forward (having to maintain a list of client profiles and what each one supports for example).

As a first step to an improvement over Midarr just blindly serving media files - there could be an admin setting on the settings page for the audio output to be configured / adjusted. So at a server baseline, Midarr could transcode on-the-fly all audio - to MP3 for example - no matter what codec the media audio is in, based on this setting.

I think this would be a good first step to improving Midarr's playback abilities, and opens the door for future improvements. For example an admin could map a list of clients - to their preferred media settings, which in turn alleviates Midarr of the responsibility and puts it onto the server maintainers themselves.

Just some ideas - what do you think?

I'd be interested to hear your thoughts, as we have the same issue. I've had to curate my media library so my clients can play them. If Midarr handled some of this for me (like the audio for example), I wouldn't have to ensure my media library could be played in Chrome.

@onedr0p
Copy link
Contributor Author

onedr0p commented Nov 11, 2022

Chrome could be getting ac3 support in the future but overall it's probably not best to wait. Having audio transcoded would be a huge benefit as most of my library is h264 video with mixed audio.

@trueChazza
Copy link
Member

trueChazza commented Nov 11, 2022

https://bitmovin.com/google-adds-hevc-support-chrome/

Interestingly, Google also just recently (and quietly) added HEVC / H.265 video support. You can play this media content now natively from Midarr in Chrome / Edge / Safari. I have yet to update the Readme to reflect this, but yes it now just leaves the audio to be transcoded for these clients.

@trueChazza
Copy link
Member

#210

I've added an issue to address this. I'll look into this for v2.1.0 as the next breaking version work is already underway.
I'll keep you updated thanks 😄

@trueChazza
Copy link
Member

Hi @onedr0p
Just letting you know I’m working on this and should have an update for you over the next few days.

Thanks for your feedback once again!

@trueChazza trueChazza reopened this Feb 25, 2023
@trueChazza trueChazza added this to the v2.1.0 milestone Feb 25, 2023
@trueChazza trueChazza moved this to In Progress in midarrlabs Feb 25, 2023
@trueChazza trueChazza added the enhancement New feature or request label Feb 25, 2023
@trueChazza
Copy link
Member

v2.1.0-beta.8

Give this build a go 😄

You'll find a new "Test" button, next to the "Play" button for your media. The "Test" button transcodes your media on the fly (currently to AAC audio 2 channels / stereo). Playback is still a little rough / flashy between segments, but it is a start. I'll improve playback over time.

If you try playing this video again - it should have audio this time 🤞

I really get the simple approach to Midarr but there's some UX issues in regards to unplayable media. I have a mixed collection of Movies and TV shows and it appears hit or miss if the media will play, or if it does play there's no audio. Maybe Midarr is not for me because I haven't really curated my media in such a standard for Midarr to play all the things but we'll see 😄

Here's an example of what will play but has no audio (AC3 5.1):

❯ mediainfo Bob\'s\ Burgers/Season\ 04/Bob\'s\ Burgers\ \(2011\)\ -\ S04E02\ -\ Fort\ Night\ \[HDTV-720p\]\[AC3\ 5.1\]\[x264\].mkv
General
Unique ID                                : 180362872206702632639704312590582384840 (0x87B0A02A3223BBE8A351616E681B88C8)
Complete name                            : Bob's Burgers/Season 04/Bob's Burgers (2011) - S04E02 - Fort Night [HDTV-720p][AC3 5.1][x264].mkv
Format                                   : Matroska
Format version                           : Version 2
File size                                : 246 MiB
Duration                                 : 21 min 33 s
Overall bit rate                         : 1 596 kb/s
Encoded date                             : UTC 2013-10-06 16:16:57
Writing application                      : mkvmerge v3.1.0 ('Happy up here') built on Jan 19 2010 12:09:24
Writing library                          : libebml v0.7.9 + libmatroska v0.8.1

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4.1
Format settings                          : CABAC / 8 Ref Frames
Format settings, CABAC                   : Yes
Format settings, Reference frames        : 8 frames
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 21 min 33 s
Bit rate                                 : 1 116 kb/s
Width                                    : 1 280 pixels
Height                                   : 720 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.051
Stream size                              : 172 MiB (70%)
Writing library                          : x264 core 138 r2358 9e941d1
Encoding settings                        : cabac=1 / ref=8 / deblock=1:2:2 / analyse=0x3:0x113 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=18 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=5 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=crf / mbtree=1 / crf=18.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language                                 : English
Default                                  : No
Forced                                   : No

Audio
ID                                       : 2
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Commercial name                          : Dolby Digital
Codec ID                                 : A_AC3
Duration                                 : 21 min 33 s
Bit rate mode                            : Constant
Bit rate                                 : 448 kb/s
Channel(s)                               : 6 channels
Channel layout                           : L R C LFE Ls Rs
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Compression mode                         : Lossy
Stream size                              : 69.1 MiB (28%)
Service kind                             : Complete Main
Default                                  : Yes
Forced                                   : No

@trueChazza trueChazza linked a pull request Feb 27, 2023 that will close this issue
@trueChazza trueChazza moved this from In Progress to Done in midarrlabs Feb 27, 2023
@trueChazza
Copy link
Member

https://github.com/midarrlabs/midarr-server/discussions/292

@onedr0p special thanks for helping with this release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants