Php使用Fopen功能和直播(rtp)

Php使用Fopen功能和直播(rtp)

问题描述:

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

我正在尝试准备网络摄像头流媒体页面。 我创建了一个 vlc strong>流媒体,这是我在命令行中编写的用于运行我的网络摄像头的内容。 p>

  cvlc -vvv v4l2:/// dev  / video0 --sout'#transcode {vcodec = mp2v,vb = 800,acodec = none}:rtp {dst = 239.0.0.1,port = 5004,mux = ts}'
  code>  pre> \  n 
 

输入此代码后,我可以通过输入 p>

  rtp://239.0.0.1:5004 / 
  code>  pre来查看我的网络摄像头 > 
 
 

到浏览器。 它还可以到这里。 p>

我准备了一个php流媒体文件,它打开了静态视频文件 p>

  fopen('localhost / sample  .mp4','rb')
  code>  pre> 
 
 

命令,它可以正常工作。 但是当我传递“rtp://239.0.0.1:5004”/ in p>

  fopen('rtp://239.0.0.1:5004 /',“rb”)  
  code>  pre> 
 
 

命令,我得到错误502网关,这可能意味着它没有打开rtp文件。 p>

我应该怎么做 ? 谢谢 p> div>

PHP can only open resources using some protocols.

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 theese. you need to find/write rtp wrapper to reed this resource.