streamedian / html5_rtsp_player Goto Github PK
View Code? Open in Web Editor NEWPlay RTSP stream from IP camera in browser in this HTML5 player without plugins
License: Apache License 2.0
Play RTSP stream from IP camera in browser in this HTML5 player without plugins
License: Apache License 2.0
Hi Victor,
Thanks for the great plugin. However, I am facing some issues while integration. I am using VLC web plugin to play RTSP URL's but your plugin sounds legit to us considering VLC performance issue and lack of browser support except IE and FF.
I am stuck in below issues
If I attach big bunny rtsp it throws exception Failed to parse SDP
. I am using test.bundle.js
same as in your example.
Can this work with multiple video players with one single playback controls ?
Also the example https://specforge.com/html5playerstream/index.html does not work in chrome while browser support is mentioned.
Please guide and help.
Thanks !
I'm trying to get ws-rtsp-proxy working on a raspberry pi but the blob within the debian/ubuntu and rpm packages are not for ARM processors.
Could you provide the source so we can compile for different architectures or can you provide compiled versions for different architectures?
It would also be helpful if this was hosted github (or somewhere) so other Linux distros could integrated this SW into their respective package management tools.
Thanks,
-Drew
Hi,
I want to use your script to show the stream of my Xioami YI cam.
However, I guess I need some help to rund your code.
I downloaded your files with the "npm install git://github.com/SpecForge/html5_rtsp_player.git" command.
Then I navigated to the example folder in my terminal and executed "npm install".
However, "npm install bp_event bp_log bp_statemachine" does nor work. There seems to be a problem with bp_log. I installed bp_logger instead.
Next, "webpack --config webpack.config.js" -> throw the error "ERROR in ./test.js
Module build failed: Error: Couldn't find preset "es2015" relative to directory... ".
What do I have to do to compile your example?
typo
Hi, I've been working on your player extensively to enable direct playback of RTP stream delivered over WebSocket (no negotiation phase, just immediate playback after passing the SDP). I can see all the RTP packets are coming in order and the audio decodes perfectly fine. I've noticed, however, that the player has some troubles when trying to play a live video stream compressed using H.264 Main profile, while the one compressed with H.264 Baseline profile works just fine.
Here's an SDP for the Baseline profile compressed stream:
v=0
o=- 1953854714 1953854714 IN IP4 127.0.0.1
s=greg
c=IN IP4 0.0.0.0
t=0 0
a=sdplang:en
a=range:npt=now-
a=control:*
m=audio 0 RTP/AVP 96
a=rtpmap:96 mpeg4-generic/44100/1
a=fmtp:96 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1208
a=control:trackID=1
m=video 0 RTP/AVP 97
a=rtpmap:97 H264/90000
a=fmtp:97 packetization-mode=1;profile-level-id=42801F;sprop-parameter-sets=Z0KAH5ZSAKALdgKhAAADAAEAAAMAPOBgAHoSAAEYw/xjjAwAD0JAACMYf4xw7QoVJA==,aMuNSA==
a=cliprect:0,0,720,1280
a=framesize:97 1280-720
a=framerate:30.0
a=control:trackID=2
This one plays smooth both in my custom implementation and yours using the Node.js proxy.
And here's the Main profile one:
v=0
o=- 229000092 229000092 IN IP4 127.0.0.1
s=greg
c=IN IP4 0.0.0.0
t=0 0
a=sdplang:en
a=range:npt=now-
a=control:*
m=audio 0 RTP/AVP 96
a=rtpmap:96 mpeg4-generic/44100/1
a=fmtp:96 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1208
a=control:trackID=1
m=video 0 RTP/AVP 97
a=rtpmap:97 H264/90000
a=fmtp:97 packetization-mode=1;profile-level-id=4D401F;sprop-parameter-sets=Z01AH5ZSAKALdgKhAAADAAEAAAMAPOCgAHoSAAEAWfxjjBQAD0JAACALP4xw7QsWyQ==,aOtzUg==
a=cliprect:0,0,720,1280
a=framesize:97 1280-720
a=framerate:30.0
a=control:trackID=2
The second one, even though it seems to play something, is full of artifacts and happens to freeze after a couple of seconds. I've also noticed a much bigger CPU use on Chrome (65% on main profile vs. 15% baseline).
Another thing I've noticed is that in H.264 Main profile compressed streams, there's much more STAPs that currently get ignored completely.
So, my questions are:
Thanks for this interesting project, I hope you'll keep working on it!
Hi ,
I installed the html5_rtsp_player in Node.js server in windows 10. When i run the sample html (index.html) , i am able to recieve the data packets in the server but the video displayed in the video control in my html is broken .I can only see top part of video and rest is black screen , even though the video is playing. Could you please help me out to find the solution?
The proxy will crash on tear down if multiple client access same rtsp link.
I assume it could be some null pointer issue when free some resource.
One of my test run looks like this. you can see rtp socket: 23 is disconnected 2 times before core dump.
[2016-10-04 15:30:25] [control] Control frame received with opcode 8
[2016-10-04 15:30:25] [disconnect] Disconnect close local:[1001] remote:[1001]
disconnect rtp socket: 21
[2016-10-04 15:30:25] [control] Control frame received with opcode 8
[2016-10-04 15:30:25] [disconnect] Disconnect close local:[1001] remote:[1001]
disconnect rtsp socket: 200
[2016-10-04 15:30:25] [control] Control frame received with opcode 8
[2016-10-04 15:30:25] [control] Control frame received with opcode 8
[2016-10-04 15:30:25] [disconnect] Disconnect close local:[1001] remote:[1001]
disconnect rtsp socket: 210
[2016-10-04 15:30:25] [disconnect] Disconnect close local:[1001] remote:[1001]
disconnect rtsp socket: 205
[2016-10-04 15:30:25] [control] Control frame received with opcode 8
[2016-10-04 15:30:25] [disconnect] Disconnect close local:[1001] remote:[1001]
disconnect rtsp socket: 207
[2016-10-04 15:30:25] [control] Control frame received with opcode 8
[2016-10-04 15:30:25] [control] Control frame received with opcode 8
[2016-10-04 15:30:25] [disconnect] Disconnect close local:[1001] remote:[1001]
disconnect rtsp socket: 209
[2016-10-04 15:30:25] [control] Control frame received with opcode 8
[2016-10-04 15:30:25] [disconnect] Disconnect close local:[1001] remote:[1001]
disconnect rtp socket: 22
[2016-10-04 15:30:25] [disconnect] Disconnect close local:[1001] remote:[1001]
disconnect rtsp socket: 202
[2016-10-04 15:30:25] [control] Control frame received with opcode 8
[2016-10-04 15:30:25] [disconnect] Disconnect close local:[1001] remote:[1001]
disconnect rtsp socket: 201
[2016-10-04 15:30:25] [control] Control frame received with opcode 8
[2016-10-04 15:30:25] [control] Control frame received with opcode 8
[2016-10-04 15:30:25] [disconnect] Disconnect close local:[1001] remote:[1001]
[2016-10-04 15:30:25] [disconnect] Disconnect close local:[1001] remote:[1001]
disconnect rtsp socket: 23
[2016-10-04 15:30:25] [disconnect] Disconnect close local:[1006] remote:[1006]
disconnect rtp socket: 23
disconnect rtp socket: 20
Segmentation fault (core dumped)
Current the video latency is about 2s, how to improve the latency?
I am sorry,I am newer to nodejs,
zhuwt@ubuntu:~/rtsphtml/node_modules/html5_rtsp_player/examples$ webpack --config webpack.config.js
Hash: c848527f64a5353b8e14
Version: webpack 1.13.2
Time: 87ms
+ 1 hidden modules
ERROR in The node API for babel
has been moved to babel-core
.
what should I do?
I put the demo code (html code & js code) in my project , get error messege "close.code:3000 & close.code:1006" from console.
How to fix it ?
I tried your latest player on github and we have some problems with MediaSource. On first launch of player the new MediaSource instance in MSE has always as readyState closed and the player does not start playing the video.
In this case we get an error on video tag error listner:
MediaError code:4 message: MEDIA_ELEMENT_ERROR: Unable to attach MediaSource
If we reload the page with F5 anything is fine, the MediaSource readyState is open and the player plays the stream
I could not run the demo with your guide. Can you please offer detal guide ?
for example: the command "webpack --config webpack.config.js" exec in which dir?
Looking forward to your reply! Thanks a lot.
I finish installing the server side and brower side.
when I run "sudo service ws_rtsp start", there is nothing to display. Is it OK ?
the command "netstat -ltn" only display :
shaw@ubuntu:~/workspace/proxy$ netstat -ltn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN
and when i open the index.html with firefox,
Does proxy work correctly ?
Hello,
can you fix the link issue?
Also, can you give us more details and maybe the source code of this package?
Thank you
We are using your html5_rtsp_player to stream an rtsp stream over the html5 video tag, and this is working fine.
But we have two problems.
The video has at least 5 seconds of lag if we compare it to a flash player.
And the other problem is, sometimes it crashes or freeze but without any errors on the console.
Can you help?
Edit:
I go ahead with investigation, I added control to video and see that the stream is always downloading but the player/browser is pausing for 2 or 3 seconds, so the player is behind the live stream. On go to the end of the stream by the navigation bar I'm back at the end of the stream with 1 second of lag comparing to the flash player.
Firefox has many more problems, so there are more pausing events and so the player in firefox after 1 hour is behind several minutes after that time period. See below the screenshot of how it looks in firefox.
Usually when the player has this problems in the log I see this:
broken chunk (continuation of frame with other timestamp) rtsp_player.js:1771:19
broken chunk (continuation of lost frame)
I use the js file downloaded from your demo site
https://specforge.com/html5playerstream/index.html
My RTSP link works well with VLC player and vlc plugin on firefox but does not work when I am replacing the link in your code with mine.
Hey ,
I can't run your demo with url rtsp example (rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov) with log:[mse] Error occured: error occurred when decoding.
How to me can run your demo with url rtsp example.
Thanks you!
sudo npm install bp_log
this command cannot work.
npm ERR! Linux 4.4.0-24-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "bp_log"
npm ERR! node v4.2.6
npm ERR! npm v3.5.2
npm ERR! code E404
npm ERR! 404 Registry returned 404 for GET on https://registry.npmjs.org/bp_log
npm ERR! 404
npm ERR! 404 'bp_log' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.
npm ERR! Please include the following file with any support request:
npm ERR! /var/www/html/html5_rtsp_player/npm-debug.log
OS: ubuntu 16.04
what I missed ?
Can you help me to convert audio file into mp4a-latm format in rtp? thank you very much.
Hi,
i followed the wiki but when i try to install:
npm install bp_event bp_log bp_statemachine
i get:
npm ERR! Linux 4.4.38-v7+
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "bp_event" "bp_log" "bp_statemachi ne"
npm ERR! node v4.4.2
npm ERR! npm v2.15.0
npm ERR! code E404
npm ERR! 404 Registry returned 404 for GET on https://registry.npmjs.org/bp_log
npm ERR! 404
npm ERR! 404 'bp_log' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.
npm ERR! Please include the following file with any support request:
npm ERR! /home/pi/npm-debug.log
Also when trying to install:
wget http://repo.tom.ru/deb/debian/non-free/all/ws-rtsp-repo-1.2.deb
i get:
wget http://repo.tom.ru/deb/debian/non-free/all/ws-rtsp-repo-1.2.deb
--2017-02-14 19:28:23-- http://repo.tom.ru/deb/debian/non-free/all/ws-rtsp-repo-1.2.deb
2017-02-14 19:28:23 FEHLER 404: Not Found.
Is it outdated?
I hope someone can help me, i searched for this solution a long time.
Thanks,
Stefan
你好,请问下这个手机端能跑嘛,这个demo我都没跑成功,是不是先要配置什么
I'm having an issue when using this lib. It complains about the Buffer class. Can this be named something else?
I just change the url in the example, but it's not work. How to use the example? and I really don't know how to use the npm and rollup, so I want to know the example can used or not...
http 400 error!
I install ws-rtsp-proxy with "apt install ws-rtsp-proxy", but nothing installed like this picture
I guess ws-rtsp-repo-1.2.deb is Incomplete package,Can you send a complete package to [email protected], thanks.
Hello
I tried to attach your service to my meteor.js project (it should work with npm according to documentation), but smth went wrong.
This is the command:
C:\Users\Bo\myapp>meteor npm install git://github.com/Streamedian/html5_rtsp_player.git
npm ERR! git clone C:\Users\Bo\AppData\Local.meteor\packages\meteor-tool\1.4.2_3\mt-os.windows.x86_32\dev_bundle.npm_git-remotes\git-github-com-Streamedian-html5-rtsp-player-git-9aa2085e C:\Users\Bo\AppData\Local\Temp\npm-50688-2c552762\git-cache-ce5e04b7\6207bc53008c1f70405fd7f52821ea5ec8115f0b: Cloning into 'C:\Users\Bo\AppData\Local\Temp\npm-50688-2c552762\git-cache-ce5e04b7\6207bc53008c1f70405fd7f52821ea5ec8115f0b'...
npm ERR! git clone C:\Users\Bo\AppData\Local.meteor\packages\meteor-tool\1.4.2_3\mt-os.windows.x86_32\dev_bundle.npm_git-remotes\git-github-com-Streamedian-html5-rtsp-player-git-9aa2085e C:\Users\Bo\AppData\Local\Temp\npm-50688-2c552762\git-cache-ce5e04b7\6207bc53008c1f70405fd7f52821ea5ec8115f0b: error: cannot spawn sh: No such file or directory
npm ERR! git clone C:\Users\Bo\AppData\Local.meteor\packages\meteor-tool\1.4.2_3\mt-os.windows.x86_32\dev_bundle.npm_git-remotes\git-github-com-Streamedian-html5-rtsp-player-git-9aa2085e C:\Users\Bo\AppData\Local\Temp\npm-50688-2c552762\git-cache-ce5e04b7\6207bc53008c1f70405fd7f52821ea5ec8115f0b: fatal: unable to fork
npm ERR! git clone C:\Users\Bo\AppData\Local.meteor\packages\meteor-tool\1.4.2_3\mt-os.windows.x86_32\dev_bundle.npm_git-remotes\git-github-com-Streamedian-html5-rtsp-player-git-9aa2085e C:\Users\Bo\AppData\Local\Temp\npm-50688-2c552762\git-cache-ce5e04b7\6207bc53008c1f70405fd7f52821ea5ec8115f0b:
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\Users\Bo\AppData\Local\.meteor\packages\meteor-tool\1.4.2_3\mt-os.windows.x86_32\dev_bundle\bin\node.exe" "C:\Users\Bo\AppData\Local\.meteor\packages\meteor-tool\1.4.2_3\mt-os.windows.x86_32\dev_bundle\lib\node_modules\npm\bin\npm-cli.js" "install" "git://github.com/Streamedian/html5_rtsp_player.git"
npm ERR! node v4.6.2
npm ERR! npm v3.10.9
npm ERR! code 128
npm ERR! Command failed: git -c core.longpaths=true clone C:\Users\Bo\AppData\Local.meteor\packages\meteor-tool\1.4.2_3\mt-os.windows.x86_32\dev_bundle.npm_git-remotes\git-github-com-Streamedian-html5-rtsp-player-git-9aa2085e C:\Users\Bo\AppData\Local\Temp\npm-50688-2c552762\git-cache-ce5e04b7\6207bc53008c1f70405fd7f52821ea5ec8115f0b
npm ERR! Cloning into 'C:\Users\Bo\AppData\Local\Temp\npm-50688-2c552762\git-cache-ce5e04b7\6207bc53008c1f70405fd7f52821ea5ec8115f0b'...
npm ERR! error: cannot spawn sh: No such file or directory
npm ERR! fatal: unable to fork
npm ERR!
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! https://github.com/npm/npm/issues
npm ERR! Please include the following file with any support request:
npm ERR! C:\Users\Bo\myapp\npm-debug.log
Is it possible to attach it at all or am I doing smth wrong while attaching?
Thanks,
Olya
Hi,
I am having IP camera and want to play RTSP h.264 stream on chrome browser. Is it working with this solution ?
Can the websocket player work on its own? As in could one open a ws connection with a server, after which the server would start writing to the ws, perhaps for example an ffmpeg stream?
This would play in well with the future Full Duplex DASH Specification
The link for downloading ws-rtsp-repo-1.2.deb seems to be broken...
wget http://repo.tom.ru/deb/debian/non-free/all/ws-rtsp-repo-1.2.deb
--2016-08-06 22:16:18-- http://repo.tom.ru/deb/debian/non-free/all/ws-rtsp-repo-1.2.deb
Resolving repo.tom.ru (repo.tom.ru)... 213.183.104.244
Connecting to repo.tom.ru (repo.tom.ru)|213.183.104.244|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2016-08-06 22:16:19 ERROR 404: Not Found.
Plays video on Chrome but not on Firefox the error log is "unreachable code after return statement[Learn More]" test.bundle.js:2812:13
Note: Play video without audio on Chrome on Firefox not video not even audio
We implement your client for our system, but we have some problems to stop the stream.
We use your lib in an angular2 WebApp like that:
import WSPlayer from './assets/js/rtsp_player';
@Component({
....
})
export class LaRTSPlayerComponent implements AfterViewInit, OnChanges, OnDestroy {
@Input() streamUrl: string;
public id: string = 'rtsp-player-' + Math.random().toString(36).slice(2);
private wsPlayer: any;
ngAfterViewInit() {
this.startPlay();
}
ngOnDestroy() {
this.stopPlay();
}
private startPlay() {
this.wsPlayer = new WSPlayer(this.id, {socket: this.streamUrl, url: 'rtsp://127.0.0.1/', type: 'rtsp'});
}
private stopPlay() {
if (this.wsPlayer) {
// player is PAUSED also on leaving destroying this component, but I'm not sure which is the best way to destroy and remove any eventListener
// so to be secure, I will do this all also manually
this.wsPlayer.stop();
this.wsPlayer = null;
}
}
}
After the component is init we start the Play by creating a new instance of WSPlayer
, the player start playing the stream and works very good. We see the log Client started
The problem is, if we leave the page and so close the player we wan't to stop the play and close stream in the right way.
We try this by call the stop()
method, and set the instance after that to null. Calling stop() we see two times the log Client paused
.
Every thing seems to be fine, but if you wait a wail, you can see the stream does always log stuff to the console, so it seems the stream is not closed at all, and if you wait longer you get error loop, this is our entire log!
Client paused
Client paused
broken chunk (continuation of lost frame)
[transport:ws] [ctrl] close. code: 1000 unknown reason ...
[mse] video/mp4; codecs="avc1.42001f" cleaning start
[mse] Source buffer aborted: closed
[mse] video/mp4; codecs="avc1.42001f" cleaning end
[mse] Media source ended: closed
[mse] Media source closed: closed
[mse] Media source opened: open
Client started
ERROR TypeError: Cannot read property 'remux' of undefined(…)
ERROR TypeError: Cannot read property 'remux' of undefined(…)
ERROR TypeError: Cannot read property 'remux' of undefined(…)
ERROR TypeError: Cannot read property 'remux' of undefined(…)
ERROR TypeError: Cannot read property 'remux' of undefined(…)
ERROR TypeError: Cannot read property 'remux' of undefined(…)
ERROR TypeError: Cannot read property 'remux' of undefined(…)
ERROR TypeError: Cannot read property 'remux' of undefined(…)
ERROR TypeError: Cannot read property 'remux' of undefined(…)
ERROR TypeError: Cannot read property 'remux' of undefined(…)
For any help we are very grateful!!!
Edit:
After a lot of errors, they stopped. But also some times after it is possibile the stream comes up again, but I'm not on the page! The problem is, the stream is never closed!
we use Ubuntu 16.04 x64, and use Axis Camera rtsp source.
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff4314700 (LWP 6472)]
[New Thread 0x7ffff3b13700 (LWP 6473)]
[New Thread 0x7ffff3312700 (LWP 6474)]
[New Thread 0x7ffff2b11700 (LWP 6475)]
[New Thread 0x7ffff2310700 (LWP 6476)]
[New Thread 0x7ffff1b0f700 (LWP 6477)]
[New Thread 0x7ffff130e700 (LWP 6478)]
[New Thread 0x7ffff0b0d700 (LWP 6479)]
Thread 3 "websock_rtsp_pr" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff3b13700 (LWP 6473)]
__lll_unlock_elision (lock=0x7fffffffe370, private=0)
at ../sysdeps/unix/sysv/linux/x86/elision-unlock.c:29
29 ../sysdeps/unix/sysv/linux/x86/elision-unlock.c: No such file or directory.
Hi,
I wondered if it was possible to have this websocket/rtsp proxy running on other platforms - I cannot seem to find the source for it, and would like to run it on my Mac...
Cheers Hugh
Hello.
I'm trying to use this project in order to get RTSP stream from a Dahua IP Camera. The URL to get the stream is something like:
rtsp://192.168.xx.xx:554/cam/realmonitor?channel=CHANNEL&subtype=ENCODING&authbasic=BASE_64_USER:PASS
So far so good, I haven't been able to get the stream, even though it works with VLC media player and VXG Chrome plugin.
Is it possible to get the stream from the RTSP proxy with a URL like that? I've already tested the project with rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov and everything flows smooth and nice.
Trying to download the proxy but can't find repo.tom.ru domain name.
Hi,
I am using rtsp player for including rtsp streams in html5 video tag. The stream plays well in VLC but in the rtsp player, I am able to listen to only audio and the video is not being rendered. I get the below statement in the console.
"no video for this : video track is not attached cause there is no remuxer for MP4V-ES"
RTSP URL:
rtsp://mm2.pcslab.com/mm/7m800.mp4
Also, there seems to be some problem when rendering audio in this rtsp stream.
rtsp://freja.hiof.no:1935/rtplive/definst/hessdalen03.stream -
audio track is not attached cause there is no remuxer for mpeg4-generic
Many Thanks,
Praneeth
Hi, Could you mind give me a demo about the process of deploy and run.
Hello
I create rtsp proxy server on fedora 23 server and test rtsp type mp4 it ok, but when i test by rtsp type by h264 it can't play for me
Please tell me what i wrong config
Thanky everyone
Am I right for assuming, that this "player" only supports unicast streams? (If not I would be glad, multicast isn't used widely enough after all)
Hello, my site working on https protocol, and so i need wss connection to rtsp proxy...but i cant find property in rtsp proxy config to configurate WSS connection.. anyone can help me? How i can do it?
Thank you in advance for your response!
Hi there,
I was looking to trying your websocket proxy solution however when I tried to access the rpm at:
http://repo.tom.ru/rpm/websock_rtsp_repo-1-0.noarch.rpm
I received a "ERR_NAME_NOT_RESOLVED" error on the repo.tom.ru domain. The deb package is also unavailable for the same reason it seems.
Hope this issue doesn't persist long, I'd really like to try out the server.
Thanks!
My OS is CentOS7.1 x86-64, I have downloaded the streamedian_proxy.deb from the following link (https://streamedian.com/cabinet/#)
When I try dpkg –I streamedian_proxy.dep, a lot of package is missing: ibboost-filesystem1.58.0、 libboost-system1.58.0,libboost-program-options1.58.0
,libc6,libgcc1,libstdc++6, system.
Is there any way that we can install websock_rtsp_proxy on CentOS7.1 ??
We have noticed that “Note that this package depends on systemd and gcc5+ runtime so it can be installed only on recent distribution versions.”, would you please tell me which version of systemd do I need?
I follow your step to setup test environment,and test.boundle.js file.
I create html5 file and use the following url for test.
rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov
It works, player can play the video, but the player always mute, I can't hear any sound,any suggestion?
I can't play my RTSP stream at all, it always fails. Here is the output from Firefox 51.0.1 (Windows 10 x64):
Specified "type" attribute of "application/x-rtsp" is not supported. Load of media resource rtsp://localhost:8011/live/peter failed. index.html
All candidate resources failed to load. Media load paused. index.html
Client paused mybundle.js:36:30
Client started mybundle.js:36:30
unreachable code after return statement[Learn More] mybundle.js:1475:8
[mse] Media source opened: open mybundle.js:36:30
[parser:sdp] v=0
o=- 39433591 39433591 IN IP4 127.0.0.1
s=
c=IN IP4 127.0.0.1
t=0 0
a=sdplang:en
a=range:npt=0.0-
a=control:*
m=audio 0 RTP/AVP 96
a=rtpmap:96 mpeg4-generic/48000/2
a=fmtp:96 profile-level-id=1;mode=AAC-hbr;sizeLength=13;indexLength=3;indexDeltaLength=3;config=1190
a=control:trackID=1
m=video 0 RTP/AVP 97
a=rtpmap:97 H264/90000
a=fmtp:97 packetization-mode=1;profile-level-id=42C02A;sprop-parameter-sets=Z0LAKtoB4AiflhAAAAMAEAAAB4jxgyo=,aM48gA==
a=cliprect:0,0,1080,1920
a=framesize:97 1920-1080
a=framerate:60.0
a=control:trackID=2
mybundle.js:36:30
[parser:sdp] Ignored unknown SDP directive: c=IN IP4 127.0.0.1 mybundle.js:36:30
[rtsp:stream] Can't determine track URL from block.control:trackID=1, session.control:*, and content-base:/live/peter/ mybundle.js:36:30
[rtsp:stream] Can't determine track URL from block.control:trackID=2, session.control:*, and content-base:/live/peter/ mybundle.js:36:30
[remuxer] Array [ Object, Object ] mybundle.js:36:30
timescale: 16777216; unitsInTick: 48; fixedFramerate: false; avgFrameDuration: 174762.66666666666 mybundle.js:2128:17
Cannot play media. No decoders for requested formats: application/x-rtsp, application/x-rtsp index.html
[rtsp:stream] Can't determine track URL from block.control:trackID=1, session.control:*, and content-base:/live/peter/ mybundle.js:36:30
[rtsp:stream] Can't determine track URL from block.control:trackID=2, session.control:*, and content-base:/live/peter/ mybundle.js:36:30
[client:rtsp] Not Found mybundle.js:36:30
Here's the output from Chrome 56.0.2924.87 (Windows 10 x64):
mybundle.js:36 Client paused
mybundle.js:36 Client started
index.html:1 Error in event handler for (unknown): TypeError: Cannot read property 'state' of null
at CSRecorder.onQueryStateCompleted (chrome-extension://cplklnmnlbnpmjogncfgfijoopmnlemp/content_scripts/recorder.js:106:17)
mybundle.js:36 [mse] Media source opened: open
mybundle.js:36 [parser:sdp] v=0
o=- 81932338 81932338 IN IP4 127.0.0.1
s=
c=IN IP4 127.0.0.1
t=0 0
a=sdplang:en
a=range:npt=0.0-
a=control:*
m=audio 0 RTP/AVP 96
a=rtpmap:96 mpeg4-generic/48000/2
a=fmtp:96 profile-level-id=1;mode=AAC-hbr;sizeLength=13;indexLength=3;indexDeltaLength=3;config=1190
a=control:trackID=1
m=video 0 RTP/AVP 97
a=rtpmap:97 H264/90000
a=fmtp:97 packetization-mode=1;profile-level-id=42C02A;sprop-parameter-sets=Z0LAKtoB4AiflhAAAAMAEAAAB4jxgyo=,aM48gA==
a=cliprect:0,0,1080,1920
a=framesize:97 1920-1080
a=framerate:60.0
a=control:trackID=2
mybundle.js:36 [parser:sdp] Ignored unknown SDP directive: c=IN IP4 127.0.0.1
mybundle.js:36 [rtsp:stream] Can't determine track URL from block.control:trackID=1, session.control:*, and content-base:/live/peter/
_log @ mybundle.js:36
error @ mybundle.js:45
getSetupURL @ mybundle.js:2964
sendSetup @ mybundle.js:3013
start @ mybundle.js:2946
sendSetup @ mybundle.js:3676
mybundle.js:36 [rtsp:stream] Can't determine track URL from block.control:trackID=2, session.control:*, and content-base:/live/peter/
_log @ mybundle.js:36
error @ mybundle.js:45
getSetupURL @ mybundle.js:2964
sendSetup @ mybundle.js:3013
start @ mybundle.js:2946
sendSetup @ mybundle.js:3676
mybundle.js:36 [remuxer] [Object, Object]
mybundle.js:2128 timescale: 16777216; unitsInTick: 48; fixedFramerate: false; avgFrameDuration: 174762.66666666666
8mybundle.js:1746 broken chunk (continuation of lost frame)
mybundle.js:36 [rtsp:stream] Can't determine track URL from block.control:trackID=1, session.control:*, and content-base:/live/peter/
_log @ mybundle.js:36
error @ mybundle.js:45
getSetupURL @ mybundle.js:2964
sendKeepalive @ mybundle.js:2982
keepaliveInterval.setInterval @ mybundle.js:2993
mybundle.js:36 [rtsp:stream] Can't determine track URL from block.control:trackID=2, session.control:*, and content-base:/live/peter/
_log @ mybundle.js:36
error @ mybundle.js:45
getSetupURL @ mybundle.js:2964
sendKeepalive @ mybundle.js:2982
keepaliveInterval.setInterval @ mybundle.js:2993
mybundle.js:36 [client:rtsp] Not Found
Here's the proxy output from the server side on the Chrome load:
[2017-03-03 11:13:32] [connect] WebSocket Connection [::ffff:127.0.0.1]:39968 v13 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36" /ws/ 101
xxxxxxxx-1 840553593: control connected
initializing rtsp connection
loading /var/www/html/wstest/libwsp_rtsp.so
loading libwsp_rtsp.so
create plugin
xxxxxxxx-1 840553593: connecting to localhost:8011
[2017-03-03 11:13:32] [connect] WebSocket Connection [::ffff:127.0.0.1]:39972 v13 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36" /ws/ 101
xxxxxxxx-1 840553593: data connected
Stream resolution: 1920x1080
read headers: End of file
Here's an ffprobe of the stream (the link also plays fine in VLC):
{
Input #0, rtsp, from 'rtsp://localhost:8011/live/peter':
Metadata:
title :
Duration: N/A, start: -0.021667, bitrate: N/A
Stream #0:0: Audio: aac (LC), 48000 Hz, stereo, fltp
Stream #0:1: Video: h264 (Constrained Baseline), yuv420p(progressive), 1920x1080, 60 fps, 60 tbr, 90k tbn, 120 tbc
}
Even the Bunny test stream from Wowza doesn't play for me ( rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov ).
Output in Chrome:
mybundle.js:36Client paused
mybundle.js:36Client started
mybundle.js:36 [mse] Media source opened: open
mybundle.js:36 [parser:sdp] v=0
o=- 1638481345 1638481345 IN IP4 54.204.234.134
s=BigBuckBunny_115k.mov
c=IN IP4 54.204.234.134
t=0 0
a=sdplang:en
a=range:npt=0- 596.48
a=control:*
m=audio 0 RTP/AVP 96
a=rtpmap:96 mpeg4-generic/12000/2
a=fmtp:96 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1490
a=control:trackID=1
m=video 0 RTP/AVP 97
a=rtpmap:97 H264/90000
a=fmtp:97 packetization-mode=1;profile-level-id=42C01E;sprop-parameter-sets=Z0LAHtkDxWhAAAADAEAAAAwDxYuS,aMuMsg==
a=cliprect:0,0,160,240
a=framesize:97 240-160
a=framerate:24.0
a=control:trackID=2
mybundle.js:36 [parser:sdp] Ignored unknown SDP directive: c=IN IP4 54.204.234.134
mybundle.js:36 [remuxer] [Object, Object]0: Object1: Objectlength: 2__proto__: Array[0]
mybundle.js:2128 timescale: 16777216; unitsInTick: 12; fixedFramerate: false; avgFrameDuration: 699050.6666666666
2mybundle.js:36 [remuxer:base] Initial pts=0 dts=0
mybundle.js:36 [mse] Use codec: video/mp4; codecs="avc1.42c01e"
mybundle.js:36 [mse] Use codec: audio/mp4; codecs="mp4a.40.2"
It just hangs there and never plays. Output from proxy:
[2017-03-03 11:21:13] [connect] WebSocket Connection [::ffff:127.0.0.1]:40026 v13 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36" /ws/ 101
xxxxxxxx-1 214320222: control connected
initializing rtsp connection
loading /var/www/html/wstest/libwsp_rtsp.so
loading libwsp_rtsp.so
create plugin
xxxxxxxx-1 214320222: connecting to 184.72.239.149:554
[2017-03-03 11:21:13] [connect] WebSocket Connection [::ffff:127.0.0.1]:40030 v13 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36" /ws/ 101
xxxxxxxx-1 214320222: data connected
Stream resolution: 240x160
And finally an ffprobe of the Wowza stream:
{
Input #0, rtsp, from 'rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov':
Metadata:
title : BigBuckBunny_115k.mov
Duration: 00:09:56.48, start: 0.000000, bitrate: N/A
Stream #0:0: Audio: aac (LC), 12000 Hz, stereo, fltp
Stream #0:1: Video: h264 (Constrained Baseline), yuv420p(progressive), 240x160, 24 fps, 24 tbr, 90k tbn, 48 tbc
}
Hello community,
I am using the Arecon VIsion ipcam with rtsp url 'rtsp://192.168.1.210/h264.sdp?res=full&x0=0&y0=0&x1=800&y1=600&qp=20&ratelimit=10000&doublescan=0&ssn=31817'.
The socket used is 'wss://127.0.0.1:8080/ws/'
The video cannot be displayed on the browser no matter Google Chrome or Firefox.
The error shown are
" GET rtsp://192.168.1.210/h264.sdp net::ERR_UNKNOWN_URL_SCHEME
websocket.js:240 WebSocket connection to 'wss://127.0.0.1:8080/ws/' failed: Error in connection establishment: net::ERR_CONNECTION_CLOSED
Promise @ websocket.js:240
connect @ websocket.js:239
disconnect.then @ websocket.js:56
logger.js:36 [transport:ws] [ctrl] error
_log @ logger.js:36
error @ logger.js:45
ctrlChannel.onerror @ websocket.js:294
logger.js:36 [transport:ws] [ctrl] close. code: 1006 unknown reason "
Hi, we use your latest version 0.3.8 and try to integrate it to our software, version 0.3.4 and before worked good (I opened some bugs) but on you last version we get the event the player is PLAYING but the video media element is always white.
I monitored the WebSocket and there is still data sending, here is my log
Client paused
console.js:26 Client started
console.js:26 [client:rtsp] OPTIONS * RTSP/1.0
CSeq: 1
User-Agent: SFRtsp 0.3
console.js:26 [transport:ws] OPTIONS * RTSP/1.0
CSeq: 1
User-Agent: SFRtsp 0.3
console.js:26 [mse] Media source opened: closed
console.js:26 [mse] player 0: play
console.js:26 [mse] Media source ended: closed
console.js:26 [mse] Media source closed: closed
console.js:26 LaRTSPlayerComponent; play Event {isTrusted: true, type: "play", target: video#rtsp-player-hwq6s8ouf08, currentTarget: video#rtsp-player-hwq6s8ouf08, eventPhase: 2, …}
console.js:26 [transport:ws] [data]
RTSP/1.0 200 OK
CSeq: 1
Public: DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE
console.js:26 [client:rtsp] RTSP/1.0 200 OK
CSeq: 1
Public: DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE
console.js:26 [client:rtsp] DESCRIBE / RTSP/1.0
Accept: application/sdp
CSeq: 2
User-Agent: SFRtsp 0.3
console.js:26 [transport:ws] DESCRIBE / RTSP/1.0
Accept: application/sdp
CSeq: 2
User-Agent: SFRtsp 0.3
console.js:26 [transport:ws] [data]
RTSP/1.0 200 OK
CSeq: 2
Content-Base: //
Content-Type: application/sdp
Content-Length: 378
v=0
o=- 154674292 154674292 IN IP6 ::
s=11
c=IN IP6 ::
t=0 0
a=control:*
m=video 0 RTP/AVP 96
a=control:trackID=1
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=4D001E;sprop-parameter-sets=Z00AHpWoKAtk,aO48gA==
a=framesize:96 640-352
m=audio 0 RTP/AVP 8
a=control:trackID=2
a=rtpmap:8 PCMA/8000/1
a=ptime:20
a=fmtp:8 packetization-mode=1
console.js:26 [client:rtsp] RTSP/1.0 200 OK
CSeq: 2
Content-Base: //
Content-Type: application/sdp
Content-Length: 378
v=0
o=- 154674292 154674292 IN IP6 ::
s=11
c=IN IP6 ::
t=0 0
a=control:*
m=video 0 RTP/AVP 96
a=control:trackID=1
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=4D001E;sprop-parameter-sets=Z00AHpWoKAtk,aO48gA==
a=framesize:96 640-352
m=audio 0 RTP/AVP 8
a=control:trackID=2
a=rtpmap:8 PCMA/8000/1
a=ptime:20
a=fmtp:8 packetization-mode=1
console.js:26 [parser:sdp] v=0
o=- 154674292 154674292 IN IP6 ::
s=11
c=IN IP6 ::
t=0 0
a=control:*
m=video 0 RTP/AVP 96
a=control:trackID=1
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=4D001E;sprop-parameter-sets=Z00AHpWoKAtk,aO48gA==
a=framesize:96 640-352
m=audio 0 RTP/AVP 8
a=control:trackID=2
a=rtpmap:8 PCMA/8000/1
a=ptime:20
a=fmtp:8 packetization-mode=1
console.js:26 [parser:sdp] Ignored unknown SDP directive: c=IN IP6 ::
console.js:26 [client:rtsp] SDP contained 2 track(s). Calling SETUP for each.
console.js:26 [client:rtsp] setup track: video
console.js:26 TRACK {name: "H264", clock: "90000"}
console.js:26 [client:rtsp] setup track: audio
console.js:26 TRACK {name: "PCMA", clock: "8000", encparams: "1"}
console.js:26 [client:rtsp] SETUP trackID=1 RTSP/1.0
Transport: RTP/AVP/TCP;unicast;interleaved=0-1
Date: Wed, 13 Sep 2017 08:15:35 GMT
CSeq: 3
User-Agent: SFRtsp 0.3
console.js:26 [transport:ws] SETUP trackID=1 RTSP/1.0
Transport: RTP/AVP/TCP;unicast;interleaved=0-1
Date: Wed, 13 Sep 2017 08:15:35 GMT
CSeq: 3
User-Agent: SFRtsp 0.3
console.js:26 [mse] Media source opened: open
console.js:26 [transport:ws] [data]
RTSP/1.0 200 OK
CSeq: 3
Session: VUTIOKOAjMS
Transport: RTP/AVP/TCP;unicast;interleaved=0-1
console.js:26 [client:rtsp] RTSP/1.0 200 OK
CSeq: 3
Session: VUTIOKOAjMS
Transport: RTP/AVP/TCP;unicast;interleaved=0-1
console.js:26 [client:rtsp] PLAY // RTSP/1.0
Session: VUTIOKOAjMS
CSeq: 4
User-Agent: SFRtsp 0.3
console.js:26 [transport:ws] PLAY // RTSP/1.0
Session: VUTIOKOAjMS
CSeq: 4
User-Agent: SFRtsp 0.3
console.js:26 [transport:ws] [data]
RTSP/1.0 200 OK
CSeq: 4
Session: VUTIOKOAjMS
console.js:26 [client:rtsp] RTSP/1.0 200 OK
CSeq: 4
Session: VUTIOKOAjMS
console.js:26 [remuxer] [{…}]0: {track: {…}, offset: 0, type: 1, params: {…}, duration: 1}duration: 1offset: 0params: {sps: ArrayBuffer, pps: ArrayBuffer, duration: 1}track: {rtpmap: {…}, type: "video", port: "0", proto: "RTP/AVP", fmt: Array(1), …}type: 1__proto__: Objectlength: 1__proto__: Array(0)
6207console.js:26 [transport:ws] [data]
[object ArrayBuffer]
Hi
I'm trying to follow the steps of https://github.com/Streamedian/html5_rtsp_player/wiki/HTML5-RTSP-Player (It must be updated)
After a long work, I'm really close to have my rtsp player, but I received the next console error:
Uncaught ReferenceError: rtsp is not defined
at example.js:5
let mediaElement = rtsp.attach(document.getElementById('test_video'));
Could you help me to solve this issue?
Regards
Edit: By the way, I just want to use the player functionality, I don't want the websocket in the serverside.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.