Giter Site home page Giter Site logo

pkoshevoy / aeyae Goto Github PK

View Code? Open in Web Editor NEW
22.0 4.0 6.0 10.89 MB

apprenticevideo (video player), aeyae remux (video remuxer), yaetv (digital video recorder), yamka (matroska format toolkit), yathe (legacy code for 3D geometry transforms, bezier curves, spline curves, and UI abstraction layers)

CMake 1.88% Shell 0.38% Objective-C 1.05% C 0.24% C++ 96.19% HTML 0.25%

aeyae's Introduction

This is a short summary of development environment requirements for building Apprentice Video player and Aeyae Remux for Mac/Windows/Linux.

Download Apprentice Video Mac/Windows binaries: https://sourceforge.net/projects/apprenticevideo/.

Download Aeyae Remux Mac/Windows binaries: https://sourceforge.net/projects/aeyae-remux/.

Checkout the code, configure, build, install:
git clone https://github.com/pkoshevoy/aeyae.git
cd aeyae
git submodule update --init --recursive
git clone https://github.com/pkoshevoy/libhdhomerun.git
cd libhdhomerun
git checkout add-cmake
mkdir -p ../libhdhomerun-build
cd ../libhdhomerun-build
cmake-gui ../libhdhomerun # Configure (adjust paths as desired), Generate
nice make -j8 && make install
mkdir -p ../aeyae-build
cd ../aeyae-build
cmake-gui ../aeyae # Configure (adjust paths as desired), Generate
nice make -j8 && make install
All Platforms:
OpenGL 1.1 or later

OpenGL is used for frame rendering, so make sure you have OpenGL drivers for your graphics card.

CMake 3.1.0 or later

http://www.cmake.org/cmake/resources/software.html

CMake is used to configure the build (to generate projects, or makefiles).

Qt 4.7+, or Qt 5.6+

https://download.qt.io/archive/qt/4.7/

Qt is the cross platform C++ UI toolkit. Use Qt 4.7+ for OS X 10.5, OS X 10.6, and 32-bit windows builds. Use Qt 5.6+ for newer versions of macOS and 64-bit windows builds.

boost 1.47.0 or later

http://www.boost.org/

Boost is used for its shared pointer and threading libraries.

GLEW 1.5 or later

http://glew.sourceforge.net/

GLEW is an OpenGL extension wrangler library.

portaudio v19

http://www.portaudio.com/download.html

Portaudio is used for audio playback on Windows and Linux.

FFmpeg fresh from git

http://ffmpeg.org/download.html

FFmpeg is used for video/audio demuxing and decoding.

libass 0.13 or later

http://code.google.com/p/libass/

libass is used for high quality subtitle rendering.

FontConfig 2.10+

http://www.freedesktop.org/wiki/Software/fontconfig/

FontConfig is required by libass for accessing system fonts.

Windows:
Dependency Walker 2.2

http://www.dependencywalker.com/

depends.exe is used for automatic external dependency detection by wixWrapper (instead of wix harvester tool). When building x86 version of Apprentice Video you'll need the 32-bit version of depends.exe; for x64 build you'll need the 64-bit version...

WiX 3.5

http://wix.sourceforge.net/

WiX is used to build the installer package. I've only used/tested WiX 3.5 and do not know whether later versions work as well.

You can try and build ffmpeg yourself from source using MinGW. You can compile using Visual Studio 2010 (or 2012) and c99-to-c89 converter (this is what I used to do -- see http://www.ffmpeg.org/platform.html for details). However, you may find it much easier to use the Zeranoe builds instead.

Visual C++ 2008 SP1 or 2010 SP1 are recommended. VS Express Edition will work. Version 2010 or 2012 is required if you decide to compile ffmpeg yourself using c99-to-c89 converter. MinGW/MSYS development has not been tested, but should work.

It is possible to compile FontConfig for Windows using MinGW tool-chain. However, I've also patched fontconfig 2.10 to add CMake config file to enable native win32 compilation in Visual Studio using CMake. This is what I currently use.

MacOS:

You can easily build prerequisite libraries from source yourself, but macports can do it for you. If you run into problems where install_name_tool fails and suggests using -headerpad_max_install_names linker option -- you may try building from source yourself (make sure to use the -headerpad_max_install_names option), or you can do a dirty hack and make /usr/bin/ld always use the -headerpad_max_install_names switch:

sudo mv /usr/bin/ld /usr/bin/ld.bin
sudo printf '#!/bin/sh\nexec /usr/bin/ld.bin -headerpad_max_install_names $*\n' > /usr/bin/ld
sudo chmod a+rx /usr/bin/ld
sudo port uninstall ffmpeg
sudo port install ffmpeg
Linux:

Use the package management mechanism provided by your Linux distribution (apt, yast, yum, etc...) to install required tools and development libraries (git, cmake, Qt 4, boost, glew, portaudio, yasm). Use of the latest FFmpeg pulled from git is recommended, because compilation against libav is not tested often and may not work.

Optional (any platform):

If you would like to enable MOD file playback (MOD, XM, S3M, IT, etc...), compile libmodplug and make sure to enable modplug support when configuring ffmpeg build.

aeyae's People

Contributors

pkoshevoy avatar

Stargazers

 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

aeyae's Issues

Subtitle: TTML support

I have the below file, the subtitles will not load

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'out.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf60.16.100
  Duration: 01:38:48.75, start: 0.000000, bitrate: 3957 kb/s
  Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 1200x720 [SAR 1:1 DAR 5:3], 3822 kb/s, 24 fps, 24 tbr, 19200 tbn (default)
    Metadata:
      handler_name    : USP Video Handler
      vendor_id       : [0][0][0][0]
      encoder         : AVC Coding
  Stream #0:1[0x2](zho): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s (default)
    Metadata:
      handler_name    : USP Sound Handler
      vendor_id       : [0][0][0][0]
  Stream #0:2[0x3](eng): Subtitle: ttml (stpp / 0x70707473), 1 kb/s (default)
    Metadata:
      handler_name    : USP Subtitle Handler

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.