Live555 SDP received but no data stream received - rtsp

I tried testH264VideoFramer. And It work fine locally(rtsp://127.0.0.1:8554/testStream). Tested with VLC Player and testRTSPClient
However, If I try to connect remotely. Only SDP data received but no data stream received
Got a SDP description: v=0
o=- 1447008154324154 1 IN IP4 192.168.126.1
s=Session streamed by "testH264VideoStreamer"
i=test.264
t=0 0
a=tool:LIVE555 Streaming Media v2015.08.07
a=type:broadcast
a=control:*
a=source-filter: incl IN IP4 * 192.168.126.1
a=rtcp-unicast: reflection
a=range:npt=0-
a=x-qt-text-nam:Session streamed by "testH264VideoStreamer"
a=x-qt-text-inf:test.264
m=video 18888 RTP/AVP 96
c=IN IP4 232.122.81.169/255
b=AS:500
a=rtpmap:96 H264/90000
a=control:track1
......
Start playing session
..... And then nothing coming out
Is it a router problem or a firewall problem? I've allowed my program passing firewall for UDP/TCP in both local/public network

1- Make Sure that any Anti-Virus on your device is disabled .
2- Make Sure that there is ONLY ONE INSTANCE of VLC is running.
To check on this do the following :
a- Open task manager
b- End VLC task
c- Run VLC again
d- open"show hidden icon" in taskbar to check that one instance of VLC is running and stream it will work

Related

UDP send of 1237 bytes failed with error 35

I have an Electron and PeerJS built app. It uses PeerJS to make file transfer between 2 WebRTC data channel connected clients. File transfer works perfectly, but sender side main process (not browser renderer process) gets following random console.log errors observed in VS code Terminal console:
[29071:0703/195348.080594:ERROR:stun_port.cc(308)] Port[dc1b4600:0:1:0:local:Net[en0:192.168.8.x/24:Wifi:id=1]]: UDP send of 1237 bytes failed with error 35
[29071:0703/195348.081743:ERROR:stun_port.cc(308)] Port[dc1b4600:0:1:0:local:Net[en0:192.168.8.x/24:Wifi:id=1]]: UDP send of 1237 bytes failed with error 35
The data channel packet size is 512KB (file is sliced into chunks). Above error shows for every few chunks.
Main process uses followings to slice file into chunks:
const chunkSize = 512 * 1024;
fs.createReadStream(fullFileName, {highWaterMark: chunkSize});
It's originated from NodeJS file read or PeerJS? Since it's from VS code, it should not be from WebRTC. But it shows "stun_port.cc" which should be WebRTC related issue.
What's the reason of the error? How to fix it?

Howto read Voice Data from Amazon Fire TV Remote Control?

I am using a Fire TV Remote Control Version 1, the old one which has no volume and power buttons.
What I want to achieve is, receive audio samples from the build in mic of this remote.
I am using a Raspberry Pi 4 with debian
Linux raspi4box 5.4.79-v7l+ #1373 SMP Mon Nov 23 13:27:40 GMT 2020 armv7l GNU/Linux
I have paired the Remote with bluetoothctl successfully and can read the key events.
When the Mic button is pressed, i want to establish a connect to the device and read
audio. I can receive the Mic button events correctly so far.
bluetoothctl -- info FC:65:DE:E8:E8:FD
Name: Amazon Fire TV Remote
Alias: Amazon Fire TV Remote
Class: 0x00001f00
Paired: yes
Trusted: yes
Blocked: no
Connected: yes
LegacyPairing: no
UUID: Serial Port (00001101-0000-1000-8000-00805f9b34fb)
UUID: Human Interface Device... (00001124-0000-1000-8000-00805f9b34fb)
UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)
Modalias: usb:v1949p0410d0304
sdptool browse FC:65:DE:E8:E8:FD
Browsing FC:65:DE:E8:E8:FD ...
Service Name: SPPSERVER
Service RecHandle: 0x20000002
Service Class ID List:
UUID 128: 00001101-0000-1000-8000-00805f9b34fb
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 6
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
As You can see, the Remote exposes a Serial Port Profile.
I can connect to the service with:
sudo rfcomm connect /dev/rfcomm1 FC:65:DE:E8:E8:FD 1
...
Connected /dev/rfcomm1 to FC:65:DE:E8:E8:FD on channel 1
Press CTRL-C for hangup
I can use a teminal programm on /dev/rfcomm1 which comes up with a request from the remote:
AT+BRSF=253
At this point you should be able to answer the request and finally initiate the
recording on channel 6.
At this point i am stuck, because i get not further response
from the device.
Regards
Dezi

How to write to a Characteristic as of Bluez 5.48

I am using Bluez 5.50; 5.48 was the version acquire-write became officially (non-experimentally) supported. Am I using the acquire-write / write feature properly?
On my Raspberry Pi Zero W:
pi#raspberrypi:~ $ bluetoothctl
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# scan on
Discovery started
[bluetooth]# connect B8:27:E8:72:33:7A
Attempting to connect to B8:27:E8:72:33:7A
Connection successful
[DSD TECH]# menu gatt
[DSD TECH]# select-attribute 0000ffe1-0000-1000-8000-00805f9b34fb
[DSD TECH:/service0010/char0011]# acquire-write
[CHG] Attribute /org/bluez/hci0/dev_B8_27_E8_72_33_7A/service0010/char0011 WriteAcquired: yes
AcquireWrite success: fd 7 MTU 23
[DSD TECH:/service0010/char0011]# write("h")
[DSD TECH:/service0010/char0011]# write('h')
[DSD TECH:/service0010/char0011]# write(h)
[DSD TECH:/service0010/char0011]# write(0x68)
On my Arduino Nano connected to HM-10:
void setup()
{
Serial.begin(9600);
}
void loop() {
delay(10);
if (Serial.available())
{
char c = Serial.read();
Serial.println("Read value");
}
}
I use the iOS app named "Serial" which connects to my HM-10. I send the letter h over and read "Read value" on the arduino serial monitor. I do this directly before and after using the raspberry pi, on the same arduino serial monitor. The raspberry pi notifications never come thru. Yes, I am certain it is the same HM-10. It is the only HM-10 I have powered on in BLE range, and I cannot connect to the UUID while my phone is connected. (Actually, I submit connect B8:27:E8:72:33:7A to the raspberry pi, and keeps trying, and then disconnect from phone, and rpi automatically connects).
Thanks in advance!
When using gatt services with bluetoothctl, leave off the parentheses and just use:
write 0x68
acquire-write returns a file descriptor that can be used for writing to the GATT characteristic, usage of write will be locked. so either use acquire-write (which requires a write-without-response flag) or use write.
void WriteValue(array{byte} value, dict options)
Issues a request to write the value of the
characteristic.
Possible options: "offset": Start offset
"device": Device path (Server only)
"link": Link type (Server only)
"prepare-authorize": boolean Is prepare
authorization
request
Possible Errors: org.bluez.Error.Failed
org.bluez.Error.InProgress
org.bluez.Error.NotPermitted
org.bluez.Error.InvalidValueLength
org.bluez.Error.NotAuthorized
org.bluez.Error.NotSupported
fd, uint16 AcquireWrite(dict options) [optional]
Acquire file descriptor and MTU for writing. Usage of
WriteValue will be locked causing it to return
NotPermitted error.
For server the MTU returned shall be equal or smaller
than the negotiated MTU.
For client it only works with characteristic that has
WriteAcquired property which relies on
write-without-response Flag.
To release the lock the client shall close the file
descriptor, a HUP is generated in case the device
is disconnected.
Note: the MTU can only be negotiated once and is
symmetric therefore this method may be delayed in
order to have the exchange MTU completed, because of
that the file descriptor is closed during
reconnections as the MTU has to be renegotiated.
Possible options: "device": Object Device (Server only)
"MTU": Exchanged MTU (Server only)
"link": Link type (Server only)
Possible Errors: org.bluez.Error.Failed
org.bluez.Error.NotSupported

SIM808 bluetooth issue

I've connected my sim808 module to a HC05 bluetooth module with SPP profile.
Hc05 UART config is 9600 , no parity,1 stop.
i'm connecting with these at commands:
AT+BTPOWER=1
AT+BTCONNECT=1,4 // I have already paired two devices
when i send message printf("0adch=0&temp=27&hu=14") via HC05 to SIM808 , it breaks message to multiple parts like below (I've connected SIM808 to PC via a usb-ttl convertor,so i can see messages on sim RX port) :
+BTSPPDATA: 1,1,0
+BTSPPDATA: 1,10,adch=0&tem
+BTSPPDATA: 1,10,p=27&hu=14

What causes the RTSP streaming failure?

I am working on video streaming using RTSP protocol. Sometimes but not always, I observe streaming failure. When the client sends "DESCRIBE", the server responds with the following message.
>> from server [398] >>
RTSP/1.0 200 OK
CSeq: 2
Content-Type: application/sdp
Content-Base: rtsp://10.10.131.1:8554/video/TmMrb5Pigkhf8Ln/bmagic-3/
Server: GStreamer RTSP server
Date: Tue, 30 Apr 2013 20:52:12 GMT
Content-Length: 180
v=0
o=- 1188340656180883 1 IN IP4 10.10.131.1
s=Session streamed with GStreamer
i=rtsp-server
e=NONE
t=0 0
a=tool:GStreamer
a=type:broadcast
a=control:*
a=range:npt=now-
<<<<<
Normally, client will follow with "SETUP", but for a message like that the client seems to stop responding. I am new to RTSP, so to interpret this is hard for me. What could cause the server to send this message? What type of error does it imply such that the client chooses not to proceed?
Thank you so much!
It may be due to connection timeout. I would try to do this on your socket:
setTcpNoDelay(true);
setSoTimeout(60000);

Resources