如何播放 G2M4 编码的 .wmv 文件 (Ubuntu)?

Rav*_*avi 5 ubuntu vlc video codec

我使用的是Ubuntu 13.04(生命周期结束) - 现在使用 13.10。我有这个.wmv视频文件。当我尝试在vlc上播放时,它显示以下错误,没有视频但音频工作正常:

No suitable decoder module:
VLC does not support the audio or video format "G2M4".
Unfortunately there is no way for you to fix this.
Run Code Online (Sandbox Code Playgroud)

我需要安装任何编解码器吗?我怎样才能播放这个文件?


当我用图腾电影播放器运行它时,我得到:

Required plugin could not be found

Videos requires to install plugins to play media files of the following
type: video/x-asf-unknown decoder
Run Code Online (Sandbox Code Playgroud)

编辑#1

此编辑是在尝试给出的答案之后进行的。

1)我安装了mplayer. 当我运行视频文件时,它正在处理一些需要很长时间才能完成的内容。请看下面的屏幕截图(看最后一行)。 在此处输入图片说明

2)然后我安装smplayer(GUI)。当我尝试运行 .wmv 文件时,只有音频而不是视频(与 vlc 的情况一样)。

3) 我尝试将我的vlc版本从当前版本 2.0.8升级到更高版本。我用谷歌搜索并尝试了不同的方法,但无济于事。然后我删除它并重新安装它。

1) sudo apt-get purge vlc

2) sudo apt-get autoremove

3) sudo apt-get install vlc
Run Code Online (Sandbox Code Playgroud)

做完这一切后,仍然vlc是 2.0.8的版本!为什么这样?是因为不再支持 Ubuntu 13.04 吗?那么从Ubuntu存储库,只能安装那个版本?是不是为了安装最新或更多版本,我需要从网站上获取它?现在 .wmv 文件的视频也没有运行。

4) `ubuntu-restricted-extras` are already installed.
Run Code Online (Sandbox Code Playgroud)

我想重申一下,我正在使用 Ubuntu 13.04,该版本自过去 5 个月以来不受支持。这可能是问题所在。

我现在正在准备我的笔记本电脑以升级到较新版本的 Ubuntu。安装新操作系统后,我将检查视频文件是否在那里运行!

编辑#2

我现在已经在我的笔记本电脑上安装了 Ubuntu13.10 并删除了旧的不受支持的版本(Ubuntu 13.04)。现在我尝试运行视频但失败了。

1) 1st 我写的是关于赛斯所写的。我跑了,sudo apt-get install ubuntu-restricted-extras但视频部分仍然没有运行。

2)现在我写的是关于埃里克在他的回答中写的内容。

安装 Ubuntu13.10 后,我通过sudo apt-get install vlc. VLC 的版本是 2.0.8。(Erik,要注意一件事。这与 ubuntu13.04 的版本相同。)为了升级到 2.1.0,我运行了 3 个命令(使用 ppa)。我发现现在的版本是VLC media player 2.0.10 Twoflower (revision 2.0.8+git20140326+r49189+13+8~ubuntu13.10.1)& 不是 2.1.0。在这个版本中,.wmv 文件不能像以前那样运行视频部分。只有音频像之前一样运行。此处的屏幕截图与此 Q 中的第 1 个图像相同。因此,使用 PPA,我无法升级到 2.1.0。

因此,它的工作方式与以前的操作系统相同,只有音频有效,但视频无效。

编辑#3

此编辑参考@erik 发布的答案

我可以从源代码编译 vlc(如他的回答中提到的选项 1),但仍然无法播放视频部分,只有音频像以前一样工作。

sudo apt-get build-dep vlc
./configure
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

我在运行上述命令时没有发现任何错误。

现在在这个版本 ( 2.1.0. ) 中,只有音频有效,视频无效。那么,vlc 版本 2.1.4(在 ubuntu 14.04 中)是否支持 G2M4,但在 2.1.0 中不支持。?

编辑#4

根据 illuminE 的回答,我正在编写下面的 ffmpeg 命令的输出。我通过 ppa 安装了 ffmpeg 0.10 版,如他的链接之一所示。但是命令仍然失败。我觉得这个版本不能转换 G2M4 编码的 .wmv 文件。我正在寻找另一个 PPA 或其他东西来安装最新版本。

ravi@ravi-Aspire-5315:~$ ffmpeg -i '/home/ravi/2014-04-12_11.39_Equity_Markets-I.wmv'  -c:v libx264 -crf 23 -c:a ac3 -q:a 100 output.mp4
ffmpeg version 0.10.12-7:0.10.12-1~saucy1 Copyright (c) 2000-2014 the FFmpeg developers
  built on Apr 26 2014 10:04:40 with gcc 4.8.1
  configuration: --arch=i386 --disable-stripping --enable-pthreads --enable-runtime-cpudetect --extra-version='7:0.10.12-1~saucy1' --libdir=/usr/lib/i386-linux-gnu --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/i386-linux-gnu --enable-shared --disable-static
  avutil      configuration: --arch=i386 --disable-stripping --enable-pthreads --enable-runtime-cpudetect --extra-version='7:0.10.12-1~saucy1' --libdir=/usr/lib/i386-linux-gnu --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/i386-linux-gnu/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc
  avcodec     configuration: --arch=i386 --disable-stripping --enable-pthreads --enable-runtime-cpudetect --extra-version='7:0.10.12-1~saucy1' --libdir=/usr/lib/i386-linux-gnu --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/i386-linux-gnu/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc
  avformat    configuration: --arch=i386 --disable-stripping --enable-pthreads --enable-runtime-cpudetect --extra-version='7:0.10.12-1~saucy1' --libdir=/usr/lib/i386-linux-gnu --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/i386-linux-gnu/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc
  avdevice    configuration: --arch=i386 --disable-stripping --enable-pthreads --enable-runtime-cpudetect --extra-version='7:0.10.12-1~saucy1' --libdir=/usr/lib/i386-linux-gnu --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/i386-linux-gnu/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc
  avfilter    configuration: --arch=i386 --disable-stripping --enable-pthreads --enable-runtime-cpudetect --extra-version='7:0.10.12-1~saucy1' --libdir=/usr/lib/i386-linux-gnu --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/i386-linux-gnu/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc
  swscale     configuration: --arch=i386 --disable-stripping --enable-pthreads --enable-runtime-cpudetect --extra-version='7:0.10.12-1~saucy1' --libdir=/usr/lib/i386-linux-gnu --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/i386-linux-gnu/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc
  swresample  configuration: --arch=i386 --disable-stripping --enable-pthreads --enable-runtime-cpudetect --extra-version='7:0.10.12-1~saucy1' --libdir=/usr/lib/i386-linux-gnu --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/i386-linux-gnu/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc
  postproc    configuration: --arch=i386 --disable-stripping --enable-pthreads --enable-runtime-cpudetect --extra-version='7:0.10.12-1~saucy1' --libdir=/usr/lib/i386-linux-gnu --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/i386-linux-gnu/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc
  libavutil      51. 35.100 / 51. 35.100
  libavcodec     53. 61.100 / 53. 61.100
  libavformat    53. 32.100 / 53. 32.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 61.100 /  2. 61.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0.  6.100 /  0.  6.100
  libpostproc    52.  0.100 / 52.  0.100
[asf @ 0x9396ac0] max_analyze_duration 5000000 reached at 5194000
[asf @ 0x9396ac0] decoding for stream 1 failed
[asf @ 0x9396ac0] decoding for stream 2 failed
[asf @ 0x9396ac0] Could not find codec parameters (Video: g2m (G2M4 / 0x344D3247), 1920x1080, 97 kb/s)
Input #0, asf, from '/home/ravi/2014-04-12_11.39_Equity_Markets-I.wmv':
  Metadata:
    WMFSDKVersion   : 12.0.9600.16384
    WMFSDKNeeded    : 0.0.0.0000
    IsVBR           : 1
    WM/ToolVersion  : 6.2.1 Build 1350
    WM/ToolName     : ???????
    BitRateFrom the writer: 145
    Audio samples   : 612
    Video samples   : 393
    recording time  : Sat, 12 Apr 2014 13:26:37 India Standard Time
  Duration: 01:42:11.56, start: 0.000000, bitrate: 149 kb/s
    Stream #0:0: Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, 1 channels, s16, 48 kb/s
    Stream #0:1: Data: none
    Stream #0:2: Video: g2m (G2M4 / 0x344D3247), 1920x1080, 97 kb/s, 10 tbr, 1k tbn, 1k tbc
Video pixel format is unknown, stream cannot be encoded
Run Code Online (Sandbox Code Playgroud)

小智 5

ffmpeg 支持G2M4 格式的解码。为什么不尝试将您的文件编码为另一种格式,例如 mpeg-4?也许:

ffmpeg -i input.wmv -c:v libx264 -crf 23 -c:a ac3 -q:a 100 output.mp4
Run Code Online (Sandbox Code Playgroud)

就像在这个问答中解释的那样。我在这里成功转换了g2m4.wmv示例文件。确保您拥有最新版本的 ffmpeg(在我的情况下为 2.2.4)。您可以随时尝试预编译版本,因此您无需编译任何内容或修改包源。根据为编码选择的选项,这可能需要额外的包,例如libavcodec-extra-53。在这方面,您应该跟踪可用于的发行的默认包。您可以看到vlc 2.1.4 仅在 14.04 中,并且 13.04 和 13.10 都有版本 2.0.8。

您应该注意 Ubuntu 的发布模型不是滚动发布模型,因此您不应期望具有旧版本的尖端软件。查找上述网站会让您提前知道会发生什么。否则,正如其他人所解释的,您也可以求助于编译VLC 或添加存储库以使用更新的版本(2.1.4 在我的系统上播放 G2M4 示例)。

最后,您可以avconvlibav-tools包中尝试(提供了许多示例),该包可能受到Ubuntu 的青睐。它的工作方式与ffmpeg非常相似,所以我会尝试使用相同的选项并从那里进行调试。如果您有一个文件,则重新安装发行版以尝试播放它是没有意义的。