HTML5支持的视频格式在HTML5中嵌入的视频格式主要包括ogg、mpeg4、wehm等。
具体介绍如下:
ogg:一种开源的视频封装容器,其视频文件扩展名为ogg,里面可以封装vobris音频编码或者theora视频编码,同时ogg文件也能将音频编码和视频编码进行混合封装。
mpeg4:目前最流行的视频格式,其视频文件扩展名为mp4。
同等条件下,mpeg4格式的视频质量较好,但它的专利被MPEG-LA公司控制,任何支持播放mpeg4视频的设备,都必须有一张MPEG-LA颁发的许可证。
扩展资料:
1、视频格式是视频播放软件为了能够播放视频文件而赋予视频文件的一种识别符号。
2、3GP是一种3G流媒体的视频编码格式,主要是为了配合3G网络的高传输速度而开发的,也是目前手机中最为常见的一种视频格式。
3、MPEG(运动图像专家组)是Motion Picture Experts Group 的缩写,这类格式包括了MPEG-1,MPEG-2和MPEG-4在内的多种视频格式。
4、AVI,音频视频交错(Audio Video Interleaved)的英文缩写,AVI这个由微软公司发布的视频格式,在视频领域可以说是最悠久的格式之一。
5、一种独立于编码方式的在Internet上实时传播多媒体的技术标准,Microsoft公司希望用其取代QuickTime之类的技术标准以及WAV、AVI之类的文件扩展名。
功能模块概述通过obs客户端推流到nginx流媒体服务器上,对流媒体用ffmpeg将流剪切为若干段ts流文件并保存到临时目录中,通过访问m3u8格式拼接ts流文件段来观看直播。
推流端
采用开源工具OBS客户端进行推流
根据项目的推流地址,填入OBS客户端(下载地址)中,并设置场景,保存后重启,便可开始推流。
为更加稳定的推流,建议使用以上链接中的v0.625稳定版本,按提示安装完成后,打开设定.在广播设定中,伺服器统一填写我们项目的流媒体接收流地址:
rtmp://127.0.0.1:1935/hls/
以上这几个数据都是可以更改的。
127.0.0.1——你的流媒体服务器ip
1935——你的rtmp端口号
hls——你的直播nginx配置模块
具体在下文中也有详细介绍
配置地址
回到主界面,右键来源,选择添加视频捕捉设备或获取窗口等(相关设置默认即可),点击开始串流,便可开始直播。
添加场景
图为添加视频捕捉设备后的直播画面:
直播中
流媒体服务器
Nginx接收推流模块
rtmp_auto_push on
rtmp {
server {
listen 1935
application hls {
live on
hls on
hls_path /tmp/hls
on_publish 项目地址/liveOnPublish
on_publish_done 项目地址/liveOnDone
notify_method get
}
}
}
配上我在word上的注解
注解1
Nginx处理直播流模块
http {
server {
listen 80
server_name localhost
location /hls {
secure_link $arg_st,$arg_e
secure_link_md5 key$arg_e
subs_filter .ts '.ts?st=$arg_st&e=$arg_e&clentip=$remote_addr'
subs_filter_types application/vnd.apple.mpegurl
if ($secure_link = "") {
return 402
}
if ($secure_link = "0") {
return 403
}
# Serve HLS fragments
types {
application/vnd.apple.mpegurl m3u8
video/mp2t ts
}
root /tmp
add_header Cache-Control no-cache
}
}
}
注解2
项目部署服务器
流媒体服务器不通过项目服务器,整个直播过程的推流和处理流都在流媒体服务器上进行。项目服务器主要进行直播地址加密处理意见推流开始和结束触发的方法(liveOnPublish(),liveOnDone())已及对直播地址加密.
播放端
直接通过HTML5中的<video>标签设置src来播放直播流。如:
<video src="pro/live.m3u8?st=UM/L8jdfTlY2b1j1F6XSxA==&e=1468548530
" controls="controls"></video>
存在的问题
延迟待测试(不科学的数据是安卓手机普遍在30-40s,苹果手机在20-30s)
并发待测试
掉帧待测试(网速影响大,网络好几乎不掉帧,网络差掉一半,用户体验差)
HTML5 的应用仍存在巨大的上升空间,近期内很可能从广告行业逐渐往游戏行业、广播电视行业和媒体行业转型,不远的未来还能把触角伸得更远。作为新一代Web 开发标准,HTML5这把火势必烧到来年。可以选择上课学习HTML5,来提升自己的技术知识。