NextPVR Forums
  • ______
  • Home
  • New Posts
  • Wiki
  • Members
  • Help
  • Search
  • Register
  • Login
  • Home
  • Wiki
  • Members
  • Help
  • Search
NextPVR Forums Public NextPVR Other Clients Android v
« Previous 1 2 3
AC-4 audio output from ATSC 3.0

 
  • 0 Vote(s) - 0 Average
AC-4 audio output from ATSC 3.0
mvallevand
Offline

Posting Freak

Ontario Canada
Posts: 53,091
Threads: 957
Joined: May 2006
#11
2022-04-24, 10:47 PM
ExoPlayer determines the audio capabilities and if the device does not report supporting it natively (not necessarily h/w) then ffmpeg is used. This is not just the unofficial AC-4 patch, there are several official formats I compiled in as shown at the bottom of this page https://exoplayer.dev/supported-formats.html

ffmpeg can also be forced on in settings.

Martin
DSperber
Offline

Member

Posts: 138
Threads: 13
Joined: Jan 2020
#12
2022-04-25, 02:26 AM
I've installed that ExoPlayer-demofiles APK on the Xiaomi. And as you explained, since the Stick does have local AC-4 decoding support available in it (unlike the Shield which does not), this time the demo AC-4 5.1 file I played produced proper 5.1 sound. This is the same result as uiDroid running on the Xiaomi, and also producing Dolby (MAT) 5.1 audio from the ATSC 3.0 recording.

However the big difference is that the volume level of the output channels produced by pure ExoPlayer are probably 20db louder than those produced by uiDroid.

Here is the "stream information" for what the Xiaomi is sending to the AVR.


[Image: 7JlofL.png]

Here is the "volume" for one speaker (looks like there was some other ambient output from a few other speakers):

[Image: AYmerA.png]

And here is the "finale", with output from 5 of the 6 speakers:

[Image: 00Hskt.png]

The sound volume from my speakers is "'perfect". This is what would be expected. There must be something different about how the AC-4 audio inside the NextPVR recordings and delivered to uiDroid for handling goes into and out of ExoPlayer which is responsible for this very obviously very low volume when using uiDroid for real. At least the format sent to the DVR is correct, i.e. Dolby (MAT) 5.1. Just the volume is way too low.

And although when I was advised three months ago to use uiDroid on the Shield (instead of NextPVR itself, which produced NO sound from ATSC 3.0 programs) and "you'll have sound", I did not know that the sound produced when using the Shield would only be PCM 2.0 (and who knows how that is actually produced by ExoPlayer, perhaps by a port of the Windows-version of FFMPEG which itself only handles frequencies <12K and appears to possibly have a input/output channel mixup, perhaps as a way of the author of the mod deliberately "crippling" its usability so that he would have leverage to get paid to complete the job... as has been rumored).

From what I've now learned over the past few days of playing with the Xiaomi Stick and Shield and talking here, I now understand that ExoPlayer will use the locally available AC-4 support if available, but otherwise it will apparently come up with some other "solution" (that nobody seems to have the specs for, except that it appears to be PCM 2.0 however it got decoded and downmixed from the original AC-4 DD5.1). That's explains why there IS Dolby (MAT) 5.1 from uiDroid (and ExoPlayer demo) on the Xiaomi, and why there is only PCM 2.0 (somehow decoded from the underlying AC-4, perhaps by the same "inferior and incomplete" FFMPEG which produces easily observed bass-heavy results) on the Shield.

This really does seem like an endless battle, until a real 100% Dolby-licensed and 100% "perfect" AC-4 software codec is available for all platforms and in all devices. Naturally I don't have an AVR that supports AC-4... because IT DOESN'T EXIST TODAY!!!  There is not a single AVR from any manufacturer that today is available and which natively supports decoding of AC-4.

So, everything appears to be a compromise, unless (a) like the LG version of the HDHR client which uses the locally available-to-apps AC-4 support, and (b) the very soon upcoming Xiaomi version of the HDHR client which will use the locally available-to-apps AC-4 support, and © uiDroid on the Xiaomi where ExoPlayer finds and uses the locally available-to-apps AC-4 support, you are lucky enough to have the right device. Unfortunately the two software products have two different DVR engines (both operating off of the Flex 4K tuner), and two different recording file formats (MPG vs. TS).

Fortunately for me, I have BOTH of the right devices! The user interface of uiDroid (really NextPVR) is so far far superior to that of HDHR, that it seems virtually certain I would want to use uiDroid on the Xiaomi as my "player client app". Unfortunately the very low volume level issue is a significant problem, and this is not a problem using HDHR on my LG OLED.

For now, however, I think I've learned a great deal here. And the outstanding problem is that the Dolby (MAT) 5.1 volume out of uiDroid running on Xiaomi is much too low. It should be investigated to find the cause, and hopefully can be corrected.
mvallevand
Offline

Posting Freak

Ontario Canada
Posts: 53,091
Threads: 957
Joined: May 2006
#13
2022-04-25, 03:08 AM
In a post months ago https://forums.nextpvr.com/showthread.ph...#pid565489 I explained this was work in progress so I stick with my recommendation to stay with ATSC 1.0 for best quality and compatibility.

There is no Windows version of ffmpeg. There is basically the original ffmpeg patch for all platforms with some patches that sub posted. Emby and Channels DVR all use this patch whether it is inferior to the Silicon Dust network decoding I cannot say. People seem to love the Shield ignoring it cannot currently decode ac-4

Thanks for testing the demo I will see if there is something I am missing in uidroid for setting volume.

Martin
mvallevand
Offline

Posting Freak

Ontario Canada
Posts: 53,091
Threads: 957
Joined: May 2006
#14
2022-04-25, 08:47 PM
I don't see anything obvious in the sample code. Can you try this apk https://www.mediafire.com/file/fnlx9r9jb...t.apk/file Open any live TV channel will run the AC-4 demo. If the sound is normal volume, I don't think I can do anything more.

Martin
DSperber
Offline

Member

Posts: 138
Threads: 13
Joined: Jan 2020
#15
2022-04-26, 01:33 AM
(2022-04-25, 08:47 PM)mvallevand Wrote: I don't see anything obvious in the sample code.  Can you try this apk https://www.mediafire.com/file/fnlx9r9jb...t.apk/file  Open any live TV channel will run the AC-4 demo.  If the sound is normal volume, I don't think I can do anything more.

Martin

I'm assuming this is meant to be run on the Xiaomi, and that you have changed or tweaked something that you now expect will produce louder sound from uiDroid. And since because I ran this demo yesterday driven by ExoPlayer, we now have a benchmark reference for what it looked like and sound like yesterday as far as volumes go.

So you want me to evaluate how using uiDroid as the driver (but running with the same AC-4 demo test file as input) you want me to see if that shows about a "match" for yesterday's ExoPlayer-test volumes. And if that's the case, then it should now also provide a similar louder result when using true ATSC 3.0 channel input.

Do I have that right? Did you actually make changes to uiDroid in what you gave me? In fact, using this Rube Goldberg test version of uiDroid that plays the AC-4 demo test file when playing a "live" TV program, I can report that is DOES LOOK GOOD. Sure looks and sounds to be the same volume levels as I saw yesterday when ExoPlayer was the driver. I'm not sure your AC-4 test file matches the particular one I was playing with, but the content is clearly the same or very similar. And for sure I would say "it's a match" for how it sounded when ExoPlayer directly was the driver.

I don't know what is in your APK that perhaps overrides what I had before, either wholly or partially, but I still can use uiDroid to actually play recordings. That function still works normally, but presumably will utilize the same volume-related change you installed but demonstrated through the forced play of the AC-4 test file from the 'live" TV door.

Hopefully my assumption is correct. Because I happen to have made TWO recordings of this very same program, one from uiDroid/NextPVR and the other from HDHR. So I can play back BOTH of these using the version of uiDroid (or ExoPlayer??) that you asked me to try here. And both playbacks can be sent through my AVR so that I can see and hear what is being sent.  So I can see and hear both the output of the special uiDroid/ExoPlayer, as well as the output of LG HDHR client which utilizes the local built-in AC-4 codec support inside the LG OLED C9.

And, again it sure does "look like a match". I hope this isn't the placebo talking (because I'm believing you've made some tweak that you want me to test out), but the outputs look the same. Most importantly same SHAPE, and same VOLUME LEVEL. In fact both are kind of boomy and bass-heavy, and when I look at the graphical presentation the SW channel really seems much higher than any reasonable 5.1 audio should have. But what's most important is that it looks the same (i.e. "odd") from both uiDroid as well as from LG HDHR app.

It's not at all like an error of input/out channel assignment, and Ls/Rs mistakenly being sent to C/Lfe and the C/Lfe channels being sent to Ls/Rs (as is the case with Ferrels' modified Kodi on Windows that uses the modified FFMPEG). It's truly channel-balanced, but the levels are odd. And the quality is just boomy. But again, the same with both uiDroid and LG HDHR.

I will post some pictures later. But for now "if you did tweak something" you were successful. So if you can restore the proper "live TV" functionality and post one more APK, I will update uiDroid on Xiaomi one final time.

Thank you very much.
mvallevand
Offline

Posting Freak

Ontario Canada
Posts: 53,091
Threads: 957
Joined: May 2006
#16
2022-04-26, 01:52 AM
I made a one line tweak to force audio attributes to defaults and this is using a newer version of ExoPlayer but I don't expect a change in recording playback volume. The purpose was to see if playing live tv which is actually the same ac-4 demo would be normal or low volume. Did you install it and find improvement in recordings?

Martin
DSperber
Offline

Member

Posts: 138
Threads: 13
Joined: Jan 2020
#17
2022-04-26, 02:15 AM
(2022-04-26, 01:52 AM)mvallevand Wrote: I made a one line tweak to force audio attributes to defaults and this is using a newer version of ExoPlayer but I don't expect a change in recording playback volume.  The purpose was to see if playing live tv which is actually the same ac-4 demo would be normal or low volume.  Did you install it and find improvement in recordings?

Martin

Well as I said, not aware of what you had changed and what you specifically wanted me to look for (other than playing a live TV channel to trigger the AC-4 demo file), I performed the following two comparisons:

(1) comparison of graphical "level meter" of AC-4 demo file from yesterday's test using that ExoPlayer-only driver, vs. today using your special APK version with uiDroid playing a live TV channel (i.e. the same AC-4 demo file as was played yesterday through ExoPlayer). I didn't have an actual video recording of either, but eyeballing the graphics and listening to the individual channels as the were exercised... it looked like they were very similar. In other words, "normal" loudness, with just these six individual speaker blasts to compare.

==> This tells me this small tweak to whatever you tweaked at least made output from uiDroid/ExojPlayer match output from ExoPlayer itself, using the same input data file.

(2) comparison of graphical "level meter" of two ATSC 3.0 recording files, made by (a) HDHR (to MPG file), and (b) uiDroid/NextPVR (to TS file). I played back the uiDroid recording through this special APK version you provided, and looked at the graphics and listened to its sound from the speakers. I also played back the HDHR recording through LG HDHR app running on the LG OLED C9, which we know uses genuine Dolby-licensed local AC-4 decoding by the TV. And to my eyes and ears the graphics looked the same and the sound volume was the same.

==> This tells me what came out of the Dolby (MAT) 5.1 audio going to my DVR from the Xiaomi special APK uiDroid today, seems to match up with what we probably have to consider the "gold standard" of real AC-4 decoding by the LG OLED TV and the LG HDHR app running on the TV.


So, small as that tweak is, it does seem to have at least had some effect. Had I seen and heard yesterday what I saw and heard just a while ago, I wouldn't have written my post complaining about "very very low volume" from the Xiaomi.

Looks good. Can you please give me an non-debug version, that still has the tweak but doesn't have the forced play of the AC-4 demo file. I will put it to use and exercise it some more, to convince myself that it really does look good.
mvallevand
Offline

Posting Freak

Ontario Canada
Posts: 53,091
Threads: 957
Joined: May 2006
#18
2022-04-26, 03:14 AM
It sounds like ExoPlayer is working the way it should. It is not necessarily a small change, as I posted I am using the latest ExoPlayer in this build and it has 100's of changes. Also the Xiaomi uses genuine Dolby licensed AC-4 too, it is just not currently supported by Silicon Dust.

I am not ready to release another test build at this stage. This version still has slower graphics but I am hoping that sub can make a change so that I can re-enable it for other testing I am doing with this version of ExoPlayer. Also note there have never been non-debug builds of uidroid as I still like to gather logcat files.

Thanks for having look/listen.

Martin
DSperber
Offline

Member

Posts: 138
Threads: 13
Joined: Jan 2020
#19
2022-04-26, 06:35 AM (This post was last modified: 2022-04-26, 06:37 AM by DSperber.)
Well then I'm not sure what I am supposed to do.

The current state of things is that I have this special APK version of uiDroid installed that you provided. This includes (a) the latest version of ExoPlayer (with its 100's of fixes), along with (b) the tweaked version of uiDroid which no longer plays "live TV" but instead plays the AC-4 demo file (even though it appears to still play recordings just fine).

So the seemingly now present "fix" for the very low volume problem I reported yesterday may actually be imbedded in the newly updated ExoPlayer version, rather than due to your small tweak "to force audio attributes to defaults" (which may actually be accomplishing nothing, but who knows?). Yes, the Xiaomi offers the Dolby-licensed AC-4 support which is obviously being utilized (since its "graph" matches that produced by the LG HDHR app which also uses a proper Dolby-licensed AC-4 codec inside the LG OLED C9). In other words both of these devices appear to be delivering genuinely locally decoded AC-4 5.1 audio out to the connected AVR, presented as a Dolby (MAT) 5.1 passthrough stream to the AVR, and seemingly handled perfectly by the AVR. Sound appears "perfect" (in volume and channel content).

Anyway, because of your debug patch in this uiDroid version I can no longer actually play live TV with it. Only plays recordings. I'd like to be able to play live TV again.

So either you re-post a version (which I realize may only be temporary and not quite ready for prime time) that removes the test patch to force playing the AC-4 demo file instead of live TV, or I have to uninstall everything and reinstall the currently available public APK with its observed (and unusable) very very low volume issue, something I'd rather not do unless forced to. If I had to do this I would simply forget it all for now for anything involving uiDroid, and use my LG HDHR app if I wanted to watch anything on ATSC 3.0 channels, either live or recorded.

Given the choice I'd honestly rather be using uiDroid rather than LG HDHR, but I want: (a) ability to watch live TV and recordings, and (b) good true 5.1 sound with proper volume. I get that right now through LG HDHR with its inferior GUI and Guide. And I would also get that if you'd just un-patch the special APK version of uiDroid and still let me have that included latest version of ExoPlayer.

Up to you, of course. But depending on what you want to do I will then decide what to do. And of course, none of this is life-threatening or critical. It's all really just playing in the sandbox as I am only still in "pilot project" ATSC 3.0 mode for both hardware and software, given the tiny number of ATSC 3.0 channels available here in LA right now (neither of which I ever watch).
mvallevand
Offline

Posting Freak

Ontario Canada
Posts: 53,091
Threads: 957
Joined: May 2006
#20
2022-04-26, 01:51 PM
I retrospect I could have restricted live tv only to channels > 36 so you could watch ATSC 1.0 but in any case I never intended to make this an official build. I suggest having some patience until 1.5 is released which shouldn't be too long.

You still are recording and viewing with WMC and old style extenders, you have the HDHR app plus you also have the LG TV if you want your "gold" standard. On top of that ATSC 1.0 will give you exactly the same quality if you must use uidroid. You seem to have more than enough choice.

Martin
« Next Oldest | Next Newest »

Users browsing this thread: 1 Guest(s)

Pages (3): « Previous 1 2 3 Next »


Possibly Related Threads…
Thread Author Replies Views Last Post
  No Audio on LiveTV when using http://:x.x.x.x:8866/uiclient.html ninkynonk 7 1,605 2022-06-03, 07:44 PM
Last Post: mvallevand

  • View a Printable Version
  • Subscribe to this thread
Forum Jump:

© Designed by D&D, modified by NextPVR - Powered by MyBB

Linear Mode
Threaded Mode