让Deadbeef完美支持GBK/GB18030编码标签,彻底解决中文乱码问题,增加歌词显示

Totem,mplayer,sopcast,realplayer,bmp
头像
荒野无灯
帖子: 84
注册时间: 2009-08-11 14:16
来自: http://www.ihacklog.com
联系:

让Deadbeef完美支持GBK/GB18030编码标签,彻底解决中文乱码问题,增加歌词显示

#1

帖子 荒野无灯 » 2011-07-21 0:58

目前Deadbeef最新版本为: 0.5.1
一,让DeaDBeeF支持GBK/GB18030中文ID3标签和文件名,彻底解决乱码问题
说下,好多童鞋貌似喜欢把MP3等音乐文件的ID3 tag转为UTF-8的,对于用win7+ linux双系统的同学,建议还是不要转的好。UTF-8的东西,至少在win7的资源管理器和windows media player里会乱码。当然,如果你就是想转码或者你就是不用windows,那是你的自由。
有同学可能会说:我不用media player,我不在意资源管理器里显示问号,好吧,这也是你的自由。我这里只是讨论一种更好一点的解决方案。
PS:我不用windows media player.

有同学问“我想知道win7下什么东西会显示问号”,好吧,让你知道下:
win7_explorer_fuck_you_mm.png
win7_media_player_fuck_u.png
win7_media_player_fuck_u.png (55.93 KiB) 查看 6502 次
这是通过修改Deadbeef源码实现的。作者好像是俄罗斯人?里面只有对英文和俄文的判断,没有 考虑中文编码。。。
在论坛看到有patch可以实现显示中文GBK字符的,不过看了它源码,发现它只是通过把cp1251修改为gbk而已。这样显示中文的确是没有问题的,但是如果是俄文等使用cp1251的语言,则会显示成乱码。从追求完美的角度来讲,这样修改有些勉强。
这里我制作了一个patch,经自己测试使用没有问题:
deadbeef-0.5.1-Chinese-GB-patch.diff.gz
中文显示支持的补丁文件
(1.08 KiB) 已下载 217 次
补丁应用:

代码: 全选

cd deadbeef-0.5.1
cat ../deadbeef-0.5.1-Chinese-GB-patch.diff | patch
不想打补丁的直接下我修改好的源码吧:
deadbeef-0.5.1-modified.tar.bz2
已经打好deadbeef-0.5.1-Chinese-GB-patch补丁的源码
(2.2 MiB) 已下载 234 次
PS:
在我使用的Archlinux + xfce4 环境下,貌似自己下载源码编译后播放的图标没法显示,于是hack了一下(有些勉强,呵呵),如果你是用gnome或KDE那就按你自己的系统hack之了:
deadbeef-0.5.1-archlinux-gtkui-patch.diff.gz
Archlinux+Xfce deadbeef图标无法的patch
(457 Bytes) 已下载 86 次

二,增加歌词显示
这里要用到两个插件,一个给deadbeef添加dbus支持的插件deadbeef-mpris,另一个则是显示歌词的插件lrcShow-X(基于pyqt开发)

deadbeef-mpris下载地址:http://sourceforge.net/projects/deadbeef-mpris/
https://code.google.com/p/deadbeef-mpris-plugin
目前最新版是2.1 ,下载后解压目录到deadbeef源码的plugins目录下面,然后跳转到该目录,然后:

代码: 全选

./configure --prefix=你编译deadbeef时的PREFIX
make
sudo make install
lrcShow-X下载地址:
https://launchpad.net/lrcshow-x
下载后解压运行 lrcShow-X.py 即可。
如果没有安装过pyqt,先安装一下,不然无法运行:
archlinux用户:

代码: 全选

sudo pacman -S python2-pyqt
ubuntu用户,自己搜索下 pyqt 安装吧:

代码: 全选

sudo apt-get install python-qt4 
好了,秀一下歌词秀吧:

背景透明歌词秀+完美中文显示:
deadbeef-lrcShow-X.png
全屏歌词显示效果:
deadbeef-lrcShow-X-fullscreen.png
OSD显示模式:
deadbeef-lrcShow-X-OSD-mode.png
deadbeef-lrcShow-X-OSD-mode.png (34.31 KiB) 查看 6632 次
本文来自:荒野无灯weblog[/size]
上次由 荒野无灯 在 2011-07-21 14:30,总共编辑 4 次。

代码: 全选

$荒野无灯=new PHPer();
http://www.ihacklog.com
头像
tang.zhe
帖子: 1505
注册时间: 2010-07-15 13:31

Re: 让Deadbeef完美支持GBK/GB18030编码标签,彻底解决中文乱码问题,增加歌词显示

#3

帖子 tang.zhe » 2011-07-21 8:56

来个全功能的deb包,照顾一下菜鸟吧 :em11
头像
wtry
帖子: 923
注册时间: 2009-03-18 9:26

Re: 让Deadbeef完美支持GBK/GB18030编码标签,彻底解决中文乱码问题,增加歌词显示

#4

帖子 wtry » 2011-07-21 8:59

如果直接支持dbus的话可不可以让osd-lyrics支持呢……………… :em06 :em06
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 让Deadbeef完美支持GBK/GB18030编码标签,彻底解决中文乱码问题,增加歌词显示

#5

帖子 eexpress » 2011-07-21 9:10

看你折腾这么多。转下utf8,一句话的事情,也试试。
● 鸣学
头像
leeaman
帖子: 30702
注册时间: 2007-02-02 18:14
系统: debian sid

Re: 让Deadbeef完美支持GBK/GB18030编码标签,彻底解决中文乱码问题,增加歌词显示

#6

帖子 leeaman » 2011-07-21 9:18

删除idv标签,也是一句话的事 :em04
醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)
头像
荒野无灯
帖子: 84
注册时间: 2009-08-11 14:16
来自: http://www.ihacklog.com
联系:

Re: 让Deadbeef完美支持GBK/GB18030编码标签,彻底解决中文乱码问题,增加歌词显示

#7

帖子 荒野无灯 » 2011-07-21 11:48

eexpress 写了:看你折腾这么多。转下utf8,一句话的事情,也试试。
嗯,这个我也知道。不过,在linux下utf-8,在win7下面显示是问号,因此,还是让它保持原编码比较好。

代码: 全选

$荒野无灯=new PHPer();
http://www.ihacklog.com
头像
qy117121
论坛版主
帖子: 50587
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: 让Deadbeef完美支持GBK/GB18030编码标签,彻底解决中文乱码问题,增加歌词显示

#8

帖子 qy117121 » 2011-07-21 11:48

楼主又更新了啊
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

邮箱 chuan@ubuntu.org.cn
头像
荒野无灯
帖子: 84
注册时间: 2009-08-11 14:16
来自: http://www.ihacklog.com
联系:

Re: 让Deadbeef完美支持GBK/GB18030编码标签,彻底解决中文乱码问题,增加歌词显示

#9

帖子 荒野无灯 » 2011-07-21 11:51

tang.zhe 写了:来个全功能的deb包,照顾一下菜鸟吧 :em11
目前没有用Ubuntu哦,因此只发了源码包。

代码: 全选

$荒野无灯=new PHPer();
http://www.ihacklog.com
长头发的和尚
帖子: 12134
注册时间: 2008-01-11 17:02

Re: 让Deadbeef完美支持GBK/GB18030编码标签,彻底解决中文乱码问题,增加歌词显示

#10

帖子 长头发的和尚 » 2011-07-21 12:02

自己手动转utf-8
你往幸福的方向挥挥手,从此我便追随你永不回头。
头像
nyfair
帖子: 1067
注册时间: 2007-12-07 12:49
系统: winnux10
来自: Tree New Bee

Re: 让Deadbeef完美支持GBK/GB18030编码标签,彻底解决中文乱码问题,增加歌词显示

#11

帖子 nyfair » 2011-07-21 12:12

荒野无灯 写了:
eexpress 写了:看你折腾这么多。转下utf8,一句话的事情,也试试。
嗯,这个我也知道。不过,在linux下utf-8,在win7下面显示是问号,因此,还是让它保持原编码比较好。
我想知道win7下什么东西会显示问号,我在win7上用fb2k,linux上用deadbeef,编码都用的utf-8,从来没见过乱码问题
本人在此论坛仅负责吐槽,问题急需解决请支付宝转账5毛至{我的id@qq.com},将会竭诚为您服务

linux常见多媒体问题处理指南

1. 视频播放有问题->卸载gstreamer
2. 音频播放有问题->卸载pulseaudio
3. 远程播放有问题->卸载avahi
4. 系统全都有问题->卸载systemd,远离Lennart这傻逼让你从此轻松自在

⇩自由网络⇩
https://github.com/nyfair/freeweb
头像
荒野无灯
帖子: 84
注册时间: 2009-08-11 14:16
来自: http://www.ihacklog.com
联系:

Re: 让Deadbeef完美支持GBK/GB18030编码标签,彻底解决中文乱码问题,增加歌词显示

#12

帖子 荒野无灯 » 2011-07-21 14:21

nyfair 写了:
荒野无灯 写了:
eexpress 写了:看你折腾这么多。转下utf8,一句话的事情,也试试。
嗯,这个我也知道。不过,在linux下utf-8,在win7下面显示是问号,因此,还是让它保持原编码比较好。
我想知道win7下什么东西会显示问号,我在win7上用fb2k,linux上用deadbeef,编码都用的utf-8,从来没见过乱码问题
foobar 和 ttplayer是另外一回事,但是你要承认乱码是有的。我没有说fb 和ttplayer乱码,我又不是没用过。

代码: 全选

$荒野无灯=new PHPer();
http://www.ihacklog.com
头像
Strange
帖子: 1824
注册时间: 2006-05-19 9:54
来自: Shanghai

Re: 让Deadbeef完美支持GBK/GB18030编码标签,彻底解决中文乱码问题,增加歌词显示

#13

帖子 Strange » 2011-07-21 14:35

原来xfce下不能显示系统托盘图标是大家都有的问题啊,我还一度以为没有这个功能呢...
ニンニク入れますか?
x60 with gentoo
头像
qy117121
论坛版主
帖子: 50587
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: 让Deadbeef完美支持GBK/GB18030编码标签,彻底解决中文乱码问题,增加歌词显示

#14

帖子 qy117121 » 2011-07-21 14:41

前段时间 刚把mp3都转成utf8的了 :em06
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

邮箱 chuan@ubuntu.org.cn
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 让Deadbeef完美支持GBK/GB18030编码标签,彻底解决中文乱码问题,增加歌词显示

#15

帖子 eexpress » 2011-07-21 14:49

id3v2也没支持编码的字段。所以,其实id3的乱码是无解的。除开统一一个规则,或者新出一个版本。

你这方法,也只是假设某编码嘛。所以,也不是长久的。
● 鸣学
回复