Been testing today with the goal of reliable tuning using DTV App and Onn 4K boxes. I pulled one of my Onn 4K (O4K) out of mothballs, put into production to test with the newer Onn 4K Plus (O4KP) boxes.
General Findings
- On my network, the O4K Boxes (WiFi5) had at least 2-3 times greater network latency than the O4KP Boxes (WiFi6).
- From cold start, the DTV App launches in about half the time on the O4KP versus the O4K.
- Once stream has started, the DTV app video quality is about the same on O4K and O4KP.
- When the O4K is in standby by or Doze (deep sleep), the wake up command introduces a good bit of network latency which I don't see on the O4KP boxes.
- The O4K has another latency spike once the DTV App is open, likely as it tries to start the preview video for last channel tuned.
- If the DTV app is left open, or tuning fails leaving the app in limbo, it will not reliably respond to Deep Links. In fact, it made one of my O4KP boxes stop responding to physical remote commands.
Comments
Right off the bat, I will be the first to admit my WiFi testing is not scientific. Comparing WiFi5 to WiFi 6 is not direct, and everyone has a different RF environment in their homes.
Less interesting is the latency difference, but the impact activity seems to have on latency. The O4K would, lightly, blip when resuming from sleep and during DTV app start up. I suspect this is the CPU at play. The O4KP does not seem to be bothered by the activity. As observed during reboots, app launches and overall UI responsiveness, the O4KP CPU is noticeably faster. I've also noticed in previous testing my O4K boxes are not predictable, don't always act the same. I suspect this is also CPU related, thermal throttle as the O4K boxes can get warm. Granted, they are a few years old.
Testing and Results
I focused most of my testing on DirectTV App quirks. As mentioned earlier, the app can get set into a "wonky" state. It just stops responding to ADB and will leave the tuner open in ADBTuner. This is not ideal. I found restarting the DTV App fresh at each tune is the best hope for response to deep link. This does mean tuning is not as fast as leaving the app open, but I could not find a predictable way to do this, at least on the O4K boxes.
Next I worked around the little latency blips I experienced. I realized the O4K needs a small delay from sleep to home screen, before launching the DTV app. Coming out of sleep, the load of launching the DTV app added enough latency to periodically fail ADBTuner connection. Sometimes this was a failed tune, other times a tuner left open. Adding just a few second delay between the ADBTuner pre-tune and tuning commands, via custom config, did the trick. This even seems to work around resume from Doze/Deep sleep.
Lastly, I worked to keep tuners from being locked in ADBTuner. I found powering down the device at end of tune would not only save power, but make the device less "busy" for the next time the device was called to tune. And it cuts down CPU time, both on the O4K and my LinkPi.
In attempt to simulate worst case scenarios, I tested the O4K box while my other four tuners were live. I also put the O4K into deep sleep to test slow, wake response. During my few hours of testing, the O4K worked pretty well. Tuning was was in the 12 second range.
Recommendations
In case you skipped to this section in TLDR fashion, here is what I recommend.
- Open a fresh copy of the DTV app at each tune.
- Disable any unnecessary network settings on O4K to limit CPU and Network Load.
- Power down the O4K when tuning completes.
- Use the awesome ADBTuner custom configs for better control (see sample below).
ADBTuner Custom Config for Onn 4K
{
"name": "DirecTV App - Onn 4K",
"author": "spammedeeper",
"version": "0.1",
"description": "Reliable Tuning of DTV out of Doze",
"uuid": "94634da2-badb-4a16-b150-add7075870ac",
"global_options": {
"wait_for_video_playback_detection": true,
"use_fixed_delay": false,
"fixed_delay_seconds": 0,
"check_for_and_clear_whos_watching_prompts": false
},
"pre_tune_commands": [
"input keyevent 3",
"sleep 2"
],
"tune_commands": [
"am start -W -a android.intent.action.VIEW -S -d '||TARGET_URL_OR_IDENTIFIER||' '||TARGET_PACKAGE_NAME||'"
],
"post_tune_commands": [
"input keyevent 3",
"input keyevent 26"
]
}
Few tidbits on the config above:
- This config was tested specifically on Onn 4K (2023), but also works with Onn 4K Plus.
- The Pre Tune sleep value can be 1 or 2 seconds. You will need to test. When you get to 3 seconds, you may start getting close to the Channels DVR timeout.
- In the Tune Commands line, the -S switch is what closes the app right before opening the app again. This is faster than closing DTV app in the Pre Tune section.
- Key Event 3 is HOME, Key Event 26 is POWER (button)
General Settings to Change
The following list contains settings I changed, trying to limit any unnecessary network latency and CPU activity on my O4K. They helped a tiny bit, nothing major, but they are how I tested.
- Apps Only Mode for Home Screen (Profile Setting)
- Turn off HDMI CEC under Display & Sound
- Turn off Casting Support
- Turn off Scanning Always Available in Network & Internet
- Turn Cast controller to Never under System.
- Turn Off Scan for nearby devices under System
- Turn off Mobile data always active under Dev Options
- Turn all Animations (three of them) to Animation off under Dev Options
- Turn ON Disable USB audio routing under Developer Options
Wrap Up
I think there is value in exploring this Onn 4K and DirecTV combo in ADBTuner. I know many users have Onn 4K boxes, which are perfectly fine for 1080P video. And DirecTV Genre Packs can be attractive if they offer the channels you need.
My goal with any Channels playground project is reliable tuning. Most of my television viewing is by recording, so I don't mind slower tuning speeds. When I do watch live TV, it's not to channel flip, so again speed is not a big deal for me. If you are looking for a more cable like experience, need turning response, Android TV with YouTube TV or AH4C/Osprey Boxes with DirecTV are better experiences.
Where this project focused on making best use of Onn 4K boxes, I have mentioned the Plus boxes many times. They are noticeably faster then the standard Onn 4K and an excellent value at $30, but they are not the only choice. I hear the Google Streamer is nice, as is the Onn 4K Pro, both more expensive. If I make more time, maybe I'll do some DTV testing on some of these boxes, along with my dormant NVIDIA Shields. Maybe test out this "Ethernet" the kids keep talking about. /s
Anyhow, I hope this info helps. I've been taking notes throughout the day. Happy to continue testing or answer any questions.
Happy Streaming.