[已解决]Tumbleweed里的vlc无法播放wmv flv 和APE

我先装了 编解码器一键安装 ](http://opensuse-community.org) 的 KDE-codec
然后再去 videolan.org 点击 vlc.ymp 使用 tumbleweed 的 vlc。(平常这样再装同一个源里 vlc-codec 就该完事了)
但是

nothing provides libgnutls.so.28()(64bit)needed by vlc-noX-2.2.-146.1.x86_64

那么去 package search 里搜一个 libgnutls28 安装。里面有 13.2 还有 tumbleweed 的,但是一个在 port 源,一个在 Snapshot 源都出现了这种错误无法安装

导致我只能用 Packman 里的 vlc

现在 APE 可以用 mplayer 播放,但是 vlc 播不了,vlc 可以播 mp3,mp4,flac,mkv。

现在怎么让 vlc 播放 wmv flv 和 ape?

我也遇到了一样的问题,无论是 VLC 源还是 Packman 里面的 vlc 都是这个错误,系统里现在默认是 libgnutls30, 是不是可以设置一下软链接,就是不知道文件在哪里

vlc 是通过 ffmpeg 的 libavcodec 支持 ape/flv/wmv 播放的。

我看了 packman 源内 ffmpeg 是编译了以上支持的。另外 packman 里 tumbleweed 的 vlc 是根据 libgnutls30 编译的。videolan 源不是 openSUSE 管的。

所以最好贴终端是什么错误

关于 wmv 的 vlc 输出如下

➜  windiskd  vlc 1.wmv 
VLC media player 2.2.1 Terry Pratchett (Weatherwax) (revision 2.2.1-0-ga425c42)
[00000000021d30c8] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
service is "org.kde.StatusNotifierItem-3688-1"
Registering a client interface to the KStatusNotifierWatcher
[00007f2584c18f98] core decoder error: Codec `WMAP' (Windows Media Audio Professional) is not supported.
[00007f2584c18f98] core decoder error: Codec `WMV1' (Windows Media Video 7) is not supported.

这是 flv 的,它连错误都没有,只是不播放

➜  windiskd  vlc 卡农神曲连奏.flv 
VLC media player 2.2.1 Terry Pratchett (Weatherwax) (revision 2.2.1-0-ga425c42)
[00000000017e70c8] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
service is "org.kde.StatusNotifierItem-3778-1"
Registering a client interface to the KStatusNotifierWatcher

ape 也是一样的结果

➜ vlc METAL\ GEAR\ SOLID\ 2\ SONS\ OF\ LIBERTY\ ORIGINAL\ SOUNDTRACK.ape 
VLC media player 2.2.1 Terry Pratchett (Weatherwax) (revision 2.2.1-0-ga425c42)
[00000000011c30c8] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
service is "org.kde.StatusNotifierItem-4001-1"
Registering a client interface to the KStatusNotifierWatcher

我昨天看过了 packman 源里 ffmpeg 的编译情况,flv/wmv1/wmap/ape 肯定是都支持的,而 vlc 用的 ffmpeg 的 libavcodec 播放这些,所以问题肯定是:

你的 ffmpeg 不是 packman 里的,而是 tumbleweed 源里那个纯净版的 ffmpeg 。你看看我说的对不对。

我这边是别的错误,没什么能提供 libvpx.so.1()(64bit),而它为 vlc-noX-2.2.1-285.1.x86_64 所需,差了下,系统默认是使用 libvpx2 了,去 /lib64 下设了软链接 sudo ln -s libvpx.so.2 libvpx.so.1,不过仍然报错。。。

它是 Packman 源的

但是我的 Packman 源有三个,你们用的是哪个?这是我所有的源

➜  ~  sudo zypper lr -u
# | Alias                               | Name                 | Enabled | GPG Check | Refresh | URI                                                                           
--+-------------------------------------+----------------------+---------+-----------+---------+-------------------------------------------------------------------------------
1 | http-download.videolan.org-d6f5fdc5 | SuSE                 | Yes     | (r ) Yes  | Yes     | http://download.videolan.org/SuSE/Tumbleweed/                                 
2 | http-ftp.gwdg.de-83fa7be3           | Packman Repository   | Yes     | (r ) Yes  | Yes     | http://ftp.gwdg.de/pub/linux/packman/suse/openSUSE_Tumbleweed/                
3 | http-opensuse-guide.org-b385b192    | libdvdcss repository | Yes     | (r ) Yes  | Yes     | http://opensuse-guide.org/repo/openSUSE_Tumbleweed/                           
4 | packman                             | packman              | Yes     | (r ) Yes  | Yes     | http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/           
5 | packman-essentials                  | packman-essentials   | Yes     | (r ) Yes  | Yes     | http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/Essentials/
6 | repo-debug                          | repo-debug           | Yes     | (r ) Yes  | Yes     | http://download.opensuse.org/tumbleweed/repo/debug                            
7 | repo-non-oss                        | repo-non-oss         | Yes     | ( p) Yes  | Yes     | http://download.opensuse.org/tumbleweed/repo/non-oss                          
8 | repo-oss                            | repo-oss             | Yes     | (r ) Yes  | Yes     | http://download.opensuse.org/tumbleweed/repo/oss                              
9 | repo-update                         | repo-update          | Yes     | ( p) Yes  | Yes     | http://download.opensuse.org/update/tumbleweed/

我用的阿里云的packman源

@torbai

packman 源是类似 mirror.pcbeta.com/ packman/suse/ openSUSE_Tumbleweed/

essentials 什么的不用单独加,packman 源本身就是 essentials/extra/multimedia/games 的汇总。

vlc 你需要装 vlc-codecs 的。

喵。。。

我好像没回过这个帖子啊。。。。姐姐是不是 @ 错了。。。。重新 @ 一次。@Lwhite

不过我的 vlc 也有问题。。。还没去找原因

刚看了下,aliyun 的 packman 源竟然已经十几天没更新了,而且它源里的 ffmpeg 确实是阉割版的。

已经解决了,三个格式都能播放了,谢谢。现在我的源列表是这样的,只剩下 marguerite 说的那种路径的 packman 源。

1 | http-download.videolan.org-d6f5fdc5 | SuSE                 | Yes     | (r ) Yes  | Yes     | http://download.videolan.org/SuSE/Tumbleweed/                 
2 | http-ftp.gwdg.de-83fa7be3           | Packman Repository   | Yes     | (r ) Yes  | Yes     | http://ftp.gwdg.de/pub/linux/packman/suse/openSUSE_Tumbleweed/
3 | http-opensuse-guide.org-b385b192    | libdvdcss repository | Yes     | (r ) Yes  | Yes     | http://opensuse-guide.org/repo/openSUSE_Tumbleweed/           
4 | repo-debug                          | repo-debug           | Yes     | (r ) Yes  | Yes     | http://download.opensuse.org/tumbleweed/repo/debug            
5 | repo-non-oss                        | repo-non-oss         | Yes     | ( p) Yes  | Yes     | http://download.opensuse.org/tumbleweed/repo/non-oss          
6 | repo-oss                            | repo-oss             | Yes     | (r ) Yes  | Yes     | http://download.opensuse.org/tumbleweed/repo/oss              
7 | repo-update                         | repo-update          | Yes     | ( p) Yes  | Yes     | http://download.opensuse.org/update/tumbleweed/     

然后重新装一下 ffmpeg 然后连着依赖的包都选择进行 vendor change 就能解决问题。当然,会有好几个包还是 videolan 源的。


就这两个,没有 packman 源的,可以放着不管。

国内 packman 源建议用北交大的,测试速度不比 aliyun 慢,而且更新也还算及时

我现在和你一样的源,还多了几个别的,不过无论是 vlc 还是 vlc-beta,无论是 packman 源还是 VideoLan 源,都提示“没有什么能提供 libdvbpsi.so.9(64bit),而它为 vlc-noX-2.2.1-285.2.x86_64 所需”。但安装官方源的就毫无问题,我去查了下,源里默认的是 libdvbpsi10 和 libdvbpsi7, 在 software.opensuse.org 上倒是有 9,不过只有 13.2 的版本。那么问题来了,装官方的 vlc 再配上 packman 的 vlc-codes 这样可以正常使用吗

北交大的镜像 13.2 怎么就不能访问呢?
13.1, tumbleweed 都正常访问。。。

@taxuezju18 我不知道,倒是没试过这种奇妙的组合,因为官方源的播放器都会出现这个版区 置顶帖子 ](openSUSE 编解码器一键安装、常见编解码器对应软件包 / 源说明、及版权须知) 的情况。所以是不会去用的。我自己以前是用 videolan 的,可是就出了这些问题,现在改成全 packman 的了就没事了。

我以前也是用 VideoLan 的,packman 也用过,不过后来重装了 tumbleweed 之后两个源都有依赖问题

你可以选择“忽略错误”,libdvbpsi 好像是管数字视频广播的一个库,机顶盒用的,如果你用不到的话即使选择忽略也没有什么关系,软件也不会崩溃的。

obs 上面 tumbleweed 是 libdvbpsi10,而 packman 上对 tumbleweed 源编译 vlc 的时候我发现它自动引入的是 libdvbpsi9。所以应该是 packman 定期缓存的 obs 上面的 tumbleweed,而最近没有更新缓存。