iOS音视频开发音视频专辑

《FFmpeg Basics》中文版-24-网页视频

2018-04-18  本文已影响31人  张芳涛

写在前面

如果您对音视频技术感兴趣,可以订阅我的专题:音视频专辑
也可以关注我的简书账户: 张芳涛,我后期会发布更多的音视频以及图像处理方面的文章。

正文

由于其无所不在,互联网是用ffmpeg创建或编辑视频的最佳媒介。 除了上传到YouTube,Vimeo等流行的视频分享网站之外,了解如何将媒体文件包含到网页中也很有用。 为确保具有不同浏览器和媒体支持的用户可以收听并查看音频和视频,建议您为HTML5和Adobe Flash Player提供所有支持的格式的媒体文件。

主流的浏览器对HTML5的支持情况

使用HTML5在网络上添加媒体文件相对容易,并且有支持HTML5的设备,但不支持Flash Player,因此了解各种浏览器支持的媒体格式非常有用。 FFmpeg能够将您的音频和视频转换为任何指定的HTML5格式。 OGG容器格式的文件使用Theora视频编解码器和Vorbis音频编解码器,这些编解码器可以在商业项目中免费使用,WebM格式也提供相同的免费使用。 请注意,默认情况下,ffmpeg使用FLAC编解码器编码OGG音频,这些浏览器无法播放,必须包含-acodec libvorbis选项。


浏览器 MP3 OGG* WAV
Apple Safari 5+ yes no yes
Firefox 3.6+ no yes yes
Google Chrome 6+ yes yes yes
Internet Explorer 9+ yes no no
Opera 10.6+ yes yes yes
Maxthon 3+ yes yes yes
浏览器 MP4 OGG WEBM
Apple Safari 5+ yes no no
Firefox 3.6+ no yes yes
Google Chrome 6+ yes yes yes
Internet Explorer 9+ yes no no
Opera 10.6+ no yes yes
Maxthon 3+ yes yes yes
如果设置,则显示控件:播放,暂停,寻找,音量
对于Internet Explorer的HTML5支持可以从版本9获得,以前的版本6,7和8可以从中安装Google Chrome Frame插件

https://developers.google.com/chrome/chrome-frame
在线测试您的浏览器如何支持特定的位于网络上的HTML5功能
http://html5test.com

使用HTML5添加音频

为了在任何主流浏览器上播放我们的音频,最通用的格式是在除Firefox以外的所有浏览器上支持MP3,而对于Firefox我们提供OGG或WAV格式。 用于音频包含的HTML5中的新标签是表中描述的<audio>标签:
<audio>标签(所有的属性都是可选的)

属性 描述
autoplay autoplay 如果设置,音频开始准备就绪时播放
controls controls 如果设置,则显示控件:播放,暂停,寻找,音量
loop loop 如果设置,音频播放一遍又一遍
preload auto
metadata
none
auto - 整个音频文件被加载
metadata - 只加载元数据
none - 音频文件未与网页一起加载
不要将它与自动播放属性一起使用; 它最近在IE和Opera中不支持
src URL 音频文件的绝对或相对URL

因为我们希望为同一个音频指定至少两个不同格式的文件,所以<audio>标签的src属性不会被使用,并且在打开<audio>和关闭</ audio>标签之间会添加多个<source>标签。 浏览器将扫描包含的媒体文件,并选择它支持播放的第一个文件。

<source>标签(所有的属性都是可选的)

属性 描述
media media_query 现在没有浏览器支持它,描述了媒体资源的类型
src URL 音频文件的绝对或相对URL
type MIME_type 最近媒体资源的MIME类型:
audio:音频/ mpeg,音频/ ogg,音频/ wav
video:视频/ mp4,视频/ ogg,视频/ webm

下一个HTML代码包括带有显示控件和循环的音频文件,它被保存到文本文件中,并与其他HTML元素(如文档类型,头,标题,正文,div等)一起调用audio.htm。

<audio controls='controls' loop='loop'>
    <source src='music.mp3' type='audio/mpeg' />
    <source src='music.ogg' type='audio/ogg' />
Audio element is not supported in your browser, please update.
</audio>

要开始自动播放,我们可以添加属性autoplay ='autoplay'。
各种浏览器中的音频控制

浏览器 音频播放器
Firefox 4
Google Chrome 6
Internet Explorer 9
Maxthon 3
Opera 12

使用HTML5添加视频

HTML5中的视频标签是一个<video>标签,其属性自动播放,控制,循环和静音使用等于属性名称的值(例如loop ='loop'),但许多浏览器接受跳过此值, 生产使用我们可以使用<video autoplay controls loop>。
<video>标签

属性 描述
autoplay autoplay 如果已设置,视频在准备就绪时开始播放
controls controls 如果设置,则显示按钮控制:播放,暂停,寻找,音量,切换全屏,字幕等
height 像素 视频播放器的高度
loop loop 如果设置,视频会一遍又一遍播放
muted 静音 如果设置,音频流静音,最近在Apple Safari和Internet Explorer中不支持
poster URL 在视频下载期间显示的图像文件的URL(如果不存在)显示的是视频的第一帧
preload auto
metadata
none
auto -整个音频文件被加载
metadata -只加载元数据
none - 音频文件未与网页一起加载
不要将它与自动播放属性一起使用; 现在它不适用于IE
src URL 视频文件的绝对或相对URL

为了在所有主流浏览器上都能看到视频,我们必须提供至少2种不同的格式,最好的选择是MP4和WEBM。 因此,不会使用<video>标签的src属性,并在开始的<video>和关闭</ video>标签之间添加前面章节中描述的多个<source>标签。 浏览器将扫描包含的媒体文件,并选择它支持播放的第一个文件。

例如,要包含带有显示控件和循环的视频文件,我们可以使用HTML代码:

<video controls='controls' loop='loop' width='640' height='480'>
    <source src='videoclip.mp4' type='video/mp4' />
    <source src='videoclip.webm' type='video/webm' />
video element is not supported in your browser, please update.
</video>

为Flash Player添加视频

对于不支持HTML5的浏览器,我们可以在<video>标签中包含SWF格式的<object>标签(ffmpeg -f videoclip.mp4 videoclip.swf)。 <object>标签包含不支持<object>标签的浏览器的<param>标签和<embed>标签。

<object width='400' height='300'>
    <param name='src' value='videoclip.swf' />
    <param name='loop' value='true' />
    <embed src='videoclip.swf' width='400' height='300' loop='true' />
</object>

视频分享网站

YouTube成功推出视频共享服务之后,还有许多英文和其他语言的类似网站。 YouTube仍然是最受欢迎的,但其他一些服务器提供了更多功能。 几乎所有的视频共享网站都支持以下媒体格式:3gp,avi,asf,flv,mkv,mp4,mpegps,mov,ogg,wmv等。最流行的视频共享网站列表位于表格中。
最受欢迎的视频分享网站

名称 每月访问者 描述
(每月的访客数量仅来自美国,并在增长)
YouTube
youtube.com
800,000,000 - 最受欢迎的视频网站,总访问量排名第三的网站,每天的视频浏览量超过40亿次
- 1080p高清视频,最大 2 GB和15分钟
- 支持4k格式的3D视频和视频(4096x3072分辨率
- 可用于手机,iPod,PlayStation,Xbox等
- Flash Player和HTML5视频
- 视频编辑器,字幕等
- 用户评论,评分,视频回复等
- 不支持的图像和音频文件
DailyMotion
dailymotion.com
61,000,000 高清视频,最大文件大小2 GB和60分钟,音频90 kbps MP3或AAC,Flash Player或HTML5
用户可以从图像创建幻灯片,最多30幅图像,MP4输出
Vimeo
vimeo.com
17,000,000 高清视频(1920x1080),最高 文件大小5 GB,无限期
- Flash Player,HTML5
- 注册用户超过800万,每月独立访问者达到6500万
- 编码视频比特率最高(平均2000 kbps,最高5000
Metacafe
metacafe.com
9,200,000 - 短片娱乐视频(电影,游戏,音乐,体育,电视剪辑等)
- 最大。 文件大小100 MB,视频转换为320x240 FLV,VP6,比特率330 kbps,MP3音频
- 每天1700万次观看,全球每月4000万独立访客
Break
break.com
6,800,000 - 有趣的视频(流行文化,生活方式,交通,游戏等)
- 被推荐到主页的视频将获得奖励:首先是$ 400,第二个$ 500,第三个和接下来是$ 600
Veoh
veoh.com
6,100,000 - 视频可以按照系列和频道进行组织
- 在几个国家被封锁(被墙了。。。。)
RuTube
rutube.com
4,000,000 最大的文件大小300 MB,VGA分辨率,Flash Player; 主要用户在俄罗斯,交互界面还是不错的,每个月的独立访客30万,该网站也可以登录Facebook
Internet Archive
archive.org
1,600,000 - 用户可以上传视频,音频,文档,免费书籍等
- 永久存储
Multiply.com 695,000 用户档案,非常受欢迎
Qik.com 505,000 基于移动设备
Phanfare.com 323,000 照片和视频
Sevenload.com 192,000 在几个国家被封锁
OpenFilm.com 114,000 电影,音乐,社区
ScienceStage.com 100,000 以科学为导向的媒体门户,用户还可以上传mp3,vob和swf格式的文件

Web服务器上的视频处理

由于ffmpeg和视频共享网站的流行,一些虚拟主机公司提供对ffmpeg服务器上视频处理的支持,这需要比传统网站更大的CPU负载。 包含他们提供的参数的几个虚拟主机的预览在表中:
带有FFmpeg支持的虚拟主机服务

Name URL 描述
CirtexHosting
www.cirtexhosting.com
支持:FFmpeg,FFmpeg-PHP,Mplayer + Mencoder + Yamdi + Yasm,flv2tool + GD库,Xvidcore + Faac + Faad2,Libogg + Libvorbis + Libtheora,Libx264 + Libopencore-amrnb + Libopencore- amrwb,LAME MP3 Encoder
GlowHost
www.glowhost.com
可用模块:FFmpeg和FFmpeg-PHP,GD Library 2+,MPlayer和MEncoder,FAAD / FAAC,FLVTool2,Libogg和Libvorbis,LAME MP3编码器,x264 / H.264,MPEG-4 AVC
HostUpon
www.hostupon.com
所有模块启动视频网站,Youtube克隆或社交网络与视频上传。 FFmpeg托管脚本:Boonex Dolphin,PHPMotion,社交引擎,ABKsoft脚本,Joomla视频插件,Clipshare,ClipBucket,社交媒体,Rayzz,Vidi脚本等
PacificHost.com
www.pacifichost.com
可以选择创建和运行YouTube等在线视频分享网站。 他们使用软件来转换视频:ffmpeg-php,mplayer,mencoder,flvtool2,lame,libogg,libvorbis,xvid,theora,faac,phpshield加载器。 PacificHost的FFmpeg包含以下模块:libfaac,libfaad,libxvid,libamr-nb,libamr-wb,libgsm,libogg,libtheora和libvorbis
VPSDeploy
https://vpsdeploy.com/whm-cpanel-ssd-hosting.php
托管:FFmpeg支持,flvtool2,X.264插件,libogg,flac和LibTheora用于videostreaming

通过视频上传获利

一些视频分享网站提供了查看上传视频的付款方式:

上一篇下一篇

猜你喜欢

热点阅读