尽管所有的炒作,实际上HTML5视频标签有一些问题.为了使用它并使其与浏览器兼容,您必须包含多种格式的视频.要定位所有支持的浏览器,这些格式为mp4和ogg.
我正在寻找每种格式的最佳设置,但不幸的是我找不到任何格式.我正在使用ffmpeg 0.6,其标语为"Works with HTML5".我不是视频专家,所以我想知道是否有人可以为每种格式推荐合适的设置?
我想为我正在编写的程序添加视频转换功能.FFmpeg用于执行此操作的命令行界面很简单ffmpeg -i InputFile OutputFile,但是有没有办法将其用作库,所以我可以做类似的事情ffmpeg_convert(InputFile, OutputFile)?
我希望我不必直接使用libavcodec,因为我认为它将比单行函数更复杂,以便在格式之间进行转换.如果FFmpeg无法轻易改装来执行此操作,是否可能有另一个基于它的库?我听说过libvlc,但这似乎只暴露了一个视频播放 API,而不是视频转换.
谢谢.
从videojs.com的文档中,我的印象是我需要包含ogv和webm文件格式(除了mp4).
然后我读了http://www.htmlgoodies.com/html5/client/how-to-embed-video-using-html5.html#fbid=erNepglDbZl,看起来我只需要mp4和(ogv或webm).
什么是正确的?我需要这三个吗?
我被问到我需要哪种格式的音乐用于我的项目,看看文档,似乎Android平台提供了一个很好的选择.
音频当然不是我的强项,所以我想知道是否有最适合Android播放的特定格式?想到的主要因素是解压缩和回放的大小和CPU开销.(音乐将在游戏的背景中播放,但它不是特别CPU密集型游戏).
任何建议都会非常受欢迎.
我正试图从浏览器捕获用户的音频输入.我用WAV完成了它,但文件非常大.我的一个朋友告诉我,OGG文件要小得多.有谁知道如何将WAV转换为OGG?我也有原始数据缓冲区,我真的不需要转换.但我只需要OGG编码器.
这是Matt Diamond的RecorderJS的WAV编码器:
function encodeWAV(samples){
var buffer = new ArrayBuffer(44 + samples.length * 2);
var view = new DataView(buffer);
/* RIFF identifier */
writeString(view, 0, 'RIFF');
/* file length */
view.setUint32(4, 32 + samples.length * 2, true);
/* RIFF type */
writeString(view, 8, 'WAVE');
/* format chunk identifier */
writeString(view, 12, 'fmt ');
/* format chunk length */
view.setUint32(16, 16, true);
/* sample format (raw) */
view.setUint16(20, 1, true);
/* channel count */
view.setUint16(22, 2, true); …Run Code Online (Sandbox Code Playgroud) 我在Chrome,Safari或Opera中播放此视频时没有任何问题.当我尝试在Firefox中播放时,我得到一个没有视频的灰色框.这是我的代码:
<video width="640" height="360" autobuffer controls preload="auto" >
<source src="fracWelDay3.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
<source src="fracWelDay3.webm" type='video/webm; codecs="vp8, vorbis"'>
<source src="fracWelDay3.ogv" type='video/ogg; codecs="theora, vorbis"'>
Your browser does not support the video tag.
</video>
Run Code Online (Sandbox Code Playgroud)
我还创建了一个.htaccess文件(见下文)并将其放在与我的视频文件相同的文件夹中:
AddType audio/ogg oga ogg AddType video/ogg ogv AddType video/mp4 .mp4 AddType video/webm .webm
我文件的链接是:
http://www.synergese.co.uk/testMathsOnline/day3/videos/day3FracWelVideo.html
我会非常感谢任何帮助.
非常感谢Philippa
有人在iOS上播放过ogg流吗?如果不编写自己的解码器,我可以使用什么?
我正在使用Apple的AVPlayer播放流.
这个问题已被问到这个问题的一部分: iOS在线广播流媒体问题,但尚未得到解答.
我想将实时编码数据包装到webm或ogv并将其发送到html5浏览器.
webm或ogv可以这样做,Mp4由于它的MDAT原子不能这样做.(一个人不能实时包装h264和mp3并将其包装并发送给客户端)说我从我的摄像头输入输入和内置麦克风的音频.碎片化的mp4可以解决这个问题,但是找到libs来做这件事很麻烦).
我需要这样做,因为我不想分开发送音频和视频.
如果我确实发送它分开,通过音频标签和视频通过视频发送音频>(音频和视频被解复用并发送)我可以使用javascript在客户端浏览器上同步它们.我看到了一些例子,但还不确定.
编辑:纳入改变的uv001的答案.
我只能发现ICS 4.0支持FLAC解码,但编码.我需要一些编码器将wav转换为flac,但是当前我找不到它.我发现有一个jFlac avaible,但我不知道如何使用这个库,只是简单地转换文件.
有人能帮我一把吗?
今天,我只是自己一些想法,使用JavaFlacEncoder.它适用于WAV的某些比特率.
我将值更改为现在正在运行的硬编码值.
/*
* Copyright (C) 2010 Preston Lacey http://javaflacencoder.sourceforge.net/
* All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will …Run Code Online (Sandbox Code Playgroud) 我们刚刚开始使用html5视频,似乎无法.ogg在Firefox中播放文件,任何提示?以下是我们使用的来源:
<video width="640" height="360" poster="http://video.thewebreel.com/episode_001/episode_001.jpg" controls autoplay autobuffer>
<source src="http://video.thewebreel.com/episode_001/episode_001.ogg" type="video/ogg" type='video/ogg; codecs="theora, vorbis"'/>
<source src="http://video.thewebreel.com/episode_001/episode_001.mp4" type="video/mp4" />
</video>
Run Code Online (Sandbox Code Playgroud)
这里可以看到实例:
http://thewebreel.com/2010/05/02/episode-1.html
Run Code Online (Sandbox Code Playgroud)
然而,我们完全不知所措,一切似乎都是正确的.