【不再更新此贴】下一代播放器NextPlayer更新到1.6.11
Tofloor
poster avatar
已退deepin
deepin
2020-06-29 02:30
Author
本帖最后由 user0001 于 2020-7-16 11:44 编辑

原帖已经满了,重开一帖

目前TheNewPlayer已经支持3个操作系统了:macOS, Linux and FreeBSD

项目主页:
https://github.com/sudormroot/nextplayer-project
欢迎给我打星星

如何加入源?
TNP的所有操作都是拖拽。
(可以看主贴)
直接把txt/m3u/m3u8格式的源拖拽到主窗口即可!
其它的mkv等文件播放也是直接拖拽!

如何自定义皮肤和播放控制样式:
https://bbs.deepin.org/post/197249
无声音问题已经彻底解决:
1. 请先尝试选择声音设备位pulseaudio或者其它设备。    记得重启软件才能生效!

2. 如果不能解决,原因是节目的采样率和Qt返回的声卡的最优最接近采样率不匹配的问题。
如果遇到问题,请在“偏好设置”->声音中启用“转换采样率和采样位数”












欢迎大家任意转载,投递

目标:
开发下一代美观的macOS风格播放器,支持Linux, macOS, freeBSD, Android



功能:
1. 支持硬件解码(macOS采用videotoolbox框架,Linux下支持VAAPI硬件加速,NVIDIA的nvdec框架)。
2. 支持txt/m3u/m3u8格式的节目列表文件
3. 支持各种本地各地格式
4. 支持10bit HEVC硬解(依赖于硬件)
5. 支持全景立体声(播放时候按下y可以切换到全景立体声),可能是UNIX平台下唯一可以支持全景立体是的播放器了,其它的都是转码为2通道输出。
注意:此功能需要声卡支持,而且物理输出必须是独立的物理5+1/6+1通道!
6. 支持内置,外挂字幕。
7. 支持内置外挂的特效字幕

用法:
1. 对于直播,直接将节目列表文件(txt/m3u/m3u8格式)拖入窗口即可。

2. 对于本地视频,直接将文件或者剧集的文件夹拖入窗口即可自动倒入所有视频。
3. 对于本地视频文件,可以直接双击或者右键也可以打开。

快捷键(可以绑定遥控器):

q                 退出

空格             暂停/继续

f                  全屏幕

ESC             退出全屏幕

上下键          增降音量

左右键          回退/快进

a                 切换音轨

s                 切换字幕

v                 切换视频质量

i                  显示信息




从github下载
https://github.com/sudormroot/thenewplayer_builds/releases


较老的Linux请到这下载, 例如Deepin V15
https://bbs.deepin.org/post/196930

Linux版本下载:

升级版本后请复位配置,或者先禁止硬件解码,或者在设置->视频中选择合适的硬件加速方法:
rm ~/.config/thenewplayer/user.conf

v1.6.11-1
链接: https://pan.baidu.com/s/1-6ADXxGh7mYQtscQNvhehg提取码: s28p

FreeBSD版本下载:
https://github.com/sudormroot/thenewplayer_builds/releases

macOS版本下载:
v1.6.11
链接: https://pan.baidu.com/s/1ME8ehctGj8V29yxfxhdLQw 提取码: j48d

无声音解决:

原帖(只更新到1.6.6-6为止)


Deepin播放截图:

TNP播放纪录片《大猫》截图:


TNP播放纪录片x264格式《雷克萨海》纪录片


TNP播放废土世界题材电影《邮差》截图






Ubuntu 20.04截图:

本地视频美剧《骑士陨落》截图:


本地播放BBC纪录片截图。



本地播放BBC纪录片《最初的生命》截图








软解CPU对比(TheNewPlayerFree vs mpv)









FreeBSD 11






流畅切换字幕与音频轨




























Reply Favorite View the author
All Replies
2 / 7
To page
avatar
已退deepin
deepin
2020-06-29 19:56
#21
https://bbs.deepin.org/post/196456
thenewplayerfree-bin.linux.dynamic-build.1.6.6-6.amd64.deb安装后不能播放:辽宁卫视蓝光,http://ott.fj ...

您这是你的源的问题,和播放器无关。
和本地文件不同,直播源没有人可以保证每个源都是一定可以播放的。

[tcp @ 0x7fca19d4a380] Connection to tcp://183.252.176.88:80 failed: Operation timed out
http://ott.fj.chinamobile.com/PL ... /3221225947/1.m3u8: Operation timed out
    nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   
Reply View the author
avatar
已退deepin
deepin
2020-06-29 19:58
#22
https://bbs.deepin.org/post/196456
我推测你的启动方式,是在命令行下运行命令 thenewplayerfree , 而不是点击菜单中的程序项。

技术分析: ...

谢谢。我修正这个问题。

之所以要用thenewplayerfree.sh来启动thenewplayerfree,是因为wide可能会打包对应的解码器、独立支持库、Qt运行时等。需要设置一些运行变量。所以目前不直接运行二进制文件
Reply View the author
avatar
已退deepin
deepin
2020-06-29 20:04
#23
https://bbs.deepin.org/post/196456
楼主的新一播放器比之前版本好用多了!之前不能播放的源也能顺利播放!就是启动速度好慢!界面上能添加上下 ...

内存问题是因为节目列表加载太大,如果节目源太大全部加载到内存的话会占用很大的空间。下个版本会改成sqlite数据库管理的方式,每次只加载需要的几个源,其它的在磁盘上按需加载。
启动慢是因为目前打开节目是同步的。以后会改为异步的,就可以秒开了。
Reply View the author
avatar
已退deepin
deepin
2020-06-29 20:09
#24
https://bbs.deepin.org/post/196456
我推测你的启动方式,是在命令行下运行命令 thenewplayerfree , 而不是点击菜单中的程序项。

技术分析: ...

最新的启动脚本是这个,可以解决这个问题。

#!/bin/sh

realpath="`realpath $0`"
appname=`basename $realpath | cut -d. -f1`

dirname=`dirname $realpath`
cd $dirname
dirname="`pwd`"
cd -

tmp="${dirname#?}"

if [ "${dirname%$tmp}" != "/" ]; then
    dirname=$PWD/$dirname
fi

libpath="$dirname/../lib"
cd $libpath
libpath="`pwd`"
cd -

export LD_LIBRARY_PATH=$libpathLD_LIBRARY_PATH


#this option is in qt.conf
#pluginpath="$dirname/../plugins"
#cd $pluginpath
#pluginpath="`pwd`"
#cd -

export QT_QPA_PLATFORM_PLUGIN_PATH=$pluginpathQT_QPA_PLATFORM_PLUGIN_PATH

#export QT_DEBUG_PLUGINS=1

exec "$dirname/$appname" "$@"
Reply View the author
avatar
已退deepin
deepin
2020-06-29 20:16
#25
https://bbs.deepin.org/post/196456
官方和社区商店都欢迎投递

社区商店是要把app安装到/opt/durapps/下面么?我打包一个裸的tgz(目录结构我都做好),你能帮我放到社区商店么?
Reply View the author
avatar
已退deepin
deepin
2020-06-29 20:31
#26
https://bbs.deepin.org/post/196456
首先支持一下楼主,感谢楼主的辛苦移植。

我看一下。我的代码没有任何写死的路径。我给你做一个裸的目录结构,不做成deb,我做成tar.gz发给你
Reply View the author
avatar
mcaoser
deepin
2020-06-29 20:38
#27
macOS,deepin,uos,kubuntu都测试可用,超赞,希望继续更新,将界面和操作体验做得更完美.
Reply View the author
avatar
mcaoser
deepin
2020-06-29 20:39
#28
能弄一个RPM包更好,省得自己编译,哈哈
Reply View the author
Comments
user0001
2020-06-30 18:27
你可以试试AppImage包。
avatar
kingskill
deepin
2020-06-29 20:43
#29
https://bbs.deepin.org/post/196456
其实我挺想适配一下主流的Linux 版本的:Fedora,Ubuntu,Arch,Debian,Deepin等
不过我手头没有PC机, ...

只要匹配了debian sid或者其他debian,基本上deepin都可以运行了。

您只需要推出个debian版本就可以了。
Reply View the author
avatar
海天鹰
deepin
2020-06-29 21:23
#30
没声音,界面丑,打开文件在哪?
Reply View the author
Comments
s9209122222
2020-06-30 03:08
真的是簡陋到不能再簡陋,MPV 是看起來很簡潔,但功能超強大。
avatar
已退deepin
deepin
2020-06-29 21:33
#31
https://bbs.deepin.org/post/196456
没声音,界面丑,打开文件在哪?

直接拖进去就可以了,不需要多余菜单。
Reply View the author
avatar
已退deepin
deepin
2020-06-29 21:56
#32
https://bbs.deepin.org/post/196456
首先支持一下楼主,感谢楼主的辛苦移植。

链接: https://pan.baidu.com/s/1iptpoD-158iW16VCi6DDkA 提取码: tjni

我给你打包了一个裸包,解开后就是buildroot-durapps/

你可以重新封为AppImage或者其它格式。

buildroot-durapps/
├── DEBIAN
│   ├── control
│   └── md5sums
├── opt
│   └── durapps
│       └── thenewplayerfree
│           ├── bin
│           │   ├── images -> ../share/images
│           │   ├── languages -> ../share/languages
│           │   ├── licenses -> ../share/licenses
│           │   ├── qt.conf -> ../etc/qt.conf
│           │   ├── thenewplayerfree
│           │   └── thenewplayerfree.sh
│           ├── etc
│           │   └── qt.conf
│           ├── lib
│           └── share
│               ├── images
│               │   ├── logo.png
│               │   ├── thenewplayerfree_128x128.png
│               │   ├── thenewplayerfree_256x256.png
│               │   ├── thenewplayerfree_32x32.png
│               │   ├── thenewplayerfree_48x48.png
│               │   └── thenewplayerfree_64x64.png
│               ├── languages
│               │   ├── English.qm
│               │   ├── English.ts
│               │   ├── Simplified-Chinese.qm
│               │   └── Simplified-Chinese.ts
│               ├── licenses
│               │   └── self
│               │       └── LICENSE
│               ├── thenewplayerfree.desktop
│               └── version.txt
└── usr
    ├── local
    │   └── bin
    │       └── thenewplayerfree -> ../../../opt/durapps/thenewplayerfree/bin/thenewplayerfree.sh
    └── share
        ├── applications
        │   └── thenewplayerfree.desktop
        └── pixmaps
            ├── logo.png
            ├── thenewplayerfree_128x128.png
            ├── thenewplayerfree_256x256.png
            ├── thenewplayerfree_32x32.png
            ├── thenewplayerfree_48x48.png
            └── thenewplayerfree_64x64.png
Reply View the author
avatar
已退deepin
deepin
2020-06-29 22:02
#33
https://bbs.deepin.org/post/196456
能弄一个RPM包更好,省得自己编译,哈哈

你可以下载这个1.6.6-6的裸包自己打包为rpm, 里面的动态库、插件依赖和启动脚本我都做好了。
链接: https://pan.baidu.com/s/1iptpoD-158iW16VCi6DDkA 提取码: tjni
Reply View the author
avatar
忘记、过去
deepin
2020-06-29 22:51
#34
https://bbs.deepin.org/post/196456
链接: https://pan.baidu.com/s/1iptpoD-158iW16VCi6DDkA 提取码: tjni

我给你打包了一个裸包,解开后就 ...

楼主辛苦了......发现一个离谱的问题......我用了某些方法去你的github上下载了新的1.6.6-6(百度云太慢了......),然后重新拆包打包......明明和昨天晚上操作完全一致,但是这次就没有任何问题......

我实在是搞不懂为啥了......唯一的可能性就是昨天打包的时候,不小心把DEBIAN里面的md5sums一起打包进去了......昨晚一开始是用Debreate打包,但是这个软件处理软连接的时候会把源文件复制过去打包,后来重新拆包还原的时候估计出问题了......

现在已经打包完了,运行基本没有问题,晚点会上架社区商店。再次感谢楼主!
Reply View the author
avatar
已退deepin
deepin
2020-06-29 22:53
#35
https://bbs.deepin.org/post/196456
楼主辛苦了......发现一个离谱的问题......我用了某些方法去你的github上下载了新的1.6.6-6(百度云太慢 ...

谢谢。我后续也会发布路径无关的裸包给社区,方便打包为其它格式。
Reply View the author
avatar
已退deepin
deepin
2020-06-29 22:56
#36
https://bbs.deepin.org/post/196456
楼主辛苦了......发现一个离谱的问题......我用了某些方法去你的github上下载了新的1.6.6-6(百度云太慢 ...

我这个包里面唯一路径写死的就是desktop文件了。
Reply View the author
avatar
字甲达宾
deepin
2020-06-29 23:11
#37
https://bbs.deepin.org/post/196456
最新的启动脚本是这个,可以解决这个问题。

#!/bin/sh

注意控制一个可能的风险:

如果用户在当前终端下运行不带完整路径的命令,而当前文件夹又带有空格或者特殊字符,可能产生未知风险

  1. #!/bin/sh

  2. realpath="`realpath $0`"
  3. appname=`basename $realpath | cut -d. -f1`

  4. dirname=`dirname $realpath`
  5. cd $dirname
  6. dirname="`pwd`"
Copy the Code


示例:
  1. user@debian:~/abc 123$ dirname `realpath $0`
  2. /home/user
  3. 123
Copy the Code

  1. user@debian:~/abc 123$ dirname "`realpath $0`"
  2. /home/user/abc 123
Copy the Code

Reply View the author
avatar
已退deepin
deepin
2020-06-29 23:28
#38
https://bbs.deepin.org/post/196456
注意控制一个可能的风险:

如果用户在当前终端下运行不带完整路径的命令,而当前文件夹又带有空格或者特 ...

谢谢指出!
Reply View the author
avatar
神末shenmo
deepin
Spark-App
Q&A Team
2020-06-29 23:42
#39
https://bbs.deepin.org/post/196456
我看一下。我的代码没有任何写死的路径。我给你做一个裸的目录结构,不做成deb,我做成tar.gz发给你 ...

可以的,我们这边有人员会打包的
Reply View the author
avatar
忘记、过去
deepin
2020-06-29 23:44
#40

那个......请问楼主,我打包的时候把sh脚本改成这样了:
  1. #!/bin/sh

  2. appname='thenewplayerfree'
  3. dirname='/opt/durapps/thenewplayerfree/bin'

  4. tmp="${dirname#?}"
  5. if [ "${dirname%$tmp}" != "/" ]; then
  6.     dirname=$PWD/$dirname
  7. fi

  8. libpath='$dirname/../lib'
  9. export LD_LIBRARY_PATH=$libpath:$LD_LIBRARY_PATH

  10. #this option is in qt.conf
  11. #pluginpath="$dirname/../plugins"
  12. export QT_QPA_PLATFORM_PLUGIN_PATH=$pluginpath:$QT_QPA_PLATFORM_PLUGIN_PATH

  13. #export QT_DEBUG_PLUGINS=1

  14. $dirname/$appname "$@"
Copy the Code

不知道这么写会有什么问题吗?我这里安装运行好像没发现啥问题......就是改成绝对路径了......
Reply View the author
2 / 7
To page