dongzhou1865
dongzhou1865
2015-09-07 11:05
浏览 111
已采纳

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

图片转代码服务由CSDN问答提供 功能建议

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

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

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

  rtp://239.0.0.1:5004 / 
   
 
 

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

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

  fopen('localhost / sample  .mp4','rb')
   
 
 

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

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

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

我应该怎么做 ? 谢谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • drc4925
    drc4925 2015-09-07 11:19
    已采纳

    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.

    点赞 评论

相关推荐