vlc无法播放mkv和mp4格式

从16.04 LTS官方回购安装vlc (VLC版本2.2.2 Weatherwax)。 我有ubuntu-restricted-extras 。 video使用totem (3.18.1),但如果我尝试运行vlc -vvv file_name,它会因Segmentation fault(核心转储)而崩溃。 avi文件可以和两位玩家一起玩。

下面是我以前用于vlc和Ubuntu 14.04 LTS的设置的屏幕截图。 然后它工作正常。 我试图改变输出类型,但它没有帮助。

在此处输入图像描述

我遇到了这个问题,因为VLC试图使用VDAPU进行video解码,这导致了分段错误。 据推测,这实际上是开源Radeon驱动程序中的一个错误,但我能够通过简单地禁用硬件video解码来解决这个问题。 设置是埋藏的,只需打开VLC然后转到工具 – >首选项 – >输入/编解码器,并将硬件加速解码设置为禁用。

如果这不能解决您的特定问题,我可以通过执行以下步骤找出VDAPU的问题:

  1. ulimit -c unlimited地让Ubuntu实际创建核心转储
  2. vlc来自同一个终端
  3. 等待段错误
  4. gdb `which vlc`
  5. core core加载实际上称为core的核心文件
  6. 这给了我以下的输出:

     #0 0x00007fe128b4118e in llvm::SmallVectorTemplateBase::OptionInfo, false>::grow(unsigned long) () from /usr/lib/x86_64-linux-gnu/libLLVM-4.0.so.1 #1 0x00007fe128b4125e in ?? () from /usr/lib/x86_64-linux-gnu/libLLVM-4.0.so.1 #2 0x00007fe1067fab0a in ?? () from /usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1 #3 0x00007fe16555b4ea in call_init (l=, argc=argc@entry=2, argv=argv@entry=0x7ffecd92f6b8, env=env@entry=0x7fe138050690) at dl-init.c:72 #4 0x00007fe16555b5fb in call_init (env=0x7fe138050690, argv=0x7ffecd92f6b8, argc=2, l=) at dl-init.c:30 #5 _dl_init (main_map=main_map@entry=0x7fe10c0172c0, argc=2, argv=0x7ffecd92f6b8, env=0x7fe138050690) at dl-init.c:120 #6 0x00007fe165560712 in dl_open_worker (a=a@entry=0x7fe121f082c0) at dl-open.c:575 #7 0x00007fe16555b394 in _dl_catch_error ( objname=objname@entry=0x7fe121f082b0, errstring=errstring@entry=0x7fe121f082b8, mallocedp=mallocedp@entry=0x7fe121f082af, operate=operate@entry=0x7fe165560300 , args=args@entry=0x7fe121f082c0) at dl-error.c:187 #8 0x00007fe16555fbd9 in _dl_open ( file=0x7fe121f08540 "${ORIGIN}/vdpau/libvdpau_radeonsi.so.1", mode=-2147483390, caller_dlopen=0x7fe1095a46cc, nsid=-2, ---Type  to continue, or q  to quit--- 

#8的条目告诉我问题出在Radeon司机身上。