GithubHelp home page GithubHelp logo

d-s-x / bomi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bylee20/bomi

29.0 9.0 4.0 41.64 MB

bomi - a powerful and easy-to-use multimedia player

Home Page: http://bomi-player.github.io

License: Other

Makefile 0.08% Shell 1.11% Roff 0.02% C++ 25.07% QMake 0.23% QML 2.55% HTML 0.64% C 62.28% Objective-C++ 0.13% Objective-C 2.84% Python 2.78% Perl 0.61% Lua 1.52% Ruby 0.04% HLSL 0.01% JavaScript 0.08% Prolog 0.01%

bomi's Introduction

bomi

Introduction

bomi is a multimedia player formerly known as CMPlayer, which is aimed for easy usage but also provides various powerful features and convenience functions. Just install and enjoy it! There will be already what you expect. If you don't like, you can configure almost everything.

For more details, please visit bomi Project Page.

Requirements

In order to build bomi, you need next tools:

  • g++ or clang which supports C++14
  • pkg-config
  • python
  • git if you try to build from git repository

You have to prepare next libraries, too:

  • Qt5 >= 5.2
  • OpenGL >= 2.1 with framebuffer object support
  • FFmpeg (libav is not supported) (*)
    • libavformat >= 55.12.0 (*)
    • libavcodec >= 55.34.1 (*)
    • libavutil >= 52.48.101 (*)
    • libavfilter (*)
    • libswresample (*)
    • libswscale (*)
  • chardet (*)
  • libmpg123
  • libass
  • dvdread dvdnav
  • libbluray
  • icu-uc
  • xcb xcb-icccm x11
  • libva libva-glx libva-x11
  • vdpau
  • alsa

Each item corresponds to its package name for pkg-config command except Qt and OpenGL. Some packages marked with (*) can be in-tree-built.

Compilation

In the below description, $ means that you have to input the command in termnal/console where source code exists.

Get source code

At first, prepare the source code.

  • Download the latest source code tarball and unpack
  • Or, clone the git repository if you want

In-tree build packages

FFmpeg and chardet packages cannot be prepared easily for some Linux ditributions. For such case, you can build them with in-tree source.

If you don't need in-tree build of FFmpeg and chardet, skip this section.

  • To build FFmpeg in-tree, run next:
$ ./download-ffmpeg
$ ./build-ffmpeg
  • To build chardet in-tree, run next:
$. /download-libchardet
$. /build-libchardet

Build bomi

If you have any problem when building, please check Troubleshooting section. It may be helpful to check what you can configure using next command:

$ ./configure --help

Test purpose

If you want to try bomi without install, run next commands in order to build bomi:

$ ./configure
$ make

The executable will be located at ./build/bomi in source code directory.

Install into system

To install bomi, you have to decide the path to install. It can be spcified by --prefix option. By default, --prefix=/usr/local will be applied if you don't specify it which results to locate the executable at /usr/local/bin/bomi and other files (skins, translations, etc.) under /usr/local/share For instance, if you want to install into a directory named bomi in your home directory, run next:

$ ./configure --prefix=${HOME}/bomi
$ make
$ make install

You will find the executable at bomi/bin/bomi in your home directory.

For package builders

Usually, when build a package, you need to specify the fake root system when run make install. This can be accomplished by giving DEST_DIR option to make install. Here's a snippet from PKGBUILD for Arch Linux as an example:

build() {
  cd "$srcdir/$pkgname-$pkgver"
  ./configure --prefix=/usr --enable-jack --enable-cdda
  make
}

package() {
  cd "$srcdir/$pkgname-$pkgver"
  make DEST_DIR=$pkgdir install
}

where $pkgdir is the fake root system. jack and cdda support is also enabled in this example.

Contacts

If you have problems or want some features, please report them in English, Korean, or Japanese.

If you want to contact me privately, please send me an e-mail.

License

bomi is distributed under GPLv2.

Copyright (C) 2015 Lee, Byoung-young A.K.A. xylosper

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

bomi's People

Contributors

bylee20 avatar d-s-x avatar demokritos avatar hanny24 avatar hey-red avatar kagami avatar larsjohnsen avatar micrococo avatar phill84 avatar sl1pkn07 avatar valdikss avatar varlesh avatar yfdyh000 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bomi's Issues

New Simple and Elegant Installer for All Linux Distros and Windows Too..

Bomi is such a Beautiful and Powerful Player , but it is Hard to install on some distro , And there are no support on this topic anywhere. So My Idea is that , We Static Compile the Whole BOMI Player and Make a Static Compiled Qt Based Setup for Specific Architectures for Every Linux Distros(i.e Two Setup files , 1. Linux x86_x64 and 2. Linux x86). This Way , The Users just have to download the setup file and just install.(Just like LokiSetup)

For Example , Take a Look at the qt offline setup for Linux.

hardcode-tray icon

Hi! Will bee good if you add another icon name for tray icon use from system icon theme on linux:
bomi-tray
If bomi-tray available > used from icon theme, if not > used bomi from binary.
Thx :)

Remove custom Mpv

I know this is the most up to date fork but it seems that no one will take it up because of the custom mpv. Can you remove that and make the gui parts from the code thats there and have it access mpv directly that would eliminate so many problems. Also im 99% sure mpv includes most the stuff that was so custom at the time so all options should be able to be added to interface. im not sure if your commit of a29d40f was heading to that. I was hopeing that was the case. Any info would be appriciated.

Easy Deploy on Linux like Windows

Hi BOMI Media Player is an Amazing App but its a bit hard to compile and distribute it to all Major Linux Distros , So Why don't we ease everything up for the developers and users.

AppImage is a cool tool that creates standalone executables for linux that are self-contained , if we deploy qt shared library with bomi complied and wrap it up with AppImage , Any Linux user can just use bomi with a single click , and we can also create a gui installer with Qt Installer Framework.

Please go through this pages,

https://github.com/AppImage/AppImageKit - AppImage
http://doc.qt.io/qt-5/deployment.html - Qt Deploy using Qt Shared Libs ( No Static Required )
https://doc.qt.io/qtinstallerframework/index.html - Qt Installer Framework

By using these , Linux users just have to download and open , no need for root access or to maintain .rpm or .deb files!

Whats on your mind , I would be happy to work on this !

qt5 5.10: bomi doesn‘t start anymore

Yesterday in Arch there was an update to qt5 5.10 and bomi-git does not start anymore.

$ bomi
libva info: VA-API version 1.0.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
libva info: va_openDriver() returns 0
(I)[X11] Initialized hardware acceleration API: vdpau.
QCommandLineParser: option not defined: "__dummy__"
QCommandLineParser: option not defined: "__dummy__"
QCommandLineParser: option not defined: "__dummy__"
file:///usr/share/bomi/skins/Tethys/bomi.qml:9:1: Type B.AppWithDock unavailable 
     B.AppWithDock { 
     ^
file:///usr/share/bomi/imports/bomi/AppWithDock.qml:15:5: Type Player unavailable 
         Player { 
         ^
file:///usr/share/bomi/imports/bomi/Player.qml:150:9: Type PlayInfoView unavailable 
             PlayInfoView { } 
             ^
file:///usr/share/bomi/imports/bomi/PlayInfoView.qml:66:9: PlayInfoTrack is not a type 
             PlayInfoTrack { id: ti; info: video }

Recompiling bomi-git (makepkg) could not solve the problem …

Packaging

What about packaging? Like a deb or snap?

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.