Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Latest commit

 

History

History
109 lines (80 loc) · 4.47 KB

README.md

File metadata and controls

109 lines (80 loc) · 4.47 KB

Laerdal.FFmpeg.iOS

Xamarin.Android package : https://github.com/Laerdal/Laerdal.FFmpeg.Android

Xamarin.Forms package : https://github.com/Laerdal/Laerdal.FFmpeg

Xamarin binding library around @tanersener's Mobile-FFmpeg library.

The native iOS library can be found here: https://github.com/tanersener/mobile-ffmpeg

Mobile FFmpeg Package Laerdal.FFmpeg.iOS
Audio NuGet Badge
Full NuGet Badge
Full.Gpl NuGet Badge
Https NuGet Badge
Https.Gpl NuGet Badge
Min NuGet Badge
Min.Gpl NuGet Badge
Video NuGet Badge

External libraries

Package External libraries
Audio lame libilbc libvorbis opencore-amr opus shine soxr speex twolame vo-amrwbenc wavpack
Full fontconfig freetype fribidi gmp gnutls kvazaar lame libaom libass libiconv libilbc libtheora libvorbis libvpx libwebp libxml2 opencore-amr opus shine snappy soxr speex twolame vo-amrwbenc wavpack
Full.Gpl fontconfig freetype fribidi gmp gnutls kvazaar lame libaom libass libiconv libilbc libtheora libvorbis libvpx libwebp libxml2 opencore-amr opus shine snappy soxr speex twolame vid.stab vo-amrwbenc wavpack x264 x265 xvidcore
Https gmp gnutls
Https.Gpl gmp gnutls vid.stab x264 x265 xvidcore
Min -
Min.Gpl vid.stab x264 x265 xvidcore
Video fontconfig freetype fribidi kvazaar libaom libass libiconv libtheora libvpx libwebp snappy

Folder structure

  • Laerdal.FFmpeg.iOS = Xamarin Binding Library project and nuget files
  • Laerdal.FFmpeg.iOS.Source = Source files from Github release
  • Laerdal.FFmpeg.iOS.Output = Build output from building Laerdal.FFmpeg.iOS

Local build

Requirements

You'll need :

  • MacOS
    • with XCode
    • with Xamarin.iOS (obviously)
    • [with ObjectiveSharpie] :

Download Latest Release More about Objective Sharpie

Steps to build

1) Checkout

git clone https://github.com/Laerdal/Laerdal.Dfu.iOS.git

2) Run build script

Usage:

./build.sh [-p|--package [audio|full|full-gpl|https|https-gpl|min|min-gpl|video]] [-r|--revision build_revision] [-c|--clean-output] [-v|--verbose] [-s|--sharpie]

Parameters:

  • -p | --package [audio|full|full-gpl|https|https-gpl|min|min-gpl|video]
  • -r | --revision [build_revision]
    • Sets the revision number, default = mdd.hMMSS
  • -c | --clean-output
    • Cleans the output before building
  • -v | --verbose
    • Enable verbose build details from msbuild tasks
  • -s | --sharpie
    • Regenerates objective sharpie autogenerated files, useful to spot API changes
  • -h | --help
    • Prints this message

To build only full and full-gpl, clean the output and run objective sharpie to update the ApiDefinitions :

./build.sh -p full -p full-gpl -c -s

To build everything :

./build.sh

3) Review changes in Laerdal.FFmpeg.iOS/Sharpie_Generated

The ./build.sh script can run the objective sharpie command. You need to review if any API changes have occured in Laerdal.FFmpeg.iOS/Sharpie_Generated.

Other scripts

  • ./download.sh
    • Downloads all the Github release files that would be needed in build.
  • ./sharpie.sh
    • Only downloads the 'min' release file and generates the Sharpie files.