VLC:如何从mp4转换为webm

OZZ*_*ZIE 27 vlc codec video-codecs html5-video

如果可能的话,如何使用VLC将mp4转换为webm?我应该选择哪种编解码器?我需要重新编码声音吗?

我正在尝试将html5视频放在一个闪存作为后备的网站上.据我所知,它是Firefox允许的唯一格式(webm)(除非你在Windows 7 64bit上?).Theora似乎工作,但从我的理解它有点旧,也需要一段时间才能正确渲染图片并且不提供缩略图:(

<video controls width="500">  
    <!-- if Firefox -->  
    <source src="video/45-theora.ogg" type="video/ogg" />
    <!-- if Safari/Chrome-->  
    <source src="video/45.mp4" type="video/mp4" />
</video>
Run Code Online (Sandbox Code Playgroud)

哦,我在Mac OS Lion上,但如果它让某人更容易,我可以访问Windows 7,Vista和XP.

谢谢你的帮助!

Myk*_*ack 24

只是为了更新这个答案,我不建议再使用Miro Video Converter.它曾经是我为网络创建HTML5视频的首选武器,但该程序的当前版本3存在转换为ogg theora的问题:转换后视频的质量太低,无法创建更高质量的版本使用ffmpeg命令行实用程序.

Easyhtml5video非常好用,因为它会自动创建所有视频​​格式,并带有嵌入代码的闪回后备,但你需要支付69美元 - 免费版本为视频添加了水印.

在那一刻我正在使用VLC播放器进行视频转换.要在VLC中转换mp4文件,请执行以下操作:

转换为.webm

  1. 从菜单中选择媒体>转换/保存.
  2. 单击"添加"按钮,然后选择要转换的文件
  3. 点击"转换/保存"按钮
  4. 在'个人资料'下拉列表中选择'视频 - VP80 + Vorbis(Webm)'
  5. 单击下拉旁边的按钮("编辑所选配置文件" - 看起来像扳手+螺丝刀图标)
  6. 封装选项卡应设置为Webm.
  7. 点击"视频编解码器"标签.在编码参数中,编解码器应选择为"VP8".
  8. 在"音频编解码器"选项卡中,应保留"保留原始音轨".编解码器应设置为'Vorbis'
  9. 点击"保存"
  10. important:选择目标文件位置和名称.单击浏览器,转到要转换的文件名进入的文件夹,然后输入新文件名.如果你不这样做,VLC将不会创建你的转换文件(不管怎么说都不是2.1.5版本)
  11. 点击"开始"开始转换.

转换为.ogv:

  1. 从菜单中选择媒体>转换/保存.
  2. 单击"添加"按钮,然后选择要转换的文件
  3. 点击"转换/保存"按钮
  4. 在'个人资料'下拉列表中选择'视频 - Theora + Vorbis(OGG)'
  5. 点击下拉菜单旁边的按钮("编辑所选个人资料")
  6. Encapsulation选项卡应设置为Ogg/Ogm.
  7. 点击"视频编解码器"标签.在编码参数中,编解码器应该被选为'theora',如果你有文本,比特率应该是1000kb/s.较低的比特率可能适用于较小的视频.
  8. 在"音频编解码器"选项卡中,选择"保留原始音轨"
  9. 点击"保存"
  10. 选择目标文件位置和名称.
  11. 点击"开始"开始转换.

如果您需要调整视频大小或裁剪视频,我建议您首先使用Handbrake对.mp4文件执行此操作.尝试使用VLC创建.ogg/ogv或webm文件的大小调整版本并不能给我带来很好的体验.

将视频放在网页上时,我使用VideoJs - 这使您可以非常轻松地为旧浏览器创建带有闪回后备功能的html5视频.比easyhtml5video稍微多一些工作,但它可以免费使用.


jon*_*ell 18

我会将该代码更改为:

<video poster="/path/to/your/thumbnail/image.jpg" preload="meta" controls width="500"> 
    <!-- if Safari/Chrome-->  
    <source src="video/45.mp4" type="video/mp4" /> 
    <!-- if Firefox -->  
    <source src="video/45-theora.ogg" type="video/ogg" />
</video>
Run Code Online (Sandbox Code Playgroud)

原因:

poster="/path/to/your/thumbnail/image.jpg"
Run Code Online (Sandbox Code Playgroud)

因为您希望在用户播放视频之前显示"缩略图"

<source src="video/45.mp4" type="video/mp4" /> BEFORE <source src="video/45-theora.ogg" type="video/ogg" />
Run Code Online (Sandbox Code Playgroud)

mp4之前的开放格式(如webm或therora)因为某些iOS版本中存在一个错误,如果mp4在html中的任何其他格式之后列出,那么根本不会播放视频(首先列出它).

preload="meta"
Run Code Online (Sandbox Code Playgroud)

因为如果同一页面上有很多视频,某些版本的iOS甚至某些版本的Safari和Chrome都很难加载页面.preload = none或preload = meta有助于解决这些问题.

在编码方面,Miro Converter在编码方面更好,更容易用于转换浏览器可以播放的格式(mp4,webm,theroa).VLC有很多选择,但是如果你没有把它弄好的话可能会过度和令人沮丧.Miro更像是一个拖放应用程序,由diveintohtml5推荐.


Mec*_*cki 18

WebM只是Matroska(.mkv)的一个子集,因此只需使用HandBrake创建MKV文件(选择MKV容器,而不是MP4).恕我直言,HandBrake是在Mac上创建MP4和MKV文件的最佳工具(也适用于Windows和Linux,但我从未在那里使用它).使用两次通过编码,您可以获得可用存储空间和/或带宽的最佳质量,并且功能非常强大(您可以配置如此多的设置),HandBrake仍然是一个非常简单的工具(您不需要配置大部分设置,已经默认将给你非常好的结果).

请记住,WebM是MKV子集,因此视频编解码器使用VP8或VP9,而音频编解码器则使用Vorbis或Opus.截至2013年,只有VP8和Vorbis用于WebM,因此这是大多数设备,浏览器和播放器上最兼容的组合.2013年,新的VP9和Opus被添加,现在任何组合都是合法的.

获得MKV后,使用将其转换为WebM ffmpeg.您可以下载为MacOS X预先构建的ffmpg作为独立二进制文件(适用于10.9或更高版本).您需要做的就是在终端中运行该命令:

./ffmpeg -i INPUTIFLE.mkv -c copy OUTPUTFILE.webm
Run Code Online (Sandbox Code Playgroud)

就是这样.这将是非常快的,因为这-c copy意味着ffmpeg没有在这里转换任何东西(视频没有再次转码!),它正在复制所有的音频和视频数据,只有容器被重写,删除不是的MKV部分WebM支持(例如,不支持章节).只是复制也意味着这种转换对质量没有任何影响,因为没有任何重新压缩.

使用ffmpeg集装箱之间进行转换的w/o再压缩也与许多其他格式的作品.例如,如果你有一个实际上是MPEG4或H.264的MKV,你可以用同样的方式将它转换为MP4文件,不重新加入.您甚至可以将视频的音频层提取到普通音频文件而不会丢失任何质量(例如,将MP3或AAC音频提取到MP3或MPA文件).如果所选目标容器无法保存源文件的数据(例如,您无法将AAC音频复制到MP3文件或将VP9视频复制到MP4文件中,那将无法正常工作),ffmpeg将通知您.


tag*_*awa 12

如果你正在使用ffmpeg,我发现这个命令可以很好地作为文件大小和质量之间的折衷方案:

ffmpeg -i myvideo.mp4 -acodec libvorbis -aq 5 -ac 2 -qmax 25 -threads 2 myvideo.webm
Run Code Online (Sandbox Code Playgroud)

您可以分别用-aq和控制音频和视频的质量-qmax.如果你有兴趣,我写了一篇博文,里面有更多细节:http://daniemon.com/blog/how-to-convert-videos-to-webm-with-ffmpeg/