Socket Programming For Audio Streaming using Bluetooth or wifi - windows

I know that for audio streaming and video streaming RTSP protocol is used (However i am not aware of what is used in bluetooth).
However my question is little different.I would like to explain it with an example(Actually it is not an example i am trying to build something similar).
When we connect our device(a mobile running on android) using bluetooth to our PC(Operating System-Windows) the
control panel shows an option for streaming audio.
As many of you would be aware in this when i play a song on my device it is played on my PC speakers.
So my question is
1)Who is the server
2)Who is the client
Probably i think that my PC is the client.If PC is the client then it would open a connection for audio streaming with the device.
As it opens a connection with the server, the server should have a specific application through which the transfer of packets must take place with the client.
But to my surprise i was able to use any media player on my device to play songs on my laptop speaker.
How is this possible?? Is it possible to do the same thing using RTSP protocol.

Related

How to send an audio stream over SIP

I'm developing an application that receives an audio stream over a WebSocket and needs to forward the audio to a SIP server.
Currently, I've managed to connect to the audio source using a Websocket and receive the media stream (encoded u-law) using Node-Red, but I'm struggling to figure out how to send the media stream to the SIP server. Any advice would be much appreciated.
I looked into this for a similar question a while back, can't find where it was now.
As you probably know the media part of SIP is RTP, so its a fairly separate stack to the call signalling.
I didn't find any nodes that supported it and the few node.js libraries for RTP were all very incomplete and out of date.
In theory it might be possible to craft your own RTP streams using the UDP nodes and then create the relevant SDP in the SIP response but I'm not sure how robust or scalable this would be.
The other option is that there are a couple of Programmable Comms platforms out there that support both SIP and Web sockets so you could possible utilise one of those and connect from Node-RED via websocket letting them do the SIP work.
I've done SIP|<>Websocket stuff with both the Vonage API (Previously Nexmo) and Jambonz (open source)

DJI OSDK - how to stream to remote server

Could anybody give me tip how to stream from main aircraft camera to remote server? We have our own app runing on RASPI 4 build on Matrice and can get live view from camera, can download h264 file to SD card, but havent't found any description/sample how to stream outside.
Is it possibe to use aircraft-RemoteController connection and then RemoteController to WiFi? Or rather use RASPI WiFi (that will cut range I assume).
Setup a RTMP server.
Stream to a RTMP-server from the MSDK (which running on the remote).
See the MSDK example project.
Anyway if you search for the class "LiveStreamManager" in the msdk example app on github.
method getLiveStreamManager
LiveStreamManager getLiveStreamManager()
Provides access to getLiveStreamManager. It can be used to stream the video to a RTMP server to do live streaming with DJI products.
It is possible to do so as shown in the figure below. The RTMP streaming is done by using FFMEPG we stream the section of the desktop to a webRTC server. We use opencv to control the XT2 image box on the desktop and then perform the live streaming. But the normal 4G based point-to-point connection may have 30sec latency, we use a webRTC video server to make the stream realtime.

What are the possible ways to play RTSP live stream on Web?

What are the possible ways we can play a live stream (RTSP) on the web browser, without using any video player plugin like VLC or VXG players?
I have a web application written with Laravel framework. The application is to play live stream from IP cameras. Using the video player plugins could work, but it has high latency. Also, it is not reliable. After running for some time, it will crash without any useful error message.
I tried to use opencv.js but failed. The VideoCapture function does not accept URL (but in its documentation it can. Perhaps in opencv.js it is different.)
Any other alternative?
No options available. Web browsers can not open sockets directly. The only option for getting data into a browser are HTTP, web sockets or webrtc.

Serverside WebRTC (streaming camera)

Use Case (stream UDP video)
Stream server-side web-cam (robot) UDP video to a client browser. We would rather lose packets than have the webcam struggle to keep up over a TCP connection via wifi which constantly cuts out.
Attempted solution
Start a Xvfb FireFox browser on the server and have that stream the webcam media source. I don't like this solution as it's not flexible for non webcam video and difficult to configure.
I'm looking for something that can stream an arbitrary media source to a WebRTC connection (including the greets & hand shaking). I don't particularly care which language it is, if something already exists in node.js, python, C, java or Scala I'll use it. Otherwise I suppose I'll get to work on the problem (in that case any guidance would be appreciated)

Streaming audio over a bluetooth socket

I need to stream audio over Windows sockets to a bluetooth headset.
I am able to make socket connection to the Bluetooth headset using RFCOMM and A2DP / Headset profile / Hands-free profile.
My requirement is to stream audio (WAV or MP3) over the socket.
Is it possible by simply writing audio data to the socket (using send())?
OR any other ways to do it?
I am required to use the same socket connection to stream. If I use Media Control Interface APIs, they will make a separate connection and then stream.
The A2DP profile is layered on top of L2CAP and SDP; moreover SDP shall function
while using L2CAP as its transport protocol.
So if you want to implement the communication with send(s) through a socket, you need to implement SPD also, and you should realize the communication as specified in
https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=8236
after you have connected serially to your A2DP capable device, like i. e. using:
http://SimpleBluetooth4Win.Sourceforge.net
(small library that uses the windows bluetooth networking API)

Resources