alienatedsec / yi-hack-v5

Even newer Custom Firmware for Xiaomi Cameras based on Hi3518ev200 Chipset. It includes free RTSP, ONVIF and other improvements based on the work by roleoroleo
GNU General Public License v3.0
803 stars 89 forks source link

RTSP not working on 47US #251

Closed scruben closed 1 year ago

scruben commented 1 year ago

Installation was fine (Firmware is 0.3.7 on a Yi Home 720p 47US).

Config webpage can be accessed and snapshots can be done.

If enabled I can use yi home app as usual.

RTSP is enabled but once I copy the URL to VLC or kaffeine it doesn't work.

Tried all the combinations with/out password but no luck.

Any idea? anything I can ssh and log to help debugging? Thanks!

noz1380 commented 1 year ago

I think I'm finding the same with 9.3.8c

Tried on phone with vlc, but cannot get it to work with HA.

alienatedsec commented 1 year ago

@scruben @noz1380, please execute this script twice (option kill first, and second-time launch) and run it in debug mode. I will need to see the output.

[REMOVED - an new script below]

scruben commented 1 year ago

I don't get any debug messages even after trying to open the stream in VLC... could be those invalid options in rRTSPServer? Thanks

/home/yi-hack-v5/script # ./launch.sh 
Using model: yi_home
Specify the operation (k for kill, l for launch): l
Specify the settings (high, low, or both): high
Enable audio? (y/n): n
Execute in debug mode? (y/n): y
Using fifo as output
Resolution high
rRTSPServer: invalid option -- a
rRTSPServer: invalid option -- u
rRTSPServer: invalid option -- w
debug on

"ch0_0.h264" stream, from the file "/tmp/h264_high_fifo"
Play this stream using the URL "rtsp://192.168.0.29/ch0_0.h264"
alienatedsec commented 1 year ago

Works for me

/home/yi-hack-v5 # ./launch.sh
Using model: yi_dome
Specify the operation (k for kill, l for launch): l
Specify the settings (high, low, or both): high
Enable audio? (y/n): n
Execute in debug mode? (y/n): y
Using fifo as output
Resolution high

"ch0_0.h264" stream, from the file "/tmp/h264_high_fifo"
Play this stream using the URL "rtsp://[REDACTED]/ch0_0.h264"
alienatedsec commented 1 year ago

Have you executed this on 0.3.7 or 9.3.8c? @scruben

scruben commented 1 year ago

0.3.7. Should I try flash and test with 9.3.8c?

alienatedsec commented 1 year ago

@scruben please try this new version of the launch - I will be adding it to the repo too. There are some additional checks useful to me which are to be printed on the screen

launch.zip

scruben commented 1 year ago
/home/yi-hack-v5/script # ./launch.sh 
cat: can't open '/home/yi-hack-v5/version': No such file or directory
Using model: yi_home
Version on cam: 
Version on sd: 0.3.7
Specify the operation (k for kill, l for launch): k
/home/yi-hack-v5/script # ./launch.sh 
cat: can't open '/home/yi-hack-v5/version': No such file or directory
Using model: yi_home
Version on cam: 
Version on sd: 0.3.7
Specify the operation (k for kill, l for launch): l
Specify the settings (high, low, or both): high 
Enable audio? (y/n): n
Execute in debug mode? (y/n): y
/home/yi-hack-v5/script # Using fifo as output
Resolution high
rRTSPServer: invalid option -- a
rRTSPServer: invalid option -- u
rRTSPServer: invalid option -- w
debug on

"ch0_0.h264" stream, from the file "/tmp/h264_high_fifo"
Play this stream using the URL "rtsp://192.168.0.29/ch0_0.h264

I'll try this weekend with 9.3.8c, out of curiosity... it wasn't available yet when I originally flashed the cam.

Just for more info:

cat /home/app/.appver 
1.8.7.0F_201809191400
noz1380 commented 1 year ago

@scruben @noz1380, please execute this script twice (option kill first, and second-time launch) and run it in debug mode. I will need to see the output.

[REMOVED - an new script below]

Sorry to be a noob, I'd like to assist, where do I run the script, from ssh terminal on the camera?

alienatedsec commented 1 year ago

@noz1380 the camera terminal, please. You may need to enable the execution with: chmod +x launch.sh

Execute: ./launch.sh

alienatedsec commented 1 year ago

I'll try this weekend with 9.3.8c, out of curiosity... it wasn't available yet when I originally flashed the cam.

Its a manual effort - more https://github.com/alienatedsec/yi-hack-v5/discussions/248 or https://github.com/alienatedsec/yi-hack-v5/discussions/257 - I am about to release another version 9.3.8d soon

alienatedsec commented 1 year ago

Here you go https://github.com/alienatedsec/yi-hack-v5/releases/tag/9.3.8d

scruben commented 1 year ago

No luck... no debug messages when trying to open the stream in VLC or kaffeine

/home/yi-hack-v5/script # ./launch.sh 
Using model: yi_home
Version on cam: 9.3.8d
Version on sd: 9.3.8d
Specify the operation (k for kill, l for launch): k
/home/yi-hack-v5/script # ./launch.sh 
Using model: yi_home
Version on cam: 9.3.8d
Version on sd: 9.3.8d
Specify the operation (k for kill, l for launch): l
Specify the settings (high, low, or both): high
Enable audio? (y/n): n
Execute in debug mode? (y/n): y
/home/yi-hack-v5/script # Using fifo as output
Resolution high
Audio fifo does not exist, disabling audio.
"ch0_0.h264" stream, from the file "/tmp/h264_high_fifo"
Play this stream using the URL "rtsp://192.168.0.29/ch0_0.h264"
scruben commented 1 year ago

Some more info... I disabled RTSP from UI and run the script but with audio... now it doesn't fail immediately on opening the stream (in the end not working), but missing some messages

Using model: yi_home
Version on cam: 9.3.8d
Version on sd: 9.3.8d
Specify the operation (k for kill, l for launch): k
killall: wd_rtsp.sh: no process killed
killall: rRTSPServer: no process killed
killall: h264grabber: no process killed
/home/yi-hack-v5/script # ./launch.sh 
Using model: yi_home
Version on cam: 9.3.8d
Version on sd: 9.3.8d
Specify the operation (k for kill, l for launch): l
Specify the settings (high, low, or both): high
Enable audio? (y/n): y
Execute in debug mode? (y/n): y
/home/yi-hack-v5/script # Using fifo as output
Using fifo as output
AAC audio
Resolution high
Starting aac replicator
alienatedsec commented 1 year ago

I noticed that enabling audio is still a problem @roleoroleo

That is after applying the latest patches for the rRTSPServer.

@scruben the first time you executed should work without the audio. Can you test?

scruben commented 1 year ago

no, VLC still fails immediately with

Your input can't be opened:
VLC is unable to open the MRL 'rtsp://192.168.0.29/ch0_1.h264'. Check the log for details.

looking VLC logs

satip error: Failed to play RTSP session
satip error: Failed to teardown RTSP session
alienatedsec commented 1 year ago

Try 0_0 stream

scruben commented 1 year ago

same :(

alienatedsec commented 1 year ago

@scruben

I have the same camera and it works perfectly, and started giving debug info when the VLC streaming started.

/home/yi-hack-v5/script # ./launch.sh
Using model: yi_home
Version on cam: 9.3.8d
Version on sd: 9.3.8d
Specify the operation (k for kill, l for launch): k
killall: wd_rtsp.sh: no process killed
killall: rRTSPServer: no process killed
killall: h264grabber: no process killed
/home/yi-hack-v5/script # ./launch.sh
Using model: yi_home
Version on cam: 9.3.8d
Version on sd: 9.3.8d
Specify the operation (k for kill, l for launch): l
Specify the settings (high, low, or both): high
Enable audio? (y/n): y
Execute in debug mode? (y/n): y
/home/yi-hack-v5/script # Using fifo as output
Using fifo as output
AAC audio
Resolution high
Starting aac replicator
Read first frame: profile 1, sampling_frequency_index 11 => samplingFrequency 8000, channel_configuration 1

"ch0_0.h264" stream, from the file "/tmp/h264_high_fifo"
AAC audio enabled
Play this stream using the URL "rtsp://[REDACTED]/ch0_0.h264"
Read frame: syncword 0xfff, protection_absent 1, frame_length 490
Read frame: syncword 0xfff, protection_absent 1, frame_length 505
Read frame: syncword 0xfff, protection_absent 1, frame_length 516
Read frame: syncword 0xfff, protection_absent 1, frame_length 499
Read frame: syncword 0xfff, protection_absent 1, frame_length 518
Read frame: syncword 0xfff, protection_absent 1, frame_length 507
Read frame: syncword 0xfff, protection_absent 1, frame_length 468
Read frame: syncword 0xfff, protection_absent 1, frame_length 510
Read frame: syncword 0xfff, protection_absent 1, frame_length 512
AudioFramedMemorySource found at x = 0
fReplicator->inputSource() = 0x110fb18
createStreamReplica completed successfully
Sampling frequency: 8000, Num channels: 1, Config string: 1588
Read frame: syncword 0xfff, protection_absent 1, frame_length 535
AudioFramedMemorySource found at x = 0
fReplicator->inputSource() = 0x110fb18
createStreamReplica completed successfully
Sampling frequency: 8000, Num channels: 1, Config string: 1588
Read frame: syncword 0xfff, protection_absent 1, frame_length 529
Read frame: syncword 0xfff, protection_absent 1, frame_length 472
Read frame: syncword 0xfff, protection_absent 1, frame_length 559
Read frame: syncword 0xfff, protection_absent 1, frame_length 526
Read frame: syncword 0xfff, protection_absent 1, frame_length 480
roleoroleo commented 1 year ago

I noticed that enabling audio is still a problem @roleoroleo

That is after applying the latest patches for the rRTSPServer.

Ok, I will check the code.

github-actions[bot] commented 1 year ago

This issue has been stale for 30 days - it will be closed within the next 7 days if not updated