Live video out from your DJI FPV Goggles via USB.

Overview

digiview-banner

DigiView is an Android app that allows you to get a live preview from your DJI FPV Goggles (V1 & V2).

Working with Android 7+ and devices supporting USB Host mode.

Is my device Compatible? (non-exhaustive)

DigiView Wiki

Download

You can download the Beta Release from Google Play Store. If you need an apk, you can get one here.

Note: App is still in development so you might run into some bugs or even a crash.

Instructions

  • Power on your goggles.
  • Power on your drone.
  • Plug the USB cable from your goggles into your phone (if using an OTG adapter, that goes into your phone).
  • Automatic launch is enabled so app should launch. If not, just launch app manually.
  • Wait a bit and video should start streaming.
  • If there is no video after a few seconds, it's frozen or slowed down, try to unplug the USB cable and plug it back in.

If there is any other issues, please check our Discord server, some people might help you there.

Known Issues

  • You might need to set Auto temp control off on your Vista/Air unit (under Settings > Device in goggle menu) to get it to work.
  • Some people reported it's working best in 50mbps mode
  • Concerning hardware, USB-C to USB-C cables sometimes don't work depending on the phone you're using. in that case, an USB OTG adapter is the best option.
  • You may need to activate USB OTG in your Android settings to get the fpv goggles detected.
  • See open issues for more or to report a new issue.

Development

  • We will put more info here in the near future.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Most PRs should be based on and target dev branch.

They deserve some credits!

Please make sure to check these guys out! And feel free to donate ;)

Made with love using:

License

MIT

Comments
  • Adding a Tutorial Gallery for first app start

    Adding a Tutorial Gallery for first app start

    I created a new activity that is able to display a bunch of fragments to introduce the whole process to the user. The content like images and texts might/should be change before merge. Suggestions for these are welcome.

    This PR corresponds to issue #25 Closes #25

    opened by SanielDous 15
  • Splash Screens

    Splash Screens

    As a Continuation of #21 - here's the assets and designs for splash screens & screens to show information while not streaming

    Icons -> goggles_icons.zip

    Layout suggestions demo screen - please connect goggles demo screen - goggles disconnected demo screen - connection lost

    enhancement 
    opened by D3VL-Jack 12
  • Latency Issue/Delay stacking up (Video starts lagging  behind.)

    Latency Issue/Delay stacking up (Video starts lagging behind.)

    Looks like the device/player cant hold up with the 60fps stream which results in high latency. Multiple people have this issue.

    Example: https://www.youtube.com/watch?v=QA46zUFwxSQ

    Its running on an Nokia 5.1 Plus on Android 10.

    bug help wanted 
    opened by sweebee 11
  • DigiView not working with Goggles V2 FPV & Vista 01.00.0600

    DigiView not working with Goggles V2 FPV & Vista 01.00.0600

    Hi, DigiView is not working to me unfortunately. It's not reacting on plug / unplug goggles, just showing black screen. Following all recommendations like temp off, 50 Mbps, OTG adapter (both testing devices see flash drive). One is Samsung Galaxy tab S2 Android 7, another one is MI 9T Pro Android 10. Dji Goggles V2 FPV version, firmware 01.00.0600. Please suggest what else I can try to make it working? Are there any known issues with 01.00.0600 version ?

    device-specific-issue 
    opened by ostrmik 8
  • Settings Panel

    Settings Panel

    Create a Settings Panel to manage:

    • DVR Settings ( File Location, Auto Record , ...)
    • Telemetrie Settings (For late e. g. Crossfire telemetry)
    • About
    • Version
    • License
    enhancement 
    opened by shambler123 7
  • Sending Magic Packet after Trying to open already existing Stream.

    Sending Magic Packet after Trying to open already existing Stream.

    I have found that sending the Magic Packet to the Goggles while they already stream it stops the Stream. So i put the Magic packet after the first try of a playback from an opened stream.

    opened by dukey32123 7
  • Add watermark / button to bottom left of the screen

    Add watermark / button to bottom left of the screen

    Add a watermark to the bottom right corner of the screen as discussed in dev-chat. Ideally this would act as a button for the menu of the app, and should be removable by the user if desired.

    Assets attached -> digiview-feed-overlays.zip I've added images with and without the text as this may want to be localized in the future.

    examples: digiview feed#1 digiview feed#5

    enhancement 
    opened by D3VL-Jack 5
  • Splash Screens

    Splash Screens

    • resolves #23 by adding a splash screen and replacing toast messages with overlays DigiView screen transitions
    • updated launcher icons to design from layout suggestion https://github.com/fpvout/DigiView-Android/issues/23#issue-892323468 launcher
    • changed theme colors to match icons
    opened by fmatt 4
  • Video aspect-fit to native ratio, toggle with double tap/pinch

    Video aspect-fit to native ratio, toggle with double tap/pinch

    https://user-images.githubusercontent.com/956646/118441419-79153400-b6e9-11eb-8d65-36f74b8fe687.mov

    Resolves #5. Video will start in fullscreen by default as before. Double tap anywhere to switch to its native aspect ratio (unless your device screen and video feed happen to be the same ratio, then there will be no visual effect) with black bars on the edge, double-tap again to return to fullscreen with cropping. I've also enabled auto-animations in the layout, but they look a bit wonky on my Pixel sometimes, I guess resizing SurfaceView while it's playing causes this - any ideas how to avoid it?

    Edit: now you can pinch to zoom in/out as well thanks to @omouren ❤️

    Switching camera ratio while plugged in will freeze the video and require to plug the USB cable out and back in, tracked under #33.

    I'm thinking about enabling full sensor rotation (#20) but disabling fullscreen mode while in portrait since it would look ridiculous, how do you guys feel about that?

    enhancement 
    opened by fichek 4
  • Stretched/cropped video if Android device's screen aspect ratio doesn't match DJI Camera's 4:3 / 16:9

    Stretched/cropped video if Android device's screen aspect ratio doesn't match DJI Camera's 4:3 / 16:9

    Amazing work btw, latency is so low and app functions really well!

    I usually fly with 4:3 mode set in the goggles (to get the widest FOV) but on digiview it seems to stretch the incoming 4:3 stream into 16:9, filling my phone screen but distorting the image.

    Thanks,

    FailsafeFPV

    enhancement 
    opened by failsafe-fpv 4
  • App stops when screen is goes to sleep, requiring a restart of the app

    App stops when screen is goes to sleep, requiring a restart of the app

    When the device screen turns off the following error is thrown

    2021-05-13 21:02:58.872 21619-13521/com.example.ijdfpvviewer E/ExoPlayerImplInternal: Playback error
          com.google.android.exoplayer2.ExoPlaybackException: Source error
            at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:580)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:233)
            at android.os.HandlerThread.run(HandlerThread.java:67)
         Caused by: com.google.android.exoplayer2.ParserException: Loading finished before preparation is complete.
            at com.google.android.exoplayer2.source.ProgressiveMediaPeriod.maybeThrowPrepareError(ProgressiveMediaPeriod.java:243)
            at com.google.android.exoplayer2.source.MaskingMediaPeriod.maybeThrowPrepareError(MaskingMediaPeriod.java:154)
            at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:965)
            at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:478)
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:233) 
            at android.os.HandlerThread.run(HandlerThread.java:67) 
    
    

    Full Logcat Dump

    bug 
    opened by D3VL-Jack 4
  • Digiview App Stuck at

    Digiview App Stuck at "Waiting for Video"

    I have been trying, unsuccessfully, to get the digiview app to work with my V2 goggles.

    I have tried multiple USB C <> USB C cables 3 (all "data" cables). I have to go into my USB settings on the phone and switch from "charge only" to a full usb connection, but the app still just says "Waiting for video"

    Anyone else have this problem? Any cable recommendations that are confirmed to be working?

    opened by mughu94 8
  • Google Pixel 4 XL w/ v2 Goggles

    Google Pixel 4 XL w/ v2 Goggles

    Google Pixel 4 XL w/ v2 Goggles seem to work but is necessary to go to the USB setting and change it to controlled by device.

    Also am only getting 2-3 frames per minute.

    opened by terry-dactle 3
  • Auto-Rec Goggles

    Auto-Rec Goggles

    DJI Goggles V2 - Caddx Vista Nebula Pro Samsung and other smartphones

    Once the glasses are connected to DigiView, the video can be seen perfectly, but the automatic registration is interrupted in the glasses and does not resume until the glasses are restarted.

    This creates a lot of problems because I use automatic recording to insert it into videos.

    Why does this happen? Does it happen to you too?

    opened by galefabio 1
  • Add support for vr goggle phone holders (Split display rendering of video)

    Add support for vr goggle phone holders (Split display rendering of video)

    Addresses https://github.com/fpvout/DigiView-Android/issues/9 This adds a "VR" mode to support vr goggle phone holders, like Google Cardboard etc. For testing, I used this one: https://www.amazon.com/dp/B08SBM1HMW?psc=1&ref=ppx_yo2_dt_b_product_details It makes use of code from Google's "Grafika" project (see https://github.com/google/grafika) in order to do OpenGL ES operations and render the video twice with good performance. This code is in the "gles" folder.
    A preferences setting was added for "Enable VR Goggle Mode" I'm not sure how you are translating strings for this project, so my strings are currently in English only. Let me know if there is something I should do to translate them, I could use google translate or something. Screenshot_20210618-191058 Screenshot_20210618-191026

    https://user-images.githubusercontent.com/19310623/122628141-456f5600-d069-11eb-89e6-45ec569a55f0.mov

    enhancement help wanted 
    opened by 0TheRain0 6
  • Add OSD?

    Add OSD?

    I could use the option that would display the OSD - We have a verity of platforms used for Search and Rescue and a display that shows the GPS coordinates would take pressure off the pilot and help speed thing up for ground crews.

    Thanks

    enhancement nice to have 
    opened by Ratspitter 1
Releases(v1.0.0-beta)
Owner
Fpv Out Club
Fpv Out Club
The open source CyborgFlow project is an out-of-the-box (OOTB) solution to perform load test on your online system.

CyborgFlow CyborgFlow provides an out-of-the-box (OOTB) solution to perform load test on your online system, powered by Apache APISIX, Apache SkyWalki

SphereEx 70 Nov 30, 2022
A distributed lock that supports the use of Redis and Zookeeper, out of the box, fast and easy to use

lock-spring-boot-starter A distributed lock that supports the use of Redis and Zookeeper, out of the box, fast and easy to use 一款基于 Redis 和 Zookeeper

Pear Stack 9 Oct 15, 2022
Cardsystem - Digital card sign-in/sign-out system for the Indiana Academy

cardsystem Digital card sign-in/sign-out system for the Indiana Academy Requirements: Create system for inputing destination, companion, and estimated

null 1 Feb 23, 2022
An example spring boot app to try out with a Parca Agent deployment.

Spring boot example This repo is an example for how a Java application can be profiled with Parca Agent. First deploy Parca and Parca Agent as usual,

Parca 1 Mar 9, 2022
Find out what the sign is from a specific day and month

WhatMySign Find out what the sign is from a specific day and month Preview How to use To run it is simple, first download the file of the program by c

null 1 Feb 3, 2022
Brain/out is a multiplayer shooter with a nostalgic post-soviet feel

Brain / Out Source code for Brain / Out, the game. How To Build From Source First, clone this repo. Use Gradle Wrapper: ./gradlew <command> on mac/lin

Alex Siryi 69 Jan 7, 2023
Program that allows employees to clock in and clock out of work. Employees who are managers can add, edit and delete employees and shifts from the database.

Clock-In-Clock-Out-System Created by: Kennedy Janto, Taylor Vandenberg, Duc Nguyen, Alex Gomez, Janista Gitbumrungsin This is a semester long project

null 6 Nov 5, 2022
Duel Threads - Concurrency techniques duel it out for the championship (and bragging rights)

Duel Threads Concurrency techniques duel it out for the championship (and bragging rights) Phases: Argue over rules, challenges and the grand prize Se

Jason Sipula 2 May 9, 2022
NeverScapeAlone! Instantly match with other players and take the hassle out of finding partners for bosses, minigames, skills, pking, and more!

NeverScapeAlone An Old School RuneScape Matchmaking Plugin on RuneLite! Tired of having to scour friend's chats, discords, and forums to find friends

null 14 Sep 2, 2022
An Android library for member secretGFX group, This can be used to growing your apps and get more install via a simple banner view & native view and interstitial dialog.

GFX-AdPromote An Android library for member secretGFX group, This can be used to growing your apps and get more install via a simple banner view & nat

SAID MOTYA 10 Dec 25, 2022
This Web Application Allows A user to upload a two minutes Video. It uses Server Side Capabilities of Nodejs and Spring Boot .

VideoStreamingApplication Purpose Of This Application These days trend of short videos are on rise youtube recently realsed "Shorts" . So , taking ins

Prateek Kumar 57 Nov 13, 2022
bilibili B站 哔哩哔哩 acfun A站 樱花动漫 番剧下载器(Video Downloader):smiley:​ 仅供学习交流 求 star orz

AnimeDownloader 番剧下载器 ?? 使用教程 下载 B 站视频 支持的类型 普通视频(不支持互动类视频) 番剧(大会员视频需要先登录) 电影 纪录片 ... 下载 A 站视频 支持类型 普通视频 番剧(不支持付费视频) 下载樱花动漫视频 支持类型 部分支持(加密的 m3u8 类型视频不

lin 71 Dec 16, 2022
source code of the live coding demo for "Building resilient and scalable API backends with Apache Pulsar and Spring Reactive" talk held at ApacheCon@Home 2021

reactive-iot-backend The is the source code of the live coding demo for "Building resilient and scalable API backends with Apache Pulsar and Spring Re

Lari Hotari 4 Jan 13, 2022
📺 Streaming OBS video/Mjpeg into maps on item frames at a high frame rate

MakiScreen Mjpeg ?? Streaming OBS video/Mjpeg into maps on item frames at a high frame rate images taken on TotalFreedom: play.totalfreedom.me How doe

null 4 Apr 8, 2022
📹 Live stream RTMP Publisher for React Native

react-native-rtmp-publisher ?? Live stream RTMP publisher for React Native ⚠️ iOS on development Installation npm install react-native-rtmp-publisher

Ezran Bayantemur 55 Dec 12, 2022
Record 360 video with jMonkeyEngine3

jm3-360-video Record 360 video with jMonkeyEngine3 Check CustomVideoRecorderAppStateTest.java for usage. Example: https://youtu.be/TccLGPPZ3Iw This wi

Rickard Edén 3 Jan 24, 2022
100+ Spring Boot Articles, Tutorials, Video tutorials, Projects, Guides, Source code examples etc

YouTube Channel - Spring Boot Tutorial Subscribe for future video and updates Spring Boot Tutorial on YouTube Newly published spring boot tutorials (2

Ramesh Fadatare 1.2k Jan 2, 2023
The world's top-level live sdk...

目录结构说明 本目录包含 Android 版 移动直播 SDK 的Demo 源代码,主要演示接口如何调用以及最基本的功能。 ├─ MLVB-API-Example // MLVB API Example,包括直播推流,直播播放,互动直播 | ├─ App //

LiteAVSDK 18 Jan 5, 2023
Presti 5 Nov 19, 2022