您的位置:首页 > 其它

视频转换和视频直播

2015-08-06 21:02 302 查看
视频的转换

直播视频

浏览器播放器

jwplayer的使用方法

SewisePlayer的使用方法

VLC的使用方法

flash对rtsp-tcp的支持研究

视频的转换

去年做了一个视频转换的项目,现在稍微做一个总结;

视频转换的过程:用户上传视频 —> 存入django —> 触发转换 —> 用ffmpeg来做(拆分视频、转换、合并) —> 返回合并后的视频地址;

为了转换成浏览器可播,转换成两种格式:hls和mp4;(为了兼容)

HLS-apple技术主要用于PC和APPLE终端音视频服务。html5直接支持;包括m3u8文件+TS媒体文件+key加密串;支持直播

mp4:pc|apple|android都支持,文件头大,结构复杂,长视频不合适;不支持直播;

FLV:flash支持,apple无法使用,智能机不支持;支持直播

这里用到两个播放器:jwplayer和SewisePlayer;

直播视频

流媒体是一种边传边播的媒体,采用流式传输技术,多媒体的一种:

定义: 播放而不下载整个文件,只将部分内容存入内存,流式媒体的数据流随时传送随时播放,开始略带延迟;

分类:实时流式传输和顺序流式传输;顺序:先下载才能播放,例如爱奇艺;实时:根据网络实时并持续的传送;

传输协议:rtmp(adobe实时消息协议,用于web中),rtsp(实时流传输协议,用于摄像头),hls(m3u8的切片文件);

前端web开发中,rtmp和hls都可用jwplayer和sewisePlayer播放器播放,rtsp可用vlc播放,vlc的安装(http://www.videolan.org/vlc/download-windows.zh.html)web plugin浏览器的插件,勾选网页插件即可在浏览器中使用;

浏览器播放器

jwplayer的使用方法

国外网站,是播放主流,社区丰富

jwplayer("mainPlayer").setup({
playlist:[{
image: "../dist/img/stars.jpg",
title: "SD Quality",
type: "flv",
startparam: "start",
file:"http://100.69.169.248/h5/sea-modules/jwplayer/jwplayer/6.0.0/aaaa.flv"
}],
width: 640,
height: 570
});


SewisePlayer的使用方法

国内网站,稳定度不高

SewisePlayer.setup({
server: "vod",
type: "flv",
autostart: "true",
videourl: "",
starttime:0,
title:"VodVideo",
buffer:0,
logo:"11",
claritybutton:"disable",
skin:"vodMobileTransparent",
topbardisplay:"disable"
}, "player");


VLC的使用方法

国内网站,稳定度不高

<OBJECT classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921" id="vlc"
codebase="http://download.videolan.org/pub/videolan/vlc/0.8.6c/win32/axvlc.cab"
width="600" height="480" id="vlc" events="True">
<EMBED src="rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp"
pluginspage="http://www.videolan.org"
type="application/x-vlc-plugin"
version="VideoLAN.VLCPlugin.2"
width="600"
height="480"
text="Waiting for video"
name="vlc"
></EMBED>
</OBJECT>

js:
function getVLC(name){
if (window.document[name]){
return window.document[name];
}
if (navigator.appName.indexOf("Microsoft Internet")==-1){
if (document.embeds && document.embeds[name]) {
return document.embeds[name];
}
}else{
return document.getElementById(name);
}
}

function doGo(){
var vlc = getVLC("vlc");
var mrl='rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp';
var options = new Array(":aspect-ratio=4:3", ":rtsp-tcp");
var itemId = vlc.playlist.add(mrl, null, options);
vlc.playlist.playItem(itemId);
}
注意:":rtsp-tcp",网上大都写为"--rtsp-tcp",前者才可播放;


flash对rtsp-tcp的支持研究

关注度不高,且尚未实验成功:

https://github.com/AxisCommunications/locomote-video-player

[^footnote].
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  多媒体 技术