VLC 不支持 Linux 中的音频或视频格式“undf”

VLC 不支持 Linux 中的音频或视频格式“undf”

当我在系统中播放某些 avi 文件时VLC出现此错误:

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

我测试了其他播放器如smplayer、和totem,但是都无法播放这些文件。mplayerGnome MPlayer

我正在使用安装在 64 位多架构启用机器上的ubuntu 13.04完整更新版本。ubuntu-restricted-extras

有人对这个问题提出过疑问这里但它似乎是针对 Windows 用户并且答案不明确。

我在这里问这个问题是因为我认为这是一个普遍的 Linux 问题,而不是 ubuntu 特有的问题(应该在询问Ubuntu)。

提前致谢。

更新:

mplayer -identify我通过运行根本无法播放的文件命令所得到的输出并给出上述错误:

$ mplayer -identify myVideoFile2013.avi 
MPlayer svn r34540 (Ubuntu), built with gcc-4.7 (C) 2000-2012 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing myVideoFile2013.avi 
libavformat version 53.21.1 (external)
Mismatching header version 53.19.0
ID_VIDEO_ID=0
libavformat file format detected.
[mp3 @ 0x7fbae9eee540]Header missing
[mp3 @ 0x7fbae9eee540]Header missing
...
[mp3 @ 0x7fbae9eee540]Header missing
[mp3 @ 0x7fbaea7788c0]Estimating duration from bitrate, this may be inaccurate
ID_AUDIO_ID=0
[lavf] stream 0: audio (mp1), -aid 0
Load subtitles in ./
ID_FILENAME=myVideoFile2013.avi 
ID_DEMUXER=lavf
ID_AUDIO_FORMAT=80
ID_AUDIO_BITRATE=0
ID_AUDIO_RATE=0
ID_AUDIO_NCH=0
ID_START_TIME=unknown
ID_LENGTH=0.00
ID_SEEKABLE=1
ID_CHAPTERS=0
==========================================================================
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
libavcodec version 53.35.0 (external)
Mismatching header version 53.32.2
[mp2float @ 0x7fbae9eee540]Header missing
[mp2float @ 0x7fbae9eee540]Header missing
[mp2float @ 0x7fbae9eee540]Header missing
[mp2float @ 0x7fbae9eee540]Header missing
[mp2float @ 0x7fbae9eee540]Header missing
[mp2float @ 0x7fbae9eee540]Header missing
Unknown/missing audio format -> no sound
ADecoder init failed :(
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
[mp2 @ 0x7fbae9eee540]Header missing
[mp2 @ 0x7fbae9eee540]Header missing
[mp2 @ 0x7fbae9eee540]Header missing
[mp2 @ 0x7fbae9eee540]Header missing
[mp2 @ 0x7fbae9eee540]Header missing
[mp2 @ 0x7fbae9eee540]Header missing
Unknown/missing audio format -> no sound
ADecoder init failed :(
Requested audio codec family [mad] (afm=libmad) not available.
Enable it at compilation.
Opening audio decoder: [hwmpa] MPEG audio pass-through (fake decoder)
AUDIO: 11025 Hz, 2 ch, mpeg2, 64.0 kbit/18.14% (ratio: 8000->44100)
ID_AUDIO_BITRATE=64000
ID_AUDIO_RATE=11025
ID_AUDIO_NCH=2
Selected audio codec: [hwmpa] afm: hwmpa (MPEG audio pass-through for hardware MPEG decoders)
==========================================================================
AO: [pulse] 11025Hz 2ch s16le (2 bytes per sample)
[format] Sample format big-endian MPEG-2 not yet supported 
[libaf] Reinitialization did not work, audio filter 'format' returned error code -2
[libaf] Unable to setup filter system can not meet sound-card demands, please send a bug report. 
Couldn't find matching filter/ao format!
Audio: no sound
Video: no video

Exiting... (End of file)
ID_EXIT=EOF

通过运行文件命令,我获得的输出mplayer -identify是播放几秒钟然后停止:

$ mplayer -identify myVideoFile.avi 
MPlayer svn r34540 (Ubuntu), built with gcc-4.7 (C) 2000-2012 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing myVideoFile.avi
libavformat version 53.21.1 (external)
Mismatching header version 53.19.0
AVI file format detected.
ID_VIDEO_ID=0
[aviheader] Video stream found, -vid 0
ID_AUDIO_ID=1
[aviheader] Audio stream found, -aid 1
VIDEO:  [XVID]  624x352  24bpp  23.976 fps  1030.6 kbps (125.8 kbyte/s)
Clip info:
 Software: transcode-1.0.6
ID_CLIP_INFO_NAME0=Software
ID_CLIP_INFO_VALUE0=transcode-1.0.6
ID_CLIP_INFO_N=1
Load subtitles in ./
ID_FILENAME=myVideoFile.avi 
ID_DEMUXER=avi
ID_VIDEO_FORMAT=XVID
ID_VIDEO_BITRATE=1030640
ID_VIDEO_WIDTH=624
ID_VIDEO_HEIGHT=352
ID_VIDEO_FPS=23.976
ID_VIDEO_ASPECT=0.0000
ID_AUDIO_FORMAT=85
ID_AUDIO_BITRATE=128000
ID_AUDIO_RATE=0
ID_AUDIO_NCH=0
ID_START_TIME=0.00
ID_LENGTH=1265.43
ID_SEEKABLE=0
ID_CHAPTERS=0
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
[vdpau] Error when calling vdp_device_create_x11: 1
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 53.35.0 (external)
Mismatching header version 53.32.2
Unsupported PixelFormat 61
Unsupported PixelFormat 53
Unsupported PixelFormat 81
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
ID_VIDEO_CODEC=ffodivx
==========================================================================
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, floatle, 128.0 kbit/4.17% (ratio: 16000->384000)
ID_AUDIO_BITRATE=128000
ID_AUDIO_RATE=48000
ID_AUDIO_NCH=2
Selected audio codec: [ffmp3float] afm: ffmpeg (FFmpeg MPEG layer-3 audio)
==========================================================================
AO: [pulse] 48000Hz 2ch floatle (4 bytes per sample)
ID_AUDIO_CODEC=ffmp3float
Starting playback...
Movie-Aspect is 1.77:1 - prescaling to correct movie aspect.
ID_VIDEO_ASPECT=1.7727
VO: [xv] 624x352 => 624x352 Planar YV12 
A:  20.2 V:  20.2 A-V:  0.000 ct: -0.042 485/485  3%  0%  0.5% 0 0 
[mpeg4 @ 0x7f6d41dbf540]dc marker bit missing
[mpeg4 @ 0x7f6d41dbf540]Error at MB: 386
[mpeg4 @ 0x7f6d41dbf540]marker does not match f_code
[mpeg4 @ 0x7f6d41dbf540]ac-tex damaged at 17 2
[mpeg4 @ 0x7f6d41dbf540]Error at MB: 97
[mpeg4 @ 0x7f6d41dbf540]marker does not match f_code
[mpeg4 @ 0x7f6d41dbf540]marker does not match f_code
[mpeg4 @ 0x7f6d41dbf540]cbpc damaged at 13 17
[mpeg4 @ 0x7f6d41dbf540]Error at MB: 693
[mpeg4 @ 0x7f6d41dbf540]marker does not match f_code
[mpeg4 @ 0x7f6d41dbf540]marker does not match f_code
[mpeg4 @ 0x7f6d41dbf540]ac-tex damaged at 14 2
[mpeg4 @ 0x7f6d41dbf540]Error at MB: 94
[mpeg4 @ 0x7f6d41dbf540]marker does not match f_code
[mpeg4 @ 0x7f6d41dbf540]marker does not match f_code
[mpeg4 @ 0x7f6d41dbf540]Error at MB: 532
[mpeg4 @ 0x7f6d41dbf540]marker does not match f_code
[mpeg4 @ 0x7f6d41dbf540]marker does not match f_code
[mpeg4 @ 0x7f6d41dbf540]ac-tex damaged at 14 2
[mpeg4 @ 0x7f6d41dbf540]Error at MB: 94
[mpeg4 @ 0x7f6d41dbf540]marker does not match f_code
[mpeg4 @ 0x7f6d41dbf540]concealing 858 DC, 858 AC, 858 MV errors
A:  20.2 V:  20.2 A-V: -0.017 ct: -0.045 486/486  3%  0%  0.5% 0 0 
Exiting... (End of file)
ID_EXIT=EOF

答案1

终于我找到了答案。问题出在文件上。我文件损坏. 检查文件校验和后,我发现我的文件已损坏。

$md5sum myVideoFile.avi   #the one that gives the error
2ff0cc68fcc51ce79c0692c3df2b2228  myVideoFile.avi
$md5sum originalVideoFile.avi 
4133330d6abc8276c8feb332a211424b  originalVideoFile.avi

所有出错的文件均已损坏。再次获取文件后,一切正常,没有错误。

相关内容