I am trying to prepare a webcam streaming page. I created a vlc streaming and here is what I wrote in the command line to run my webcam.
cvlc -vvv v4l2:///dev/video0 --sout '#transcode{vcodec=mp2v,vb=800,acodec=none}:rtp{dst=239.0.0.1,port=5004,mux=ts}'
After typing this code i can see my webcam by typing
rtp://239.0.0.1:5004/
to the browser. Its okay up to here.
I prepared a php streaming file and it opens static video files with
fopen('localhost/sample.mp4','rb')
command and it works properly. But when I pass "rtp://239.0.0.1:5004"/ in
fopen( 'rtp://239.0.0.1:5004/', "rb" )
command, I get en error 502 gateway that probably means it has not opened rtp file.
What should I do ? Thanks
PHP can only open resources using some protocols:
Protocol | Description |
---|---|
file:// | Accessing local filesystem |
http:// | Accessing HTTP(s) URLs |
ftp:// | Accessing FTP(s) URLs |
php:// | Accessing various I/O streams |
zlib:// | Compression Streams |
data:// | Data (RFC 2397) |
glob:// | Find pathnames matching pattern |
phar:// | PHP Archive |
ssh2:// | Secure Shell 2 |
rar:// | RAR |
ogg:// | Audio streams |
expect:// | Process Interaction Streams |
As you see rtp is not one of these. You need to find/write rtp wrapper to read this resource.