【不再更新此贴】下一代播放器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
3 / 7
To page
avatar
已退deepin
deepin
2020-06-29 23:52
#41
本帖最后由 user0001 于 2020-6-29 16:03 编辑
https://bbs.deepin.org/post/196456
那个......请问楼主,我打包的时候把sh脚本改成这样了:

不知道这么写会有什么问题吗?我这里安装运行好 ...

没有问题的。
这个脚本的目的其实就是设置运行的环境为打包“沙盒”自己带的lib和plugins,这样app到大部分平台都可以正常跑没有依赖。


我记得raw包里面的脚本其实是可以自动获取当前位置的。理论上不需要修改。

执行thenewplayer的时候,最终会从 thenewplayer/lib和thenewplayer/plugins中加载必要的动态库,而不会去系统中找依赖。
所以deb的control中依赖是没有的。
这样本质上其实就是一个appimage了,质差最后整合为一个大文件了。

#!/bin/sh

#获取当前脚本的完整路径
realpath="`realpath $0`"
#获取thenewplayerfree.sh中的thenewplayerfree
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 -

#设置动态库优先搜索打包文件所在的lib
#这里注释是因为在qt.conf中已经配置了。不需要这里设置。
#export LD_LIBRARY_PATH=$libpathLD_LIBRARY_PATH


#设置Qt平台插件路径
#这里注释是因为在qt.conf中已经配置了。 不需要这里设置。
#this option is in qt.conf
#pluginpath="$dirname/../plugins"
#cd $pluginpath
#pluginpath="`pwd`"
#cd -

#设置插件搜索路径
export QT_QPA_PLATFORM_PLUGIN_PATH=$pluginpath:$QT_QPA_PLATFORM_PLUGIN_PATH

#是否开启调试信息输出
#export QT_DEBUG_PLUGINS=1


# 所有设置已经完成,执行播放器真正的二进制
# 用exec是因为没有必要保留此脚本pid,这里会自动替换为真正二进制的执行pid
exec "$dirname/$appname" "$@"


Reply View the author
avatar
忘记、过去
deepin
2020-06-30 00:01
#42
https://bbs.deepin.org/post/196456
没有问题的。
这个脚本的目的其实就是设置运行的环境为打包“沙盒”自己带的lib和plugins,这样app到大部 ...

哇谢谢楼主,收藏了下次打包qt程序用的上了
Reply View the author
avatar
神末shenmo
deepin
Spark-App
Q&A Team
2020-06-30 01:15
#43
楼主若能提供Appimage包那就简单了
Reply View the author
avatar
已退deepin
deepin
2020-06-30 01:18
#44
https://bbs.deepin.org/post/196456
楼主若能提供Appimage包那就简单了

准备下个更新用AppImage格式打包。
Reply View the author
avatar
字甲达宾
deepin
2020-06-30 02:10
#45
有几个地方,下次打包 DEB 时,可以考虑修正:

1 lintian 检查 DEB 包
lintian thenewplayerfree-bin.linux.dynamic-build.1.6.6-6.amd64.deb
...
W: thenewplayerfree: missing-depends-line
E: thenewplayerfree: debian-changelog-file-missing
E: thenewplayerfree: no-copyright-file

W: thenewplayerfree: description-synopsis-starts-with-article
E: thenewplayerfree: extended-description-is-empty
E: thenewplayerfree: maintainer-address-missing sudormroot
W: thenewplayerfree: unknown-section media
...


调整 control 文件

Package: thenewplayerfree
Version: 1.6.6-6
Section: video
Priority: optional
Architecture: amd64
Depends: ffmpeg
Installed-Size: 210M
Maintainer: sudormroot <xxx@xx.com>
Description: the best IPTV/vide/iso/blue-ray player for macOS and Linux
xxx


Description 行,第一个字母不要用大写;这行最后面不要有英文标点符号(如点号,逗号,分号等。紧接着下面一行,先空一格再写内容)

-
2. 新建目录 /usr/share/doc/thenewplayerfree/, 放一个 copyright 和 changelog.Debian.gz 文件(可以参考其它软件包的样例)。
其中  changelog.Debian.gz 使用 gzip -9n 选项进行最大化压缩。

3. /usr/share/pixmaps/ 目录下,只需要一个 xxx.png 图片作为主程序图标就够了。推荐 48x48.

4. 符号链接文件,尽可能使用 DEBIAN/ 目录下的安装脚本来操作。包括:preinst (安装前执行), postinst (安装后执行);prerm (卸载前执行), postrm (卸载后执行)。这4个脚本给个 755 执行权限。
具体来说,可能需要使用其中2种: postinst 来创建符号链接,postrm 来清理失效的符号链接。
Reply View the author
Comments
user0001
2020-06-30 15:46
感谢指正,我又学到了打包的知识。对我帮助很大。
avatar
la******ng@outlook.com
deepin
2020-06-30 02:45
#46
本帖最后由 s9209122222 于 2020-6-29 18:56 编辑

阿…在 Manjaro 開啟硬解的話就會馬上崩潰,軟解雖然能播放,但顏色非常糟糕(Samsung Chasing The Light Demo)
然後 CPU 使用率還是 MPV 比較低呀!

  1. (gdb) bt
  2. #0  0x00007ffff688d969 in QString::QString(int, Qt::Initialization) () at /usr/lib/libQt5Core.so.5
  3. #1  0x00007ffff6a4ce4e in  () at /usr/lib/libQt5Core.so.5
  4. #2  0x00007ffff6891474 in QString::fromUtf8_helper(char const*, int) ()
  5.     at /usr/lib/libQt5Core.so.5
  6. #3  0x000000000045adbd in  ()
  7. #4  0x0000000000456f76 in  ()
  8. #5  0x00007ffff680be0f in  () at /usr/lib/libQt5Core.so.5
  9. #6  0x00007ffff669f422 in start_thread () at /usr/lib/libpthread.so.0
  10. #7  0x00007ffff62aabf3 in clone () at /usr/lib/libc.so.6
Copy the Code



Reply View the author
avatar
jzc
deepin
2020-06-30 04:04
#47
楼主对多媒体有深入研究,点赞  
Reply View the author
avatar
liyongjuncd
deepin
2020-06-30 04:54
#48
https://bbs.deepin.org/post/196456
准备下个更新用AppImage格式打包。

点赞。支持楼主的辛勤付出。
Reply View the author
avatar
已退deepin
deepin
2020-06-30 15:42
#49
https://bbs.deepin.org/post/196456
楼主对多媒体有深入研究,点赞

哈哈。我其实一知半解。疫情期间为了解决在macOS上看视频的问题,又不满意用现成的libmpv, VLC或者QMultimedia库,打算从底层的OpenGL渲染到编解码重新写一个。于是有了这个项目。其实我还是啥也不懂。毕竟我不是专业搞音视频编解码的。
Reply View the author
avatar
已退deepin
deepin
2020-06-30 15:45
#50
https://bbs.deepin.org/post/196456
阿…在 Manjaro 開啟硬解的話就會馬上崩潰,軟解雖然能播放,但顏色非常糟糕(Samsung Chasing The Light D ...

HEVC的硬解可能不支持,导致硬件报错。

你可能对硬件解码有误解。硬件解码的优势是速度,而非质量。对于HEVC, x265这些,特别是10bit的解码,硬件解码的精度是很低的。如果要获得更好的色彩,软件解码是高于硬件解码的。

硬件只支持几种固定格式和基线(baseline)的视频格式,无法做到所有的视频都是硬件解码。这个由显卡硬件解码引擎确定。不是由上层的软件确定的。
Reply View the author
avatar
少林寺驻武当山办事处大神父王喇嘛
deepin
2020-06-30 17:57
#51
Ubuntu20.04LTS 系统
安装以后播放视频没有声音 按照说明在设置里将默认音频输出设备改为pulse以后问题解决

希望像PotPlayer一样 加入播放速度调节的功能,同时可以自定义调整步长
Reply View the author
avatar
已退deepin
deepin
2020-06-30 18:16
#52
https://bbs.deepin.org/post/196456
官方和社区商店都欢迎投递


AppImage包已经出来啦。

https://github.com/sudormroot/th ... .6-7.amd64.AppImage
Reply View the author
avatar
已退deepin
deepin
2020-06-30 18:22
#53
https://bbs.deepin.org/post/196456
楼主辛苦了......发现一个离谱的问题......我用了某些方法去你的github上下载了新的1.6.6-6(百度云太慢 ...

我已经出了AppImage包。貌似投递更简单了。
Reply View the author
avatar
la******ng@outlook.com
deepin
2020-06-30 18:31
#54
本帖最后由 s9209122222 于 2020-6-30 10:38 编辑
https://bbs.deepin.org/post/196456
HEVC的硬解可能不支持,导致硬件报错。

你可能对硬件解码有误解。硬件解码的优势是速度,而非质量。对于 ...

硬解和軟解的結果應該是要一樣的,有差別的是硬壓和軟壓,顏色好壞應該取決於渲染器。
MPV 的 vaapi 硬解沒有這些問題。

由於不能上傳圖片,沒辦法告訴你實際上差距多大。

Reply View the author
avatar
已退deepin
deepin
2020-06-30 18:46
#55
https://bbs.deepin.org/post/196456
硬解和軟解的結果應該是要一樣的,有差別的是硬壓和軟壓,顏色好壞應該取決於渲染器。
MPV 的 vaapi 硬解 ...

thenewplayerfree的硬解可能存在bug,这个是事实。

thenewplayerfree是从底层重新实现的,没有依赖于libmpv, VLC或者Qt multimedia库
这个软解的解码和OpenGL渲染都是我手写的。我对渲染和编解码的流程应该是比很多人清楚一些的。。。


渲染器的意思是把解码后的图像,有很多格式,比如软解一般是YUV420P(plannar 422)格式,一些显卡或者处理器硬解的格式是NV12(这个也属于422,属于packed 422格式)

渲染器的意思是把这些像素用贴图的方式送到显卡,显示的方式不是CPU的代码,是所谓的shader(着色器语言)来使用GPU管线进行自动化渲染。

而解码视频的过程,先要进行解复用,所谓的demuxer,然后里面找到对应的视频流,这个时候根据硬件是否支持分别调用底层硬件API进行解码或者软解。

硬件解码的格式是固定的,浮点计算的精度是略低的。不过一般可能不仔细看是分辨不出来的。你这个问问玩高清的人,应该都知道的。
Reply View the author
avatar
已退deepin
deepin
2020-06-30 20:12
#56
v1.6.6-8 is released with the format AppImage and deb respectively. I also provide the raw package for further development purposes.

Enjoy the app!
Reply View the author
avatar
la******ng@outlook.com
deepin
2020-06-30 23:00
#57
https://bbs.deepin.org/post/196456
thenewplayerfree的硬解可能存在bug,这个是事实。

thenewplayerfree是从底层重新实现的,没有依赖于lib ...

那麼你會推薦 vaapi-copy 嗎?
這是 thenewplayerfree 軟解的結果:

這是 mpv 硬解的結果:
Reply View the author
avatar
已退deepin
deepin
2020-07-01 01:09
#58
update: v1.6.6-9
Reply View the author
avatar
la******ng@outlook.com
deepin
2020-07-01 01:31
#59
在 Kodi 論壇查到的也是說硬解和軟解沒差耶
For quality purposes, assuming we are not factoring in any kind of 'post processing' effects, no, there will be no difference. Video compression codecs are designed to all decode the same result. If one decoder gave a different output than another, that would mean something was implemented incorrectly.
Reply View the author
avatar
lenke
deepin
2020-07-01 01:36
#60
硬件降低CPU使用率,在色彩显示上也会有损失,而且是肉眼可以感觉到的。其实以现在CPU配置,硬不硬解无所谓,4k软件完全没有压力。
Reply View the author
3 / 7
To page