OpenShot 将 .webm 文件打开为音频

OpenShot 将 .webm 文件打开为音频

尝试编辑此文件:

https://upload.wikimedia.org/wikipedia/commons/a/ab/Acute_leukemia.webm

OpenShot 1.4.3 是 Ubuntu 软件商店提供的版本,OpenShot 网站称其为最新版本。此版本适用于 Ubuntu 14.04 LTS x64。

文件已导入,但在 OpenShot 中显示为音频文件,而不是视频文件。音频可以播放,但没有视频。

尝试播放带有“视频”的文件会导致弹出错误,提示缺少必要的音频编解码器。视频可以播放,但没有音频。

Firefox 将播放带有音频和视频的文件,即使是磁盘上的文件。

Ubuntu 表示该文件是 VP9 视频和“audio/x-unknown”音频。

视频播放器显示 Matroska 容器中的 ON2 VP9 视频和“audio/x-unknown”音频。

OpenShot 只说“音频”。Firefox 只说“视频”。

我需要更多编解码器吗?从哪里来?

答案1

我刚刚在家里的计算机上启动了一个可信赖的 VM(我仍在办公室)并尝试在 OpenShot 和 VLMC 中加载文件,但没有成功。

On2读起来可能有点混乱,这家公司制造了所有的 VP 编解码器,直到谷歌他们。此版本的 OpenShot 是2012 年 10 月发布,在 VP9 发布之前,开发人员从那时起就试图推出下一个版本,第一个 1.5 显然没有成功,现在是 2.0。

因此,14.04 中的典型视频编辑器似乎无法读取此文件。(我还没有尝试过 Kdenlive,但它安装在主机上。)成功的最大机会是将视频转换为 VP8,但我们仍然需要较新版本的 ffmpeg 才能从 VP9 转换为 VP8。您可以安装另一个 Linux 发行版,自行构建 ffmpeg 或选择 Windows 二进制文件并使用 Wine 运行它。(它位于bin/zip 中,将其放在与视频相同的文件夹中,并ffmpeg-win64在示例中用实际.exe文件名替换。)

这就是命令(第一行)和输出的样子:

$ wine64 ffmpeg-win64 -i Downloads/Acute_leukemia.webm -c:a copy -c:v libvpx -crf 10 -b:v 0 Downloads/Acute_leukemia_.webm
err:menubuilder:init_xdg error looking up the desktop directory
ffmpeg version N-77556-g4160900 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 5.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
  libavutil      55. 11.100 / 55. 11.100
  libavcodec     57. 20.100 / 57. 20.100
  libavformat    57. 21.100 / 57. 21.100
  libavdevice    57.  0.100 / 57.  0.100
  libavfilter     6. 22.100 /  6. 22.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, matroska,webm, from 'Downloads/Acute_leukemia.webm':
  Metadata:
    encoder         : Lavf56.7.101
  Duration: 00:10:18.24, start: 0.007000, bitrate: 697 kb/s
    Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv), 1812x1018, lossless, SAR 1:1 DAR 906:509, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
    Stream #0:1: Audio: opus, 48000 Hz, stereo, fltp (default)
File 'Downloads/Acute_leukemia_.webm' already exists. Overwrite ? [y/N] y
fixme:msvcrt:MSVCRT__wsopen_s : pmode 0x01b6 ignored
[libvpx @ 000000000038e480] v1.5.0
[webm @ 000000000038cd00] Codec for stream 1 does not use global headers but container format requires global headers
Output #0, webm, to 'Downloads/Acute_leukemia_.webm':
  Metadata:
    encoder         : Lavf57.21.100
    Stream #0:0: Video: vp8 (libvpx), yuv420p, 1812x1018 [SAR 1:1 DAR 906:509], q=-1--1, 30 fps, 1k tbn,30 tbc (default)
    Metadata:
      encoder         : Lavc57.20.100 libvpx
    Side data:
      unknown side data type 10 (24 bytes)
    Stream #0:1: Audio: opus, 48000 Hz, stereo (default)
Stream mapping:
  Stream #0:0 -> #0:0 (vp9 (native) -> vp8 (libvpx))
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=18547 fps=8.3 q=0.0 Lsize=   46960kB time=00:10:18.23 bitrate= 622.3kbits/s speed=0.277x
video:40026kB audio:6591kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.735802%

以下是该文件现在可以在 OpenShot 中加载的证明:

在此处输入图片描述

我有点惊讶视频变小了,它应该更大,特别是因为它-crf 10应该导致比特率高于默认设置,要么是比特率不够高(尝试低于 10 的值),要么是我的参数不适合 VP8。(它们适用于 VP9。)

看起来好像可以,但是这里的编码速度相当慢。我无法检查结果是否正确,即使使用保守的设置,VRDP 也非常滞后。

相关内容