Giter Club home page Giter Club logo

html5_rtsp_player's People

Contributors

joastonish avatar kreopt avatar makddevelop avatar mburger81 avatar streamsupp avatar temaivanoff avatar tsingyee avatar victorgrenke avatar zw1d avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

html5_rtsp_player's Issues

RTSP Not Working

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

  1. How to setup player in JS ?
  2. Where do I place webpack.config.js and how to configure it ?
  3. How do I run RTSP URL fetched from our streaming server ? is it possible to directly run sample RTSP like this rtsp://media.smart-streaming.com/mytest/mp4:sample.mp4 ?

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 !

Source for ws-rtsp-proxy or blob compiled for different architectures (ARM)

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

How can I run the example

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?

H264 Main Profile support

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:

  1. Is your player supposed to support H.264 main profile content?
  2. Do you have any plans to improve the compatibility/performance for such streams?
  3. Are the any additional information I could provide that would help you investigate what's wrong with remuxing of such a video?
  4. Do you think that STAP-A traffic that's ignored at the moment might be significant in this case and should be processed and pushed to samples queue?

Thanks for this interesting project, I hope you'll keep working on it!

RTSP in Node.js server in windows 10

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?

websock_rtsp_proxy crash while close connection if multiple client access same rtsp link.

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)

ERROR in The node API for `babel` has been moved to `babel-core`.

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?

close.code:3000 & close.code 1006

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 ?

MediaSource readyState === closed

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.

image

In this case we get an error on video tag error listner:
MediaError code:4 message: MEDIA_ELEMENT_ERROR: Unable to attach MediaSource

image

If we reload the page with F5 anything is fine, the MediaSource readyState is open and the player plays the stream

How to run demo? Cannot resolve module 'babel'

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.

How can I play rtsp stream with brower?

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,
image

Does proxy work correctly ?

Lag of at least 5 seconds and sometimes it crash/freeze.

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

image

Cannot run your demo

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!

bp_log cannot be installed.

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 ?

Problems downloading sources

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我都没跑成功,是不是先要配置什么

How to use the example?

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...

install ws-rtsp-proxy problem

I install  ws-rtsp-proxy with "apt install ws-rtsp-proxy",  but nothing installed like this picture

uks t91t4ze 5te3y 0i

I guess ws-rtsp-repo-1.2.deb is Incomplete package,Can you  send a complete package to [email protected], thanks.

Problem attaching service to meteor.js

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

Link broken for ws-rtsp-repo-1.2.deb / getting 404 not found

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.

Unable to stop stream by clientside, Loop 'remux' error

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!

The Server crashed,

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.

user:pass authentication

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.

Video/Audio is not available

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

  1. It seems the support for some formats is currently unavailable. Please correct me if I am wrong.
    If the problem is supporting the formats, any rough timeline of when the support for these formats would be available?
  2. Also, the server doesn't get installed in Ubuntu14.04. Can you suggest any workaround for this without having to upgrade the OS to 16.04?

Many Thanks,
Praneeth

How to deploy

Hi, Could you mind give me a demo about the process of deploy and run.

RTSP type h264 can't play

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

WSS connection to rtsp proxy?

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!

Websocket proxy repo down

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!

how to install websock_rtsp_proxy on CentOS7.1?

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?

Player always mute, no sound

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?

Can't determine track URL

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
}

ipcam streaming

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 "
screenshot from 2017-03-23 02-53-15

No Video shown on last version 0.3.8

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]

RTSP is not defined

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.