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

please, help #4

Open
DENZAKIN opened this issue Jan 27, 2024 · 27 comments
Open

please, help #4

DENZAKIN opened this issue Jan 27, 2024 · 27 comments

Comments

@DENZAKIN
Copy link


Знімок екрана 2024-01-27 194902

@link89
Copy link
Owner

link89 commented Jan 27, 2024

There is a space in your device name, so you need to quote the string: --dlna_device "Goggles 2-026F"

@DENZAKIN
Copy link
Author

thanks for help but problem
Знімок екрана 2024-01-27 200151

@link89
Copy link
Owner

link89 commented Jan 27, 2024

Do you install ffmpeg.exe in D:\ffmpeg\ffmpeg.exe

@DENZAKIN
Copy link
Author

Yes

@link89
Copy link
Owner

link89 commented Jan 27, 2024

What's the result of running D:\ffmpeg\ffmpeg.exe ?

@DENZAKIN
Copy link
Author

opening in the command line?

@DENZAKIN
Copy link
Author

Знімок екрана 2024-01-27 201606

@link89
Copy link
Owner

link89 commented Jan 27, 2024

Yep, the same place you run dlna-cast

@link89
Copy link
Owner

link89 commented Jan 27, 2024

I guess I introduce a regression bug when adding support for Linux. Please downgrade dlna-cast with pip install -U dlna-cast==0.1.5

@DENZAKIN
Copy link
Author

DENZAKIN commented Jan 27, 2024

do you need to uninstall the current version ??
if so, how can I do it?

@link89
Copy link
Owner

link89 commented Jan 27, 2024

No, just reinstall it.

@DENZAKIN
Copy link
Author

Знімок екрана 2024-01-27 202901 Знімок екрана 2024-01-27 202924 Знімок екрана 2024-01-27 202938 this happens but there is no image on the device

@link89
Copy link
Owner

link89 commented Jan 28, 2024

What I can tell from the log is dlna-cast is working now, it is either a network problem, or the DLNA implementation in dlna-cast is not compatible with your device.

@DENZAKIN
Copy link
Author

Is it possible to check device compatibility?

@link89
Copy link
Owner

link89 commented Jan 29, 2024

I am afraid I have no idea. I write this project to learn some fundamental knowledge of SSDP, DLNA and HLS. But I am not an expert of this domain.

@DENZAKIN
Copy link
Author

This project could help many owners dji Googles 2 Because Dji Not going to work on that usage plan

@pierluigizagaria
Copy link

@DENZAKIN did you managee to use this project with Dji goggles 2?

@DENZAKIN
Copy link
Author

DENZAKIN commented Feb 26, 2024

@pierluigizagaria I tried but could not achieve any result, try it, maybe something will work out for you

@hexxone
Copy link

hexxone commented May 19, 2024

Mabye https://github.com/UniversalMediaServer/UniversalMediaServer could work, it at least detects the goggles..
But when I try to play something it always says the audio is not compatible and errors out.

I guess we would have to know the right codec & bitrate, then you could maybe make a custom profile with medaserver which works. Sadly I am also still searching for a solution.
DJI really isnt making this easy. No documentation at all...

@DENZAKIN
Copy link
Author

@hexxone This project also detects glasses as you can see from my screenshots, I will try your option later

@hexxone
Copy link

hexxone commented May 20, 2024

Ok actually I found an App which can flawlessly Stream to the DJI Goggles. Its this one https://play.google.com/store/apps/details?id=de.twokit.video.tv.cast.browser.dlna ... detects instantly and can seemingly play various video formats from multiple websites.

The problem is, aside from that the app is overloaded with ads and really not well usable...

As to my understanding UPNP / DLNA are not using encryption.
One option I see now would be to capture the communication between the APP and Goggles with something like Wireshark, and then try to reverse engineer / see what differs in the packets from dlna-cast to the App.
If its just a protocol problem and not the codec it should maybe be possible to figure out.

@hexxone
Copy link

hexxone commented May 21, 2024

I did some more debugging with the Goggles2, as it turns out once you start the "Wireless Streaming" on the Goggles 2 and connect to your wifi network, you can simply access its DLNA service definitions via the webserver in LAN.

In these definitions, you can see the Goggles provide a ConnectionManager::GetProtocolInfo() function, which actually returns the list of codes which the goggles support.

Audio Codecs: mpeg, mpeg3, mp3, mp4, basic, midi, ulaw, ogg, DVI4, G722, G723, G726-16, G726-24, G726-32, G726-40, G728, G729, G729D, G729E, GSM, GSM-EFR, L8, L16, LPC, MPA, PCMA, PCMU, QCELP, RED, VDVI, ac3, webm, vorbis, speex, flac, x-flac, x-aiff, x-pn-realaudio,x-realaudio, x-wav, x-matroska, x-ms-wma, x-mpegurl (yes, a lot)

Video Codecs: mpeg, flv, mp4, MP2T, x-flv (not a lot)

Maybe this can help you in some regard.

I will also keep digging as I really want to use this streaming feature with my goggles to watch stuff on my pc ^^

@yigithankardas
Copy link

Hi @hexxone
Appreciate your hard work and passion on this project.
It seems that we are struggling the exact same problem here and I am bit frustrated for running out of solutions.
It would be very helpful for us to exchange our findings about this topic.
First, may I ask you how have you achieved to access web interface or would you provide any debugging method for Goggles 2?

@hexxone
Copy link

hexxone commented May 23, 2024

Hi @hexxone Appreciate your hard work and passion on this project. It seems that we are struggling the exact same problem here and I am bit frustrated for running out of solutions. It would be very helpful for us to exchange our findings about this topic. First, may I ask you how have you achieved to access web interface or would you provide any debugging method for Goggles 2?

Yeah, no problem :)

First off, me "debugging" was only referring to using some curl commands for sending DLNA queries. I dont have any hardware access to the goggles besides web ^^I just thre some stuff at it and watched what sticked and the ConnectionManager::GetProtocolInfo() also reffers to the UPnP specification.

I've read this article: https://shaleenjain.com/blog/vlc-dlna-support-2/ which seems to describe how VLC actually implemented the DLNA casting feature on their player... I was sceptical about first because VLC also doesnt discover the Goggles.
Anyway the article contains some useful information. The commit Ids which are references at the bottom of the article can actually be found in VLC repo and contain some more interesting things:

The goggles seem to use the "Platinum/1.0.5.13" and "DLNADOC/1.50" Server for their tech stack internally.
Which is probably this project https://github.com/plutinosoft/Platinum.

Here you can see a similar API which SONOS uses: https://sonos.svrooij.io/services/connection-manager

Now, regarding how to access the web server on the Goggles..

  1. connect to your WIFI and see the name of the Goggles with the DLNA icon (I cant make good pictured of it).
  2. check in your router which IP address got assigned to the Googles, or discover it via UPNP broadcast...
  3. if you dont know the Port of the webserver, either use something like NMAP, or in my case it was 1873
  4. simply copy the IP to your browser address bar like "http://:1873" NOT "https".
  5. Now you should see the DLNA service deinitions XML.

I can also attach the ones from my goggle for comparison. Notice i've redacted the serial numbers..

Goggles2Web.zip

The question on which encoding settings exactly the goggles support is still open, as it's probably heavily reliant on the underlaying microcontrollers they used and what these support.

Let me know if you can figure something out 👍

@link89
Copy link
Owner

link89 commented May 24, 2024

Thank you @yigithankardas and @hexxone for your interest and your research. Do you already confirm that this is not network issue but protocol. Just as @hexxone suggested, can you open a browser in Goggles to access a web page started on your computer (you may start one with python -m http.server) ?

@yigithankardas
Copy link

Hello @link89,
Yes I am sure that this is a protocol issue. Since I was not able to stream any media from my PC, I was able to do it with my android phone via 3rd party apps like BubbleUPnP. This indicates that the issue is not related to connection/network stuff.

@hexxone
Copy link

hexxone commented May 26, 2024

One more thing @yigithankardas and @DENZAKIN

I just found out, you can also successfully stream to the DJI Goggles using the Windows Store "Movies & TV" application from Microsoft... Works flawlessly for anything I have tested. Just play something, connect Goggles to Wifi, press the 3 dots on the bottom right "Stream to Device", and done!

I am not sure if that also work for live streaming but any movie and video - no problem!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants