VLC:如何从 mp4 转换为 webm

     2023-05-08     183

关键词:

【中文标题】VLC:如何从 mp4 转换为 webm【英文标题】:VLC: How to convert from mp4 to webm 【发布时间】:2012-03-23 20:36:09 【问题描述】:

如果可能,如何使用 VLC 从 mp4 转换为 webm?我应该选择什么编解码器?我需要重新编码声音吗?

我正在尝试将 html5 视频放在使用 flash 作为后备的网站上。据我了解,这是 Firefox 允许的唯一格式(webm)(除非您使用的是 Windows 7 64 位?)。 Theora 似乎可以工作,但据我了解它有点旧,而且它需要一段时间才能正确渲染图片并且不提供缩略图:(

<video controls >  
    <!-- if Firefox -->  
    <source src="video/45-theora.ogg" type="video/ogg" />
    <!-- if Safari/Chrome-->  
    <source src="video/45.mp4" type="video/mp4" />
</video>

哦,我使用的是 Mac OS Lion,但我可以访问 Windows 7、Vista 和 XP,如果它能让某人更轻松的话。

感谢您的帮助!

【问题讨论】:

ffmpeg -i 45.mp4 45.webm 【参考方案1】:

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

Easyhtml5video 非常棒,因为它会自动创建所有带有 Flash 回退和嵌入代码的视频格式,但您必须为此支付 69 美元 - 免费版本会为视频添加水印。

目前我正在使用 VLC 播放器进行视频转换。要在 VLC 中转换 mp4 文件,我执行以下操作:

转换为 .webm

    从菜单中选择媒体 > 转换/保存。 单击“添加”按钮并选择要转换的文件 点击“转换/保存”按钮 在“个人资料”下拉菜单中选择“视频 - VP80 + Vorbis (Webm)” 单击下拉菜单旁边的按钮(“编辑所选配置文件” - 看起来像扳手+螺丝刀图标) 封装选项卡应设置为 Webm。 单击“视频编解码器”选项卡。在编码参数中,编解码器应选择为'VP8'。 在“音频编解码器”选项卡中,应取消选择“保留原始音轨”。编解码器应设置为“Vorbis” 点击“保存” 重要:选择目标文件位置和名称。单击浏览器,转到您希望转换后的文件名进入的文件夹,然后输入新的文件名。如果您不这样做,VLC 将不会创建您转换后的文件(无论如何都不会在 2.1.5 版本中) 点击“开始”开始转换。

转换为 .ogv:

    从菜单中选择媒体 > 转换/保存。 单击“添加”按钮并选择要转换的文件 点击“转换/保存”按钮 在“个人资料”下拉菜单中选择“视频 - Theora + Vorbis (OGG)” 点击下拉菜单旁边的按钮(“编辑所选配置文件”) 封装选项卡应设置为 Ogg/Ogm。 单击“视频编解码器”选项卡。在编码参数中,编解码器应选择为“theora”,如果您有文本,则比特率应为 1000kb/s。较低的比特率可能适合较小的视频。 在“音频编解码器”选项卡中,选择“保留原始音轨” 点击“保存” 选择目标文件位置和名称。 点击“开始”开始转换。

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

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

【讨论】:

【参考方案2】:

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 后,使用 ffmpeg 将其转换为 WebM。您可以将ffmpg pre-built for MacOS X 作为独立二进制文件下载(适用于 10.9 或更高版本)。您需要做的就是在终端中运行该命令:

./ffmpeg -i INPUTIFLE.mkv -c copy OUTPUTFILE.webm

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

使用ffmpeg 在不重新压缩的容器之间进行转换也适用于许多其他格式。例如。如果您有一个实际上是 MPEG4 或 H.264 的 MKV,您可以以相同的方式将其转换为 MP4 文件,无需重新编码。您甚至可以仅将视频的音频层提取为纯音频文件,而不会损失任何质量(例如,将 MP3 或 AAC 音频提取为 MP3 或 MPA 文件)。如果选择的目标容器无法保存源文件的数据(例如,您无法将 AAC 音频复制到 MP3 文件或 VP9 视频复制到 MP4 文件,这将无法正常工作),ffmpeg 会通知您。

【讨论】:

【参考方案3】:

我会将该代码更改为:

<video poster="/path/to/your/thumbnail/image.jpg" preload="meta" controls > 
    <!-- if Safari/Chrome-->  
    <source src="video/45.mp4" type="video/mp4" /> 
    <!-- if Firefox -->  
    <source src="video/45-theora.ogg" type="video/ogg" />
</video>

原因:

poster="/path/to/your/thumbnail/image.jpg"

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

<source src="video/45.mp4" type="video/mp4" /> BEFORE <source src="video/45-theora.ogg" type="video/ogg" />

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

preload="meta"

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

在编码方面,Miro Converter 更擅长编码,并且更容易用于转换浏览器可以播放的格式(mp4、webm、theroa)。 VLC 有很多选择,但如果你没有做对,可能会让人不知所措和沮丧。 Miro 更像是一个拖放应用程序,受到diveintohtml5 的推荐。

【讨论】:

【参考方案4】:

如果您使用的是 ffmpeg,我发现此命令可以很好地兼顾文件大小和质量:

ffmpeg -i myvideo.mp4 -acodec libvorbis -aq 5 -ac 2 -qmax 25 -threads 2 myvideo.webm

您可以分别使用-aq-qmax 控制音频和视频的质量。如果您有兴趣,我写了一篇博文,其中包含更多详细信息:http://daniemon.com/blog/how-to-convert-videos-to-webm-with-ffmpeg/

-threads 参数可能会被调整或完全省略,具体取决于您要为编码任务提交多少系统资源。

【讨论】:

【参考方案5】:
ffmpeg -i 45.mp4 45.webm
通过@YumYumYum

【讨论】:

或者如果你在 Ubuntu avconv -i 45.mp4 45.webm 上——虽然我在某处读过质量与 ffmpeg 不一样,不确定,但值得一试。【参考方案6】:

试试这个:: Linux中的Libav

Installation: run command  
               sudo apt-get install libav-tools 

Video conversion command::Go to folder contains the video and run in terminal
               avconv -i oldvideo.mp4 -ar 22050 convertedvideo.webm

【讨论】:

使用PHP将视频文件转换为mp4、flv、webgl、webm、ogv等

】使用PHP将视频文件转换为mp4、flv、webgl、webm、ogv等【英文标题】:UsingPHPtoconvertvideofilestomp4,flv,webgl,webm,ogv,etc【发布时间】:2012-01-2915:01:08【问题描述】:是否有任何可用的功能或脚本允许将视频(在文件夹中或上传时)转换... 查看详情

sh使用homebrew在osx上安装ffmpeg以将mp4转换为webm(代码片段)

查看详情

Ffmpeg - 从 webm 格式创建缩略图并将 webm 电影转换为 flv 电影

】Ffmpeg-从webm格式创建缩略图并将webm电影转换为flv电影【英文标题】:Ffmpeg-creatingthumbnailfromwebmformatandconvertingwebmmovietoflvmovie【发布时间】:2011-12-1210:18:12【问题描述】:我有一个我想解决的问题使用ffmpeg从webm电影制作缩略图。... 查看详情

sh将gif简单地转换为mp4(h264/h265),webm(vp8/vp9)和webp(代码片段)

查看详情

如何使用 java 合并 .webm(音频)文件和 .mp4(视频)文件?

】如何使用java合并.webm(音频)文件和.mp4(视频)文件?【英文标题】:HowcanImerge.webm(Audio)fileanda.mp4(Video)fileusingjava?【发布时间】:2016-06-2615:12:56【问题描述】:我有两个文件,一个是.webm音频文件,另一个是.mp4视频文件有没... 查看详情

如何在 Python 中将动画 .gif 转换为 .webm 格式?

】如何在Python中将动画.gif转换为.webm格式?【英文标题】:HowtoConvertanimated.gifinto.webmformatinPython?【发布时间】:2015-08-1716:02:36【问题描述】:我有一个基于Django构建的Web应用程序,可以上传图像和动画Gif。但是GIF需要很长时间才... 查看详情

HTML5 视频:ffmpeg 编码的 MP4 不在任何浏览器中播放(虽然在 VLC 中播放)

...时间】:2014-09-0120:15:38【问题描述】:我正在尝试以MP4和WEBM格式提供HTML5视频。我无法让所有浏览器都工作:支持WEBM(Chrome桌面、Firefox桌面)的浏览器可以 查看详情

ffmpeg 从 MOV 转换为 mp4 - 如何保存创建日期

】ffmpeg从MOV转换为mp4-如何保存创建日期【英文标题】:ffmpegconversionfromMOVtomp4-howtoconservecreationdate【发布时间】:2020-06-1312:41:23【问题描述】:Windows101909,最新更新。我正在帮助一位朋友将他的照片和视频从一个AppleID转移到另一... 查看详情

如何使用 FFmpeg 2 Pass 批量转换?

】如何使用FFmpeg2Pass批量转换?【英文标题】:HowtoBatchConvertwithFFmpeg2Pass?【发布时间】:2017-05-3119:17:55【问题描述】:我正在使用FFmpeg将webm转换为mp4。我的批处理文件是cd"C:\\Users\\Matt\\Desktop\\"&&for%fin(*.webm)doffmpeg-y-i"C:\\Users\... 查看详情

将 .MOV 转换为 .MP4,同时从图库中选择或从相机录制

...此希望将其转换为.MP4进行研究,但在这种情况下不知道如何做到这一点。如果你有任何想法,请帮忙。-(void)image 查看详情

如何创建 WebM 视频文件?

】如何创建WebM视频文件?【英文标题】:HowtocreateaWebMvideofile?【发布时间】:2011-10-2018:08:37【问题描述】:浏览网络后,我发现无法生成WebM视频。我看到了适用于Windows和QuickTime的驱动程序,但没有证据表明支持最常见的实用程... 查看详情

是否值得将 HLS/DASH 用于网络视频,还是我应该坚持使用 webm/mp4 [关闭]

...)的系统。所以我正在考虑两种解决方案:将上传的视频转换为几个不同分辨率(4k、1080p、720p、 查看详情

如何使用 FFMPEG 将 MP4 视频文件转换为 FLV 格式

】如何使用FFMPEG将MP4视频文件转换为FLV格式【英文标题】:HowToConvertMP4VideoFileintoFLVFormatUsingFFMPEG【发布时间】:2012-01-2006:05:15【问题描述】:我必须使用从不同移动设备收到的FFMPEG将MP4视频文件转换为FLV格式。我找到了大部分将... 查看详情

avconv mp4 到 webm libvorbis 缓冲区溢出

...时间】:2012-06-0405:37:17【问题描述】:试图将一堆mp4文件转换成webm。所以我运行以下命令。我用ffmpeg尝试了类似的命令。avconv-iinput.mp4-threads8-s1280x720-prelibvpx-720p-b3900k-pass2-acod 查看详情

javacv音视频开发宝典:录制vp8和vp9编码的webm格式视频,以mp4转webm为例

...视频格式。本章将使用mp4文件转webm为例,来讲一下JavaCV如何录制webm格式视频。webm简单介绍webm是由google开源的视频格式,BSD授权协议,支持vp8、vp9、av1编码。webm格式这种开 查看详情

VLC 命令行转换并不总是有效

】VLC命令行转换并不总是有效【英文标题】:VLCcommandlineconvertingisnotalwaysworking【发布时间】:2020-08-0917:41:07【问题描述】:我安排了一个.cmd文件,它将网络流转换为.mp4文件,使用:vlc-vvv"http://86.127.212.113/control/faststream.jpg?stream=m... 查看详情

使用python将mp4视频转换为gif动画(代码片段)

...习体验)。在本教程中,你将学习以下内容:如何从MP4视频中提取帧将帧转换为GIF创建MP4到GIFGUI让我们开始吧!文章目录使用Python将MP4视频转换为GIF动画运行环境如何从MP4视频中提取帧将帧变成GIF创建MP4到GIFGUI运... 查看详情

使用 Python 将 WEBM 文件转换为 WAV 文件 [关闭]

】使用Python将WEBM文件转换为WAV文件[关闭]【英文标题】:ConvertWEBMfiletoWAVfilewithPython[closed]【发布时间】:2021-11-0116:55:32【问题描述】:我想用Python将webm文件转换为wav文件进行分析。有没有简单的方法在Python中进行webm到wav的转换... 查看详情