Git Product home page Git Product logo

beyondplayer's Introduction

image

BeyondPlayer (originally called Source Player) is an open source video player for English learner. It supports almost all common video types and playback functionalities.

What makes it unique is its dedicated features for English study, such as:

  • View definition in pop-up dictionary
  • Drag and select to loop lines
  • Save video clip to clip library
  • Highly configurable web dictionaries
  • YouTube player and browser
  • Collect word to word book and word list
  • Blur out hardcoded subtitle
  • Automatically hide subtitle
  • Automatically download subtitles

See Product Page or BeyondPlayer Wiki for more about this app.

For the moment, it supports MacOS only, but I hope it will support Windows soon.


Install dependencies

# Before installing the dependencies, make sure you have nodejs (12.x), yarn, xcode installed.

cd {PROJECT_ROOT}/scripts
./install_mpvjs.sh

Debug

cd {PROJECT_ROOT}/src
npm run dev

Then Press F5 in Visual Studio Code

Build

Dev Build

# Before building it, make sure you have electron-packager installed globally (by npm install electron-packager -g)

cd {PROJECT_ROOT}/scripts
./build_dev.sh

If everything goes as planned, you will find the dev build under {PROJECT_ROOT}/build.


License

BeyondPlayer is based on mpv.js and Electron, for complete open source softwares used by this app, see Open Source Software Attribution


Acknowlegement

BeyondPlayer leveraged OpenSubtitle API for subtitle searching and downloading.

beyondplayer's People

Contributors

circleapps avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

beyondplayer's Issues

FeatureRequest: Chrome Extension - Open in BeyondPlayer.app

Hi,

Thanks for this great app, I use it a lot.

Is there any plan to create a chrome extension to open Youtube or other video links in BeyondPlayer Pro like the IINA.app and IINA.app have provide?

It would be much more easier to directly open a video in Beyondplayer via a Browser Extension than "copy the link - open beyondplayer - insert the link” thing.

Below are Chrome extensions mentioned above:

Open In IINA - Chrome Web Store - https://chrome.google.com/webstore/detail/open-in-iina/pdnojahnhpgmdhjdhgphgdcecehkbhfo?hl=en

Watch with MPV - Chrome Web Store - https://chrome.google.com/webstore/detail/watch-with-mpv/gbgfakmgjoejbcffelendicfedkegllf?hl=en

Sincerely,
zqso

在线YouTube分辨率问题

希望能选择分辨率,在浏览器上很清晰,可以选择,播放器粘贴地址后播放分辨率低。

安装失败

(base) ➜ scripts git:(master) ./install_mpvjs.sh
npm ERR! prepareGitDep 1>
npm ERR! prepareGitDep > [email protected] install /Users/chenjianhong/.npm/_cacache/tmp/git-clone-d7a2a807/node_modules/husky
npm ERR! prepareGitDep > node husky install
npm ERR! prepareGitDep
npm ERR! prepareGitDep husky > Setting up git hooks
npm ERR! prepareGitDep ENOENT: no such file or directory, mkdir '.git/hooks'
npm ERR! prepareGitDep husky > Failed to install
npm ERR! prepareGitDep
npm ERR! prepareGitDep > [email protected] install /Users/chenjianhong/.npm/_cacache/tmp/git-clone-d7a2a807/node_modules/sqlite3
npm ERR! prepareGitDep > node-pre-gyp install --fallback-to-build
npm ERR! prepareGitDep
npm ERR! prepareGitDep Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/Users/chenjianhong/.npm/_cacache/tmp/git-clone-d7a2a807/node_modules/sqlite3/lib/binding/node-v83-darwin-x64/node_sqlite3.node --module_name=node_sqlite3 --module_path=/Users/chenjianhong/.npm/_cacache/tmp/git-clone-d7a2a807/node_modules/sqlite3/lib/binding/node-v83-darwin-x64 --napi_version=7 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v83' (1)
npm ERR! prepareGitDep
npm ERR! prepareGitDep 2> npm WARN install Usage of the --dev option is deprecated. Use --also=dev instead.
npm ERR! prepareGitDep npm WARN deprecated @babel/[email protected]: 🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information.
npm ERR! prepareGitDep npm WARN deprecated [email protected]: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
npm ERR! prepareGitDep npm WARN deprecated [email protected]: core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
npm ERR! prepareGitDep npm WARN deprecated [email protected]: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm ERR! prepareGitDep npm WARN deprecated [email protected]: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future
npm ERR! prepareGitDep npm WARN deprecated [email protected]: request has been deprecated, see request/request#3142
npm ERR! prepareGitDep npm WARN deprecated [email protected]: this library is no longer supported
npm ERR! prepareGitDep node-pre-gyp WARN Using request for node-pre-gyp https download
npm ERR! prepareGitDep node-pre-gyp WARN Tried to download(403): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v4.1.1/node-v83-darwin-x64.tar.gz
npm ERR! prepareGitDep node-pre-gyp WARN Pre-built binaries not found for [email protected] and [email protected] (node-v83 ABI, unknown) (falling back to source compile with node-gyp)
npm ERR! prepareGitDep No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.
npm ERR! prepareGitDep No receipt for 'com.apple.pkg.DeveloperToolsCLILeo' found at '/'.
npm ERR! prepareGitDep No receipt for 'com.apple.pkg.DeveloperToolsCLI' found at '/'.
npm ERR! prepareGitDep
npm ERR! prepareGitDep
npm ERR! prepareGitDep
npm ERR! prepareGitDep gyp: No Xcode or CLT version detected!
npm ERR! prepareGitDep gyp ERR! configure error
npm ERR! prepareGitDep gyp ERR! stack Error: gyp failed with exit code: 1
npm ERR! prepareGitDep gyp ERR! stack at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
npm ERR! prepareGitDep gyp ERR! stack at ChildProcess.emit (events.js:315:20)
npm ERR! prepareGitDep gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
npm ERR! prepareGitDep gyp ERR! System Darwin 19.6.0
npm ERR! prepareGitDep gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/Users/chenjianhong/.npm/_cacache/tmp/git-clone-d7a2a807/node_modules/sqlite3/lib/binding/node-v83-darwin-x64/node_sqlite3.node" "--module_name=node_sqlite3" "--module_path=/Users/chenjianhong/.npm/_cacache/tmp/git-clone-d7a2a807/node_modules/sqlite3/lib/binding/node-v83-darwin-x64" "--napi_version=7" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v83"
npm ERR! prepareGitDep gyp ERR! cwd /Users/chenjianhong/.npm/_cacache/tmp/git-clone-d7a2a807/node_modules/sqlite3
npm ERR! prepareGitDep gyp ERR! node -v v14.15.3
npm ERR! prepareGitDep gyp ERR! node-gyp -v v5.1.0
npm ERR! prepareGitDep gyp ERR! not ok
npm ERR! prepareGitDep node-pre-gyp ERR! build error
npm ERR! prepareGitDep node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/Users/chenjianhong/.npm/_cacache/tmp/git-clone-d7a2a807/node_modules/sqlite3/lib/binding/node-v83-darwin-x64/node_sqlite3.node --module_name=node_sqlite3 --module_path=/Users/chenjianhong/.npm/_cacache/tmp/git-clone-d7a2a807/node_modules/sqlite3/lib/binding/node-v83-darwin-x64 --napi_version=7 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v83' (1)
npm ERR! prepareGitDep node-pre-gyp ERR! stack at ChildProcess. (/Users/chenjianhong/.npm/_cacache/tmp/git-clone-d7a2a807/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
npm ERR! prepareGitDep node-pre-gyp ERR! stack at ChildProcess.emit (events.js:315:20)
npm ERR! prepareGitDep node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1048:16)
npm ERR! prepareGitDep node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
npm ERR! prepareGitDep node-pre-gyp ERR! System Darwin 19.6.0
npm ERR! prepareGitDep node-pre-gyp ERR! command "/usr/local/bin/node" "/Users/chenjianhong/.npm/_cacache/tmp/git-clone-d7a2a807/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
npm ERR! prepareGitDep node-pre-gyp ERR! cwd /Users/chenjianhong/.npm/_cacache/tmp/git-clone-d7a2a807/node_modules/sqlite3
npm ERR! prepareGitDep node-pre-gyp ERR! node -v v14.15.3
npm ERR! prepareGitDep node-pre-gyp ERR! node-pre-gyp -v v0.11.0
npm ERR! prepareGitDep node-pre-gyp ERR! not ok
npm ERR! prepareGitDep npm ERR! code ELIFECYCLE
npm ERR! prepareGitDep npm ERR! errno 1
npm ERR! prepareGitDep npm ERR! [email protected] install: node-pre-gyp install --fallback-to-build
npm ERR! prepareGitDep npm ERR! Exit status 1
npm ERR! prepareGitDep npm ERR!
npm ERR! prepareGitDep npm ERR! Failed at the [email protected] install script.
npm ERR! prepareGitDep npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! prepareGitDep
npm ERR! prepareGitDep npm ERR! A complete log of this run can be found in:
npm ERR! prepareGitDep npm ERR! /Users/chenjianhong/.npm/_logs/2022-02-18T05_44_08_625Z-debug.log
npm ERR! prepareGitDep
npm ERR! premature close

npm ERR! A complete log of this run can be found in:
npm ERR! /Users/chenjianhong/.npm/_logs/2022-02-18T05_44_24_332Z-debug.log
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file target_file
cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file ... target_directory
error: /Library/Developer/CommandLineTools/usr/bin/install_name_tool: can't open file: ../src/node_modules/mpv.js/build/Release/mpvjs.node (No such file or directory)

需求:给字典选择添加快捷键

因为需要不断各字典中切换,能否给字典设切换快捷键,
比如:
第一本字典 Ctrl+1
第二本字典 Ctrl+2
第三本字典 Ctrl+3
第四本字典 Ctrl+4
etc.

Play loop many times each subtitle sentences and read aloud subtitle.

I think this function will be very useful to foreign language learner.
It will play parallel bilingual subtile.
It means

  1. read mother language/good language subtitle aloud by TTS(Subtitile to speech)
    The subtile can be availabe subtitle or automatic translate subtitle.
  2. play loop many times video with the subtitle sections to practice listening.
  3. If it wil be wonderful if it can set playback speed for each loop, such as:
    1-0.5x -> 2-0.8x -> 3-1x -> 4-1x -> 5-1x -> 6-1.5x-> 7-1.5x

建议“提升效率”,实现“对字幕的划词文本内容 复制入剪贴板”,或改右键菜单的功能布局位置

非常感谢大神创作开发,解决了长久看视频单句和查找字幕生词的效率痛点。
我是用macbook来看日语字幕视频的。在pro版中复制字幕文本后点击右键,鼠标滑动到邮件菜单的倒数第二个“复制”后,用“隔空接力”功能,把剪贴板文字,黏贴到“iphone”的日语词典app的查词框,进行查词。由于频繁点击字幕文本复制,操作鼠标造成手腕疲劳,建议改进为“默认 字幕文本中选择后 就复制入剪贴板”,实现“划词复制”。或者把字幕复制的功能移动到“右键菜单的第一个”,或者选择文本后出现一个复制的冒泡图标。感谢感谢。

Hardware Acceleration

Hello,
This is a very clever application. How were you able to get video acceleration to work with electron? I have been trying to get the mpv.js plugin to play accelerated video but the mpv instance pops out of the electron window.
-Vince

需求:控制条显示时间设置

因为字幕的位置随着控制条的显示/消失一直变化,影响选词。

能否设置永久显示控制条,或者允许设置自动隐藏的时间。
就像IINA里的 On Screen Controller 设置和On Screen Display 设置。
或者,能否固定字幕的位置,不随OSC和OSD的变化而变化。

多谢。

**部分用户下载字幕很慢

Source Player的字幕源在国外,所以有的**用户的下载字幕速度很慢。
如果您遇到了这个问题,请去http://subhd.com 去下载字幕。
我会在未来的版本里解决这个问题。

无法删除 tag

有没有办法永久删除圈里的两个标签,因为以后不会再使用了。

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.