How to stream RTMP direct from an android divice to a windows pc in the fild without any Network - stream

i would like to stream Dron video from the controler (Dji mavic air 2 with a RC-N1 controler) via RTMP direktly from the controler/my Phone to my PC wihl i am in the fields without having any internet conection or an extra Network. Is that some how possible?

First, you still need a network. You can create a hotspot using a computer (laptop) or a device that connects to the RC-controller (phone, tablet).
Secondly, you need an RTMP server that will be located in this network. As a quick example, I can recommend MonaServer2, it is easy to install and run.
Thirdly, you need someone who will "listen" to the server when the stream comes to it. For example, you can use a VLC player. Launch it and specify RTMP stream as a source.
So, you start the RTMP-server, let's say it is located at 192.168.0.1:1935. On your device connected to the RC-controller, using the standard DJI-Fly application or your own app developed using Mobile SDK, select the option to start streaming, specify the address: rtmp://192.168.0.1:1935/live. Next, launch VLC-Player, select File->Open Network Stream and type rtmp://192.168.0.1:1935/live in URL field. Now you will be able to watch live-stream in your VLC window.
This is the fastest and easiest way I can recommend.
Also you can take raw h264 frames from camera, send them to decoder and do whatever you want. If you need some more info about it feel free to ask. Hope it helps!

Related

Get files from multiple Sony A7RII Cameras with the Sony Camera Remote API

I would like to download images from 20 Sony A7RII cameras, to a computer, without having to get the memory cards from the 20 cameras. I do not need to synchronize the triggering, I know this is not possible via software. I do not need the discovery service, I can figure the ip addresses myself.
I need to be able to read the image list and download images. Even better would be to get a notification when new images are available. Is the Sony SDK limited to a single camera? Is there really only an HTTP pull API via WIFI, or is there any way to connect to these cameras, via USB for example.
This is very easy to do with the Canon SDK, I'm looking for a similar solution for Sony alpha cameras.
Using the Camera Remote API you can read the image list and download images, however since the API uses a direct WiFi connection it can only connect to 1 camera at a time. The API only works over WiFi, not USB unfortunately.
You can connect all 20 cameras to one wifi-AP and then use PTP/IP to connect to all cameras at the same time.
PTP/IP supports event messages on new pictures being available but not sure if Sony supports it
Alternatively, you could leave the connections open and do regular pulls to check for new files
PTP also supports initiating captures (although I haven't tried on the A7RII) but you would have to ensure synchronisation yourself
If you're using Java, you could use my PTP/IP implementation which is explicitly tested with the Sony A7.
(Disclaimer: I have tried this only with the A7 but am assuming that the A7RII supports the same protocol.)

Connecting to a "P2P Wifi camera"

I have a Chinese "P2P Wifi Camera" (model Q5) that i'd like to connect to from an iOS app.
The camera can operate in "LAN Mode" - in this mode i'm connecting from the phone/computer to the wifi network of the camera itself, and an app called "P2PCamViewer" displays the current picture.
However, i wasn't able to connect to it using my own code.
As far as i can tell, the camera doesn't respond to HTTP or RTSP requests, on any port (probed it using nmap). i also wasn't able to find any mac app that can connect to it.
I suspect the camera is somehow transmitting the data via a RTP stream, but i wasn't able to connect to it.
I've tried other similar cameras, but they seem also to operate in the same unknown protocol.
Ideally, i'd like to find a solution to connect to it from something like VLC, and then use VLCKit on my iOS app to connect to it.
Thanks!
If you just want to get the stream from the camera to your app, there are other ways.
Each IP Camera should have been configured with RTSP URI by the manufacturer. Check in their website or in user manual. For example: rtsp://192.168.0.5/video.
If you couldn't find the URI, refer this link for "How can I find the right RTSP URI for my IP camera?": http://ipcamlive.com/faqs.
Related software download link: https://sourceforge.net/projects/onvifdm/
Using this RTSP URI, you can use any RTSP player example and get the camera feed to your app.

iOS RTP live audio receiving

I'm trying to receive a live RTP audio stream in my iPhone but I don't know how to start. I'm seeking some samples but I can't find them anywhere.
I have a Windows desktop app which captures audio from the selected audio interface and streams it as ยต-law or a-law. This app works as an audio server that serves any incoming connection with that streaming. I have to say that I've developed an Android app that receives that stream and it works, so I want to replicate this functionality on iOS. In Android we have "android.net.rtp" package to manage this and transmit or receive data streams over the network.
Is there any kind of equivalent package for iOS to implement this? Could you give me any kind of reference / sample to do this, or just tell me where to start?
You can see this libraryHTTPLiveStreaming, But his protocol maybe is not standard one, You can check my fork aelam/HTTPLiveStreaming-1, I'm still working on it, it can be played by ffplay. You can try
check the file rtp.c in ffmpeg, I think it will help out

Customizing RTSP client library for woza

I have downloaded a library from this links its working fine for live streaming with in local network. I am not able to customize this library to communicate with wowza server. Please guide me if anyone knows.
Or else suggest me some other open source ios client library(Encoding foramt should be either H.264 or MPEG 2 or 4) to communicate with wowza server.
I recommend you to install wowza locally on your host, turn it on the max debug level and try to establish the session with you client. Then, in the log, you will see what is going on. As per my experience, wowza standard setup behaves in a pretty expectable way, understands h264 + aac sound. I implemented rtsp client for android, can send you negotiating logs, etc. You, on the other side, could also grab the log on how session is established to check if commands order is ok, all is sane and what the response is.

How to display RTSP from IP Camera/CCTV in iOS

There is obviously a way to do this because so many applications are already doing it - NetCamViewer and iCamviewer to name just one.
I have searched and searched, but I'm not finding anything of value that gives a hint as to how this is done. I'm reaching out hoping that someone will give me a clue.
I'm trying to connect to an video security camera (Y-CAM), which supports the RTSP protocol, and display the video from my iPhone/iPad application. The camera has an IP address and I can view the video from a web browser and from Quicktime running on my Mac. The problem is that RSTP is not supported on iOS so even trying to connect using Safari on an iPad doesn't work.
I've read that some are trying to use Live5555, but I haven't seen an article that describes if it has been done successfully and how.
An alternative is to capture the RTSP stream on a server, convert it to an HTTP Live stream and then connect to the HTTP Live stream from iOS. Unfortunately, this hasn't proved as easy as it sounds.
I'd prefer to go directly to the camera like other applications I've seen do. the RTSP to Live is a fall back if I have to.
Any hints are greatly appreciated. Thanks!
This is wrong :) or not necessary (An alternative is to capture the RTSP stream on a server, convert it to an HTTP Live stream and then connect to the HTTP Live stream from iOS. Unfortunately, this hasn't proved as easy as it sounds.)
You should use ffmpeg library, as this library can connect any streaming server (supporting rtsp, mms, tcp, udp ,rtmp ...) and then draw pictures to the screen.. (for drawing you can use opengles or uiimage also works)
First of all, use avformat_open_input to connect to your ip address
then use avcodec_find_decoder & avcodec_open2 to find codecs and to open them (you should call them for both audio & video)
Then, in a while loop read packets from server by using av_read_frame method
When you get frame, if it is audio then sent it to AudioUnit or AudioQueue,
if it is video, then convert it from yuv to rgb format by using sws_scale method and draw the picture to the screen.
That's all.
look at this wrapper also (http://www.videostreamsdk.com), it's written on ffmpeg library and supports iOS
You really need to search stack overflow before posting , this question has been asked many times. Yes live 555 sort of works and some of us have gotten it to work..
There are other players too, including ours http://www.streammore.tv/
You can find an open source FFMepg Decoder for iOS (and somes samples) on GitHub : https://github.com/mooncatventures-group
Sample use of this library : http://sol3.typepad.com/exotic_particles/
There are two general technology to display RTSP video on iOS Safari:
RTSP / HLS (H.264+AAC)
RTSP / Websocket (H.264+AAC ==> MPEG+G.711 or H.264+?)
For HLS you can consider Wowza server.
For Websocket playback in iOS Safari you can use WCS4 server.
Main idea for websocket playback is direct HTML5 rendering to HTML page Canvas element and audio context. In the case of MPEG playback video decoding will be done on iOS Safari side using plain JavaScript.
Another option - install a WebRTC plugin with getUserMedia support and play this stream via WebRTC. Anyway you will need a server side RTSP-WebRTC transcoder in such case.

Resources