如何制作WebM桌面录音?


13

我正在寻找可以以WebM格式输出的台式录像机/截屏应用程序,或者可以将生成的.ogv格式转换gtk-recordmydesktop为WebM的程序。

我选择了WebM作为我需要的格式,因为它似乎是YouTube支持的唯一免费编解码器,最终我的录像将被录制下来。我过去曾尝试上传.ogv并获得稳定的绿色视频,所以这对我不起作用。

我居住在美国,并且意识到要远离任何可能存在软件专利问题的事物,例如gstreamer0.10-plugins-uglygstreamer0.10-plugins-bad。正是由于这个原因,我本来对Tibesti感兴趣(例如),但是这需要安装上述软件包。

我已经在网上进行了一些搜索,以寻找免费的解决方案(包括金钱和自由),但到目前为止找不到任何东西。有什么建议么?


你能告诉你你的位置吗?
Lincity

@Alaukik,我上面已经说过我住在美国。如果您需要知道哪个州,我住在密歇根州。我不想比这更具体。
Christopher Kyle Horton

@ Warriorlng64糟糕!
Lincity

Answers:


6

12.04 LTS

在此发行版中,将.ogv录制文件转换为WebM 似乎ffmpeg 不再正常工作recordmydesktop。由于不再进行维护,建议改用软件包中avconv提供的替换项libav-tools(如果ffmpeg已安装,则似乎会自动安装)。

avconv用于转换所需的命令与并没有太大区别ffmpeg

avconv -i input.ogv output.webm

因此,如果有人遇到相同的问题,即尝试仅使用免费软件包在12.04(或大概以后)中从.ogv转换为.webm,这就是我解决的方法。如果您要录制视频以显示新功能或使用视频记录问题,这将对您有所帮助。


最近,我开始研究Kazam,现在它可以VP8 / WebM和H264 / Matroska格式录制。我为Oneiric和Precise制作了PPA版本。它使用gstreamer进行记录,不需要ffmpeg。它应该可以在没有额外编解码器的干净安装的Ubuntu上运行。
BigWhale 2012年

@BigWhale浏览了一下代码,我发现它似乎仍然依赖于gstreamer0.10-plugins-badgstreamer0.10-plugins-ugly。如上所述,这些软件包中包含由于专利问题而试图避免的编解码器。如果有不依赖于这些软件包的更新/替代版本可用,请在新答案中告诉我。不管怎么说,还是要谢谢你!
Christopher Kyle Horton

我得到Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
jrg 2012年

@jrg转换我使用recordmydesktop错误报告上发布的解决方法记录的视频时,笔记本电脑上出现类似的问题。奇怪的是,当我将同一视频移到台式机上并在那里进行转换时,它可以正常工作。所以...这可能是一个错误,但我认为我对它的了解还不足以提交报告。
Christopher Kyle Horton 2012年

1
附带说明:FFMpeg仍得到维护(实际上最近发布了1.0版),但是一些开发人员之间发生了一场小战,这导致了avconv的分叉。只是debian / ubuntu维护者支持avconv。消息“此程序已弃用”完全是误导。在此处阅读有关当前情况的信息:http : //blog.pkh.me/p/13-the-ffmpeg-libav-situation.html
phoibos 2012年

6

我正在使用这样的东西:

avconv -f x11grab -s 1024x768 -r 24 -i 0:0 -deadline realtime -b 5000000 -minrate 200000 -maxrate 40000000 recording-filename-000.webm

哪里:

-f x11grab -强制输入的屏幕捕获“格式”。

-s 1024x768是输入文件(又称捕获区域)的分辨率。例如,等于桌面分辨率。如果小于该范围,则记录区域将位于左侧和顶部。在此示例中,我使用了1024x768记录区域。

-r 24-帧率。实际电影基本上使用23到30 FPS来提供平滑的录制图像。但是,对于屏幕广播,可以减少它以降低比特率以获得更好的图像。我用24来做游戏的屏幕截图。

-i 0:0提示使用显示0:0作为来源(设备采用xorg表示法)。如果只有1个监视器和默认的Xorg设置,则大多数情况下0:0是可以的。

-deadline realtime-是libvpx的提示。我们想要实时捕获。我们需要实时性能。因此,libvpx将尽最大努力在实时中对VP8进行编码。为此,它在一定程度上是以质量为代价的。在给定的比特率下,质量将比非实时方式差一些。但是编码速度会飞涨。因此,在我的硬件上,它可以处理1024x768 @ 24FPS,激烈的场景,而不会丢失任何帧(不过建议使用功能强大的CPU)。在此示例中,我希望以良好的FPS和相当大的捕获面积获得高质量的实时捕获。因此编解码器的CPU使用率可能是一个问题。这就是为什么要获得良好效果确实需要此提示的原因。

-b 5000000-目标比特率(以位/秒为单位)。我使用5Mbits来获得相当激烈的场景的大致图像。编解码器将尝试使视频的平均比特率速度保持接近此值。该值越低,质量越差,文件越小。您可以尝试一下,以了解哪种比特率适合特定用途。如果您超调,视频共享服务将下转换视频。如果您要使用自己的服务器,则由您自己来决定流量。如果下冲,图像质量会很差。随时更改价值以了解最适合您的想法。5Mbits旨在或多或少地使您在游戏中无法轻松看到图片被过度压缩的激烈场景的现场捕捉。对于捕获静态应用程序,您基本上需要的远不止于此。

-minrate200000-是编解码器的最低允许比特率。取决于您要捕获的事物的性质,有时您可能想要强制最小比特率以无论如何保持合理的外观。有时,编解码器试探法可能会将比特率降低到远低于您想要的值,从而在某些场景下产生不良图像。即使编解码器认为场景很简单并且可以丢弃比特率,此选项也可以强制编解码器将比特率保持在最低水平。此参数的高值可能会通过防止编解码器使用较低的比特率来增加文件大小。

-maxrate 40000000-此值控制激烈场景下的最大突发比特率。如果认为必须提高速度以保持某些场景的良好质量,我使用了很高的值来使编解码器远远高于期望的平均值。为了在所有条件下都能获得漂亮的图片,最好将其设置得足够高(40Mbits类似于BlueRay的速度,并且可以达到目的)。另一方面,如果要使用自己的服务器进行流传输,则必须在激烈的场景中以牺牲一些图片质量为代价来降低此值。其他服务器可能无法应对所需的突发比特率,无法将其实时交付给用户。然后玩家将面临缓冲区不足(这很烦人)。视频共享服务将自行处理,通常会以降低图像质量为代价将视频下变频为较低的参数。

recording-filename-000.webm-是输出的文件名。如果使用.webm扩展名,则ffmpeg / avconv足够聪明,可以理解您想要使用WEBM。就是这么简单-avconv从文件名中猜测所需的格式。因此,.WEBM文件位于其中。

就是这样-此命令确实将屏幕录像直接定向到webm文件。不需要额外的转换,并且libvpx建议尽可能快。由于没有声音输入规范,因此没有声音。它可能不是您想要的。对于声音,还必须指定声音流的输入源。

附注:这看起来有些复杂,但最终您会发现一种尺寸无法容纳所有尺寸。因此,为了在所有情况下都能获得漂亮的图像,您可能真的想为编解码器使用一些手柄并进行调整。Ffmpeg为您提供了您可能需要的所有句柄,而不仅仅是这些。这是视频转换和编码的重型武器。因此,对于那些想要或多或少进行高级编码的人来说,此示例是一个很好的起点,并准备尝试进行一些尝试以获得真正体面的结果。


6

您可以通过按Ctrl+ Shift+ Alt+ R组合键在Ubuntu 11.10 + GNOME Shell中进行WebM录制。

第一次按组合键时,通知区域中会出现一个红色圆圈,表示已开始录制。第二次按该按钮,红色圆圈消失,您的录音将在${HOME}/Videos目录中。

此处有更多信息:Gnome Shell作弊表:截屏录制


在我最初问这个问题的时候,我没有GNOME Shell。但是我以前是从jhbuild10.10 编译的,现在已经在11.10系统上安装了它,我知道这也可以。感谢您添加此答案!
Christopher Kyle Horton

在当前版本(使用16.04)中,视频~/Videos以的文件名存储Screencast from {date} {time}.webm
卡列姆

3

使用transmageddon App来做到这一点。基于Gstreamer的应用

sudo apt-get install transmageddon 或单击此处安装transmageddon


我通过sudo apt-get install看了transmageddon的依赖关系,上面提到的gstreamer-plugins-ugly包已包含在列表中。同样,我不确定这是否对我完全合法,这对我很重要。
Christopher Kyle Horton

2

使用Kazam进行记录。

输出为mkv,并且与Youtube配合良好。唯一的问题是Kazam似乎暂时没有更新。

顺便说一句,如果我理解正确,那么您应该安全地使用Tibesti,除非您当然对某些巨型外星飞船会绑架您并因使用软件而遭受酷刑感到绝对的偏执...


Kazam在sudo apt-get install期间要求安装ffmpeg,我不确定我是否可以合法使用它。
Christopher Kyle Horton

@ Warrioring64,我认为ffmpeg不合法...
RolandiXor

这是我必须担心的事情,因为我在美国,并且在这里强制执行软件专利。如果它可以帮助您了解我在这里得到的内容,请在Wikipedia上查看此部分
Christopher Kyle Horton

2
@ Warrioring64-Ubuntu中包含的版本已删除了这些编解码器。
RolandiXor

好的...但是进一步查看给出的依赖关系,我还发现了libavcodec-extra-52和libavutil-extra-52,这从我发现的更多研究中可能会给我带来麻烦。抱歉,如果我看起来有点困难,但是即使我可能实际上并未因使用此类软件而被捉住,我仍然不希望它出于我的良心。
Christopher Kyle Horton

2

11.10及以前

ffmpeg可用于将.ogv直接转换为.webm,而无需其他编解码器。如对另一个答案的评论中所述ffmpeg,Ubuntu提供的版本默认情况下未带有可能引起软件专利问题的编解码器。

这是一个命令行程序;要使用它,只需打开终端窗口并输入:

ffmpeg -i input.ogv output.webm

是。我只是没有安装medibuntu存储库就安装了ffmpeg,它拉出了所有免费版本的软件包,并且使用ffmpeg -i file.wmv -f webm -sameq file.webm
duffydack

1

imo,将视频转换为WebM的最佳方法是Firefogg

  • 这是一个firefox插件(因此它是firefox的多平台工具)
  • 它将压缩为WebM格式(开源-Web兼容编解码器)
  • 它提供多种编码大小(非常方便,可以提供最佳压缩率)
  • 真正有效的压缩比(至少与H264一样高)
  • 超级好用

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.