Giter Site home page Giter Site logo

Use ffmpeg.net on Ubuntu about ffmpeg.net HOT 3 OPEN

cmxl avatar cmxl commented on May 25, 2024 1
Use ffmpeg.net on Ubuntu

from ffmpeg.net.

Comments (3)

codematrix avatar codematrix commented on May 25, 2024 3

I got a workaround. However, it requires that you install ffmpeg along with your docker image. It takes about a min to install but once installs it works as perusal.

In my docker file I have the following. I use Debian 10. You can get a list of .NET runtimes here.
https://hub.docker.com/_/microsoft-dotnet-core-aspnet

FROM mcr.microsoft.com/dotnet/core/runtime:3.1-buster-slim AS base
RUN ["apt-get", "--assume-yes", "update"]
RUN ["apt-get", "--assume-yes", "install", "ffmpeg"] 

… other stuff

Then in your code base to pass the ffmpeg file, you have to do this.

   var ffmpegPath = RuntimeInformation.IsOSPlatform(OSPlatform.Linux)
                    ? $"/usr/bin/ffmpeg"
                    : $"{AppDomain.CurrentDomain.BaseDirectory}ffmpeg.exe";

   var engine = new FFmpeg.NET.Engine(ffmpegPath);

Deployment will take a lot longer. I'm still exploring other options.

codematrix

from ffmpeg.net.

codematrix avatar codematrix commented on May 25, 2024

Looking for the same thing but on Debian. I notice the commands for ffmpeg are the same regardless of OS. I'm assuming that when executing a command in either Windows or Linux, should be the same. The only difference is the binaries are different. I'm experimenting with it now and see I can create a PR if successful.

from ffmpeg.net.

codematrix avatar codematrix commented on May 25, 2024

Hello,

I created a public image hubster/dotnet.core.runtime

You can use this as it has ffmpeg preinstalled installed on top of .net core 3.1.buster-slim as defined in https://hub.docker.com/_/microsoft-dotnet-core-aspnet

So in your Dockerfile, just change the first FROM like this.

FROM hubster/dotnet.core.runtime:3.1-buster-slim-ffmpeg AS base

You still need to do this in your code base:

   var ffmpegPath = RuntimeInformation.IsOSPlatform(OSPlatform.Linux)
                    ? $"/usr/bin/ffmpeg"
                    : $"{AppDomain.CurrentDomain.BaseDirectory}ffmpeg.exe";

   var engine = new FFmpeg.NET.Engine(ffmpegPath);

codematrix

from ffmpeg.net.

Related Issues (20)

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.