Comments (11)
did some more testing. In a dark environment it works fine (latency is always good and no increasing delay). once there is a lot of light it goes bad.
https://www.youtube.com/watch?v=RRIMHVJCURI
from digiview-android.
@jlucidar yes I already tested it this morning before work. Here is the output, it looks quite good. but still laggy sometimes but it catches up and the latency doesnt stack up.
https://www.youtube.com/watch?v=nwWIL_f-LMM
from digiview-android.
Ok, Performance Presets is now a thing so we can switch between alpha strategy (called legacy) and new strategy with different buffering strategy (default, aggressive, conservative).
So I'm closing this.
If anyone wants to play with presets values or add new one, I will accept PRs :)
from digiview-android.
Just make the title a bit more generic. So people can comment on this.
from digiview-android.
So this is related to how the h264 stream is being passed to the exoplayer frame extractor.
Actually the h264 stream coming from the goggles is not encapsulated, nor contains information for the framerate.
It's been a bit of a testing/changing/retesting procedure to find a suitable timestamp for each frame to make it looks good, but this is not ideal, and the value is probably still too high.
If anyone comes with a great solution to calculate this value I'll take it. Or we can just lower it down till it breaks :)
from digiview-android.
Running down a quick stackexchange hole led me to this: https://stackoverflow.com/a/11920252/467210
Not sure if it helps, as I'm not sure what the raw h.264 looks like (nor do I have more than a cursory understanding of how video streams work, but maybe it does?)
Also, here is a deeper dive into where this information could possibly be gleaned:
timing_info_present_flag : 1
num_units_in_tick : 100
time_scale : 5994
fixed_frame_rate_flag : 1
I'm going to try to run through this example (https://www.cardinalpeak.com/blog/the-h-264-sequence-parameter-set) with one a DJI file that I'll record on Windows and see if I can get anywhere.
from digiview-android.
Actually, I randomly ended up here: https://github.com/district-michael/fpv_live/blob/4c7bb40e5cc5daec67b39cc093235afb959a4bfe/src/main/java/dji/midware/media/record/RecorderGop.java#L112
Looks like for the decompiled fpv_live from a year ago, DJI is assuming 30fps. I may be on the completely wrong path here though...
from digiview-android.
I did some testing of the v0.1.0 Alpha release on two devices:
- Samsung Galaxy Tab S3, Android v9
- USB connects and starts the app automagically.
- First frame of video appears after 5sec, but freezes for about 30sec.
- Video delay is approx. 1 second, occasionally slowing to 2 seconds.
- Quality of video is otherwise good, with a good stable framerate, no skipped frames.
- Various combinations of Air video settings tried, inc bitrate, quality/latency mode, and focus mode. Results were consistent despite air settings.
- Air unit kept cool. Did not go into low power mode.
- Different USB cables attempted. Largely the same results across all cables, except a 3m/10' cable which did not connect.
- Video at https://youtu.be/G-WOKrJsLlE
- Samsung Galaxy S10, Android v11
- USB connects and starts the app automagically.
- First frame of video appears almost immediately, but freezes for about 20sec.
- Video delay is approx. 4-5 seconds.
- Video appears to be dropping frames and/or changing speed frequently. Very unwatchable.
- Various combinations of Air video settings tried, inc bitrate, quality/latency mode, and focus mode. Results were consistent despite air settings.
- App restarted with USB connected. Video playback restarted.
- Different USB cables attempted. Largely the same results across all cables, except a 3m/10' cable which did not connect.
- Air unit kept cool. Did not go into low power mode.
Video at https://youtu.be/NBkyl5Tc088
Happy to help with more testing if required. You're doing a massive service to the community!
from digiview-android.
Ok, Here is a version with internal buffering strategy reworked.
had 2 internal devs trying it and reporting to work well.
If it works well, I will merge it in dev branch.
@sweebee @brad8898 can you try this ?
app-debug-issue16.apk.zip
from digiview-android.
@sweebee looks great ! will see if I can tweak it a little bit to remove the disconnection and freezes.
from digiview-android.
Ok, Here is a version with internal buffering strategy reworked.
had 2 internal devs trying it and reporting to work well.
If it works well, I will merge it in dev branch.@sweebee @brad8898 can you try this ?
app-debug-issue16.apk.zip
@jlucidar, this apk is failing to install on both of my devices for some reason. Package installer gets to about 80-90% on the progress bar, then stops with an error "App not installed". No further info that I can find. I downloaded and extracted the file again to rule out a corrupted download, but got the same result.
from digiview-android.
Related Issues (20)
- Digiview App Stuck at "Waiting for Video" HOT 11
- DJI goggles 2 HOT 1
- does not work properly with the DJI RC PRO
- Is this application discontinued or still in active development? HOT 2
- Mobile App won't install on Pixel 6a Android v13
- Localization update HOT 5
- Fix the splash screen
- Request port translation to crowdin platform HOT 1
- Add localization credit board in app and GH readme HOT 1
- DigiView not working with Goggles V2 FPV & Vista 01.00.0600 HOT 8
- Port into some other app store in case google play is banned HOT 3
- Multicast stream over UDP
- Feature request: Stream recording (because SD card in Goggles are not working) HOT 3
- Add OSD? HOT 6
- dji CrystalSky
- Support for FJI FPV drone? HOT 1
- Is there an iOS beta? HOT 1
- Auto-Rec Goggles HOT 1
- Credit other open source librarys
- Google Pixel 4 XL w/ v2 Goggles HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from digiview-android.