Recherche avancée

Médias (1)

Mot : - Tags -/berlin

Autres articles (80)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

Sur d’autres sites (8481)

  • avformat/mov : parse multiple iTunes cover images

    29 mars 2018, par Timo Teräs
    avformat/mov : parse multiple iTunes cover images
    

    Multiple cover images are supported by having multiple data atoms
    inside the covr atom. AtomicParsley and mutagen amongst others
    support and document this construct.

    Signed-off-by : Timo Teräs <timo.teras@iki.fi>
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavformat/mov.c
  • Elixir long running background task doesn't complete, sometimes crashes

    29 mars 2018, par Kulix

    As a little bit of background, I have an endpoint that is responsible for video upload. What I want to do, is copy the video file to a temporary location from the request, and spin up an asynchronous task (ffmpeg shell process) to transcode that video in the background so that my endpoint can return a 200 in a timely manner, and the response does not wait for ffmpeg to finish transcoding that video.

    Here is my code from the controller.

    def create(conn, %{"file" => file ... })
       uuid = Video.uuid()
       tmp_path = Application.get_env(:myapp, :video_tmp_path) &lt;> "/" &lt;> uuid
       :ok = File.cp(file.path, tmp_path)
       VideoService.process(tmp_path, final_path)

    The inside of VideoService looks like the following.

    defmodule MyApp.Services do
     defmodule VideoService do
       def process(tmp_path, final_path) do
         Task.start_link fn ->
           System.cmd("ffmpeg", ["-i", tmp_path, final_path, "-hide_banner"])
           File.rm(tmp_path)
         end
       end
     end
    end

    The problem I am having here is that no matter what, nothing past the System.cmd("ffmpeg") call executes in the VideoService, and sometimes the System.cmd call doesn’t even spin up an ffmpeg process. Am I doing something wrong here ? What I need is a way to spin this ffmpeg shell process out in the background from the controller / service and respond with a 200 on video upload. Thanks for help in advance. I am new to elixir / OTP, so I’m sure I’m doing something stupid.

    I also randomly see the following error

    erl_child_setup: failed with error 32 on line 240

  • ffmpeg Command stop executing in background after the application kill

    26 mars 2018, par Amjad Khan

    FFmpeg Command are executed and that are working well, Implemented on android.

    But I am facing problem when the user kill the application the command which I have executed it is terminated.

    I have created background service, which is running in the background but the command stop in the middle, is there any way to handle it

    Code here

    ffmpeg.execute(command, new ExecuteBinaryResponseHandler() {
       @Override
       public void onFailure(String s) {
           Log.e(TAG, "FAILED with output : " + s);
       }

       @Override
       public void onSuccess(String s) {
           Log.e(TAG, "SUCCESS with output : " + s);
       }

       @Override
       public void onProgress(String s) {
         //This method get stoped
       }

       @Override
       public void onStart() {

       }

       @Override
       public void onFinish() {

       }
    });