我的系统:我运行ubuntu natty,有一个旧的模拟电视卡,winTV-go +FM。VLC 1.1.9。,输入我想达到的目标:拿我的旧电视卡的输出,用VLC进行流传输,并将流嵌入到本地网站上,用html5显示,这样我就可以在我的iPad 1或2上观看流现状:我已经设法获得流与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流我也可以在chrome中输入一个url (http://192.168.1.10:9080/test.ogv),它在那里显示为视频,其他2个流它试图下载为文件。
到目前为止都很好,现在我来到我的html5代码(有一些麻烦粘贴在这里,所以我使用pastebin来显示代码):
html5 code
这在chrome中完美地工作,但因为它是ogv,它当然不会在ipad上工作,所以我需要使用h.264/mp4,因为这是支持/内置在safari中,但是当使用流命令1或3时,我没有在ipad或chrome上显示视频。当不使用流命令2 (ogv命令)我调整html5代码为以下之一(我已经尝试了所有3):
<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'>
这些都不起作用。
我还添加了mime类型到我的/etc/mime.types
/mp4视频 mp4视频/quicktime qt mov视频/mp4v-es视频/ogg ogv视频/webm webm视频/x-matroska MPV MKV应用程序/x-mpegURL m3u8视频/MP2T ts应用程序/x-mpegURL .m3u8
我如何指定html5代码,它是正确显示在我的ipad上?有人知道吗?顺便说一句,我也尝试过使用ffmpeg和分段的http苹果直播流,我得到的工作也一样,但由于电视是一个连续的数据流,它不能很好地与播放列表一起工作,所以我停了一会儿,你需要重新启动等,不是很方便,我想要上面的工作,将非常感谢的帮助,提前感谢:)
对于HTML5和h.264,你必须使用AAC作为音频编解码器,mp4作为mux,而你目前使用mp3作为音频,使用TS作为mux。也就是说,我还没有通过HTML5视频工作的VLC直播。
我的现场网络节目的iPad观众正在观看通过oPlayer免费应用程序在我的h.264/AAC/FLV流,我也用于Flash客户端,但我希望得到HTML5直播工作。