Giter Site home page Giter Site logo

mediabuff / ffmpeg.uwp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ionutdanila/ffmpeg.uwp

0.0 1.0 0.0 4.82 MB

FFmpeg libraries (x86, x64, ARM, ARM64) for UWP (Universal Windows Platform)

License: GNU Lesser General Public License v2.1

Batchfile 51.38% Shell 48.62%

ffmpeg.uwp's Introduction

FFmpeg for UWP (Universal Windows Platform)

You can install the NuGet Package (FFmpeg UWP 4.1) from here.

You can download the latest compiled libraries (FFmpeg UWP 4.1) from here.


Scope of this project

  • Build FFmpeg libraries for UWP (x86, x64, ARM and ARM64) in order to port applications to UWP
  • The resulted libraries can be used with the FFmpegInterop Project or any other application that requires FFmpeg libraries to run on UWP (usually C++/CX projects)

Disclaimer

The original compilation guide for WinRT/UWP can be found on FFmpeg website. I extended the instructions from the original Microsoft FFmpegInterop project. This project builds libraries only for Windows 10 (UWP) using Visual Studio 2017 (this way we can also build for ARM64).

License

Prerequisites

FFmpeg source code

The project uses an embedded git submodule that points to the latest tested release of FFmpeg.


Visual Studio Setup

Download and install Microsoft Visual Studio 2017 on a Windows 10 machine.


MSYS2 Setup

  • Download the latest MSYS2 installer on a directory on your PC (eg.: C:\msys64) and follow the installation instruction closely from the installation webpage.
  • From msys2_shell.cmd, replace rem set MSYS2_PATH_TYPE=inherit with set MSYS2_PATH_TYPE=inherit. This will allow the environment variables for Visual Studio to be transferred to the MSYS2 environment and back.
  • Once base MSYS2 is successfully installed, get the latest make package by invoking the following command in your MSYS2 shell: pacman -S make
  • Also get the latest gcc package: pacman -S gcc
  • Rename or remove link.exe in the MSYS2 usr bin folder (eg.: C:\msys64\usr\bin\link.exe) to prevent conflict with MSVC link.exe
  • Install perl as it will be needed to run gas-preprocessor.pl: pacman -S perl
  • Install also diffutils for configure script: pacman -S diffutils

YASM Setup

  • Download YASM executable. You have to download the "general use" binaries and NOT the ones for VS2010. Either Win32 or Win64 binaries support outputting object files for both architectures so that should not matter. The last tested version was yasm-1.3.0-win64.exe.
  • Rename the downloaded executable to yasm.exe and place it in your MSYS2 path.

gas-preprocessor Setup

Download gas-preprocessor.pl Perl script and place it in your MSYS2 path (eg.: C:\msys64\usr\bin\gas-preprocessor.pl)

Compilation

Invoke BuildFFmpeg.bat script without any parameters to build the libraries on all available architectures (x86, x64, ARM, ARM64). Also, you can invoke the script with parameters:

    BuildFFmpeg.bat				- Build for UWP ARM, x64, x86 and ARM64
    BuildFFmpeg.bat ARM64			- Build for UWP ARM64 only
    BuildFFmpeg.bat x86 x64			- Build for UWP x86 and x64 only

ffmpeg.uwp's People

Contributors

ionutdanila avatar

Watchers

 avatar

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.