Recherche avancée

Médias (29)

Mot : - Tags -/Musique

Autres articles (30)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (4049)

  • How to programmatically start/stop FFMPEG stream transcoding

    10 décembre 2019, par Paul Wieland

    I have an ip webcam which provides an MJPEG stream. I can successfully transcode and save that stream with ffmpeg under OSX. The following gives me pretty much what I want :

    ffmpeg -f mjpeg -i "http://user:pass@10.0.1.200/nphMotionJpeg?Resolution=640x480&Quality=Standard" -b:v 1500k -vcodec libx264 /tmp/test.mp4

    That will start an FFMPEG session and begin saving the live stream to my test.mp4 file. pressing q will quit ffmpeg and save the file.

    I would like to programmatically start & stop the recording using a PHP or Bash shell script. I have tried the following :

    <?php

    $pid = pcntl_fork();

    if($pid == -1){
       die("could not fork");
    }elseif($pid){
       // we are the parent...
       print $pid.' started recording. waiting 10 seconds...';
       sleep(10); // Wait 10 seconds

       print_r(shell_exec("kill ".$pid)); // Kill the child recording process

       echo 'done';
       exit();
    }else{
       // we are the child process. call ffmpeg.
       exec('../lib/ffmpeg -f mjpeg -i "http://user:pass@10.0.1.200/nphMotionJpeg?Resolution=640x480&Quality=Standard" -b:v 1500k -vcodec libx264 /tmp/test.mp4');
    }

    But there are two problems :

    1. The ffmpeg process does not end/die (probably because its forked again)
    2. When I manually kill the ffmpeg process, the video file is not readable
  • ffplay does not exit in forked child

    6 septembre 2019, par user12030145

    ffplay  -autoexit does not exit in a forked child

    I need to pipe my application (stdout) to ffplay (stdin). I do this by forking ffplay as a child and using -i pipe:0 as argument.

    #include
    #include
    #include <sys></sys>types.h>
    #include <sys></sys>wait.h>

    int main(int argc, const char** argv)
    {
    int tube[2];
    int c;
    FILE* f = fopen(argv[1], "rb");
    pid_t pid;
    if (argc &lt; 2) return -1;
    if (pipe(tube))  {
       perror("Pipe");
       return -1;
     }

    // main process cats a .mlp file to stdout, sent to a child ffplay stdin through a pipe
    char* const arg[] = {"-i", "pipe:0", "-f", "mlp", "-nodisp", "-autoexit", NULL};
    switch (pid = fork())    {
               case -1:
                   fprintf(stderr,"%s\n", "Could not launch ffplay");
                   break;

               case 0:
                   close(tube[1]);
                   dup2(tube[0], STDIN_FILENO);
                   execv("/usr/bin/ffplay", arg);
                   fprintf(stderr, "%s\n", "Runtime failure in ffplay child process");
                   return -2;

               default:
                   close(tube[0]);
                   dup2(tube[1], STDOUT_FILENO);
           }

    // Here the main process code sending the .mlp file to stdout...

    while ((c = fgetc(f)) != EOF) putchar(c);

    waitpid(pid, NULL, 0);
    fclose(f);

    // main never returns
    return 0;
    }

    The issue is that in this context, ffplay -autoexit never exits (GNU-Linux platform). In a main process, ffplay -autoexit always exits at the end of a media file.
    Is there a pure C workaround without using system, popen or scripting ?
    Is this a feature or a bug of ffplay (I cannot tell) ?

  • FFMPEG filter using named pipe for I/O to a forked program and legal consideration [closed]

    17 septembre 2021, par alexbuisson

    I would like to develop a ffmpeg filter to have an easier and better integration of the ffmpeg functionalities in case of complex command lines.

    &#xA;&#xA;

    Imagine an ffmpeg command line in which you can configure a filter that will use to configure a 3rd party executable to fork and use named pipe to pass video through that external tools.

    &#xA;&#xA;

    Technically I can write it, but the question is, is it legal from FFMPEG license point of view (FFMPEG can be GPL or LGPL depending of how it has been built). As far as I understand, if I have an executable called "my_video_transformation.exe" (no relationship with ffmpeg, it just read input pipe and write to output pipe)

    &#xA;&#xA;

    It's ok for a user to run the following :

    &#xA;&#xA;

    &#xA;

    (FFMPEG GPL or LGPL).exe decoding_args | my_video_transformation.exe | (FFMPEG GPL or LGPL).exe encoding_args

    &#xA;

    &#xA;&#xA;

    But it's not ok if a user can run something similar to :

    &#xA;&#xA;

    &#xA;

    (FFMPEG GPL or LGPL).exe filter="my_video_transformation.exe" transcoding_args

    &#xA;

    &#xA;&#xA;

    from my understanding of https://www.gnu.org/licenses/gpl-faq.html#GPLPlugins

    &#xA;&#xA;

    As soon as you write in a GPL or LGPL executable something that can fork and communicate with 3rd party and by the way maybe a commercial executable, it doesn't respect the license ?

    &#xA;&#xA;

    Maybe not the correct place to ask, but would like to have some feedback before starting that project. FFMPEG dev community will reject my code proposal if it's not legal or even border line.

    &#xA;&#xA;

    Regards

    &#xA;