如何在Linux上观看手机视频(3gp,mov)

如何在Linux上观看手机视频(3gp,mov)

我可能忽略了一些显而易见的东西,但我在 Linux 上观看 .3gp 视频(用我的 Android 手机拍摄)或 .mov 视频(我的朋友用他们的 iOS 设备发送给我)时遇到了很大麻烦。我运行的是 OpenSUSE 11.3。

以朋友发给我的这个 .mov 文件为例:

[nathanb@nathanb-box ~/tmp] ffmpeg -i IMG_0543.MOV                                                                                
FFmpeg version SVN-r201104161305, Copyright (c) 2000-2011 the FFmpeg developers                                                   
  built on Apr 16 2011 11:36:21 with gcc 4.4.1 [gcc-4_4-branch revision 150839]                                                   
  configuration: --shlibdir=/usr/lib64 --prefix=/usr --mandir=/usr/share/man --libdir=/usr/lib64 --enable-shared --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libxvid --enable-postproc --enable-gpl --enable-x11grab --extra-cflags='-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -fPIC -I/usr/include/gsm' --enable-debug --disable-stripping --enable-libgsm --enable-libschroedinger --enable-libdirac --enable-avfilter --enable-libvpx --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libdc1394 --enable-pthreads --enable-librtmp                                                                                                        
  libavutil    50. 40. 1 / 50. 40. 1                                                                                                                         
  libavcodec   52.119. 1 / 52.119. 1
  libavformat  52.108. 0 / 52.108. 0
  libavdevice  52.  4. 0 / 52.  4. 0
  libavfilter   1. 79. 0 /  1. 79. 0
  libswscale    0. 13. 0 /  0. 13. 0
  libpostproc  51.  2. 0 / 51.  2. 0

Seems stream 1 codec frame rate differs from container frame rate: 1200.00 (1200/1) -> 30.00 (30/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'IMG_0543.MOV':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    creation_time   : 2011-05-26 19:38:43
    encoder         : 4.2.1
    encoder-eng     : 4.2.1
    date            : 2011-05-26T15:36:19-0400
    date-eng        : 2011-05-26T15:36:19-0400
  Duration: 00:00:06.33, start: 0.000000, bitrate: 804 kb/s
    Stream #0.0(und): Audio: aac, 44100 Hz, mono, s16, 63 kb/s
    Metadata:
      creation_time   : 2011-05-26 19:38:43
    Stream #0.1(und): Video: h264 (Baseline), yuv420p, 480x272, 734 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc
    Metadata:
      creation_time   : 2011-05-26 19:38:43
At least one output file must be specified

如果我尝试在 vlc 中播放它,我会得到

No suitable decoder module:
VLC does not support the audio or video format "h264". Unfortunately there is no way for you to fix this.

我尝试使用 ffmpeg 和 mencoder 将其转码为可以观看的内容,但所有尝试都失败了。我是不是做错了什么?我以为 VLC 几乎可以播放所有东西。

我尝试过的例子:

ffmpeg -i IMG_0543.MOV -acodec copy -vcodec libx264 out.avi
ffmpeg -i IMG_0543.MOV -acodec copy -vcodec libxvid out.avi
ffmpeg -i IMG_0543.MOV -acodec libmp3lame -vcodec libxvid out.avi
mencoder IMG_0543.MOV -ovc lavc -oac mp3lame -o out.avi

这些都没有生成可以用 vlc 或 mplayer 播放的文件。

我可能只是做了一些蠢事。有什么想法吗?

答案1

确保您已经安装了来自 packman(而不是来自官方存储库)的编解码器/包。

packman 的 Mplayer、libxine、vlc 和 gstreamer 应该可以毫无问题地播放这些格式。

http://en.opensuse.org/Additional_package_repositories#Packman

相关内容