在ubuntu linux上,使用vlc命令行和html5从模拟电视卡向iPad1或iPad2发送实时电视流

在ubuntu linux上,使用vlc命令行和html5从模拟电视卡向iPad1或iPad2发送实时电视流,linux,ipad,html,stream,vlc,Linux,Ipad,Html,Stream,Vlc,我的系统: 我运行ubuntu natty,有一个旧的模拟电视卡,winTV go+FM。和vlc 1.1.9.,apache2 我想要达到的目标: 拿我的旧电视卡的输出,用vlc进行流媒体传输,并将流嵌入本地网站,用html5显示,这样我就可以在我的iPad1或iPad2上观看流媒体 当前情况: 我已经设法让vlc在不同的容器和编解码器中工作(我不使用gui)来获得流媒体。我有3个工作流命令,包括: 1: vlc -vvv v4l2:///dev/video0:width=640:height

我的系统: 我运行ubuntu natty,有一个旧的模拟电视卡,winTV go+FM。和vlc 1.1.9.,apache2 我想要达到的目标: 拿我的旧电视卡的输出,用vlc进行流媒体传输,并将流嵌入本地网站,用html5显示,这样我就可以在我的iPad1或iPad2上观看流媒体 当前情况: 我已经设法让vlc在不同的容器和编解码器中工作(我不使用gui)来获得流媒体。我有3个工作流命令,包括:

1: vlc -vvv v4l2:///dev/video0:width=640:height=480 :input-slave=alsa://hw:1,1 --sout '#transcode{vcodec=mp4v,acodec=mp3,vb=8000,ab=128,channels=1,samplerate=44100}:standard{access=http,mux=ts,dst=192.168.1.10:9090}'

2: vlc -vvv v4l2:///dev/video0:width=640:height=480 :input-slave=alsa://hw:1,1 --sout '#transcode{vcodec=theo,acodec=mp3,vb=8000,ab=128,channels=1,samplerate=44100}:standard{access=http,mux=ogg,dst=192.168.1.10:9080/test.ogv}'

3: vlc -v v4l2:///dev/video0:width=640:height=480 :input-slave=alsa://hw:1,1 --sout '#transcode{vcodec=h264,vb=1024,acodec=mp3,channels=1,ab=128,samplerate=44100}:standard{access=http,mux=ts,dst=192.168.1.10:9080/test.mp4}'
我可以在不同的计算机上打开所有3个流,并在vlc中播放它们,注意:我也可以输入*.ogv流作为url(http://192.168.1.10:9080/test.ogv)在chrome浏览器中,它将其显示为视频,其他两条流则试图下载为文件

到目前为止还不错,现在我来看看我的html5代码(在粘贴到这里时遇到了一些问题,所以我使用pastebin来显示代码):

这在chrome中非常有效,但由于它是ogv,因此在ipad上当然不起作用,因此我需要使用safari支持/内置的h.264/mp4,但当使用stream命令1或3时,我在ipad或chrome上不会显示任何视频。 当不使用stream命令2(ogv命令)时,我将html5代码调整为以下之一(我已经尝试了所有3个):



对于HTML5和h.264,您必须使用AAC作为音频编解码器,使用mp4作为mux,当前使用mp3作为音频,使用TS作为mux。也就是说,我还没有通过HTML5视频进行VLC直播

我的网络直播节目的iPad观众正在通过我的h.264/AAC/FLV流上的oPlayer免费应用程序观看,我的Flash客户端也使用该应用程序,但我希望HTML5直播流能够正常工作

  <source src=http://192.168.1.10:9080/test.mp4 type=video/mp4; codecs="avc1.4D401E, mp3"'>  
 <source src=http://192.168.1.10:9080/test.mp4 type=video/mp4'>  
 <source src=http://192.168.1.10:9080/test.mp4'>