尝试编辑此文件:
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。)
- https://trac.ffmpeg.org/wiki/Encode/VP8
- https://trac.ffmpeg.org/wiki/Encode/VP9
- 如果你只是想剪辑视频,你可能需要看看 mkvtoolnix-gui (商店链接,但最好从开发人员网站获取新的 GUI)并使用时间码分割文件。
- 显然,Opus 已经得到了 OpenShot 的支持,如果不支持,可以尝试 Vorbis,只需将其替换
copy
为libvorbis -q:a 4
Vorbis 128 kbps(可能有点太高)。
看起来好像可以,但是这里的编码速度相当慢。我无法检查结果是否正确,即使使用保守的设置,VRDP 也非常滞后。