Recherche avancée

Médias (91)

Autres articles (91)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

  • 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 (3231)

  • What the correct args for ffmpeg conversion

    8 novembre 2013, par Andrew Simpson

    I have a C# app. I am using ffmpge to convert jpgs to an OGG file. I use the process class to write to a stream buffer within my app using piping without having to write the ogg file to a disk. I then upload these bytes to my server where it is written to the hard drive.

    On the server side I want to convert it to say an mp4 format. Again, I want to pipe it out to a stream buffer and allow my User to download the file.

    This is my code :

    Process _serverBuild = null ;

    public byte[] EncodeAndUploadImages(string _args1)
    {
       byte[] _data = null;
       try
       {
           _args1 = "ffmpeg.exe -i \"c:\\Cloud\\Zipped\\000EC902F17F\\f3e45e44-b61c-472b-8dc1-a8e9b9511497_00007.ogg\" avi -";
           _serverBuild = new Process();

           _serverBuild.StartInfo.WorkingDirectory = Environment.CurrentDirectory;
           _serverBuild.StartInfo.Arguments = _args1;
           _serverBuild.StartInfo.FileName =  @"C:\inetpub\wwwroot\bin\ffmpeg.exe";
           _serverBuild.StartInfo.UseShellExecute = false;
           _serverBuild.StartInfo.RedirectStandardOutput = true;
           _serverBuild.StartInfo.RedirectStandardError = true;
           _serverBuild.StartInfo.RedirectStandardInput = true;
           _serverBuild.StartInfo.CreateNoWindow = true;
           _serverBuild.StartInfo.LoadUserProfile = false;
           _serverBuild.ErrorDataReceived += _server_ErrorDataReceived;
           _serverBuild.OutputDataReceived += _server_OutputDataReceived;
           _serverBuild.Exited += new EventHandler(_server_Exited);
           _serverBuild.EnableRaisingEvents = true;
           _serverProcessHasFinished = false;
           _serverBuild.Start();

           mStandardOutput = _serverBuild.StandardOutput.BaseStream;
           mStandardOutput.BeginRead(mReadBuffer, 0, mReadBuffer.Length, StandardOutputReadCallback, null);            
           _serverBuild.WaitForExit();




       }
       catch (Exception _ex)
       {

       }
       finally
       {
           _serverBuild.ErrorDataReceived -= _server_ErrorDataReceived;
           _serverBuild.OutputDataReceived -= _server_OutputDataReceived;
           _serverBuild.Dispose();
       }
       return _data;
    }

    byte[] mReadBuffer = new byte[4096];
    MemoryStream mStandardOutputMs = new MemoryStream();
    Stream mStandardOutput;

    private void StandardOutputReadCallback(IAsyncResult ar)
    {
       try
       {
           int numberOfBytesRead = mStandardOutput.EndRead(ar);
           {
               mStandardOutputMs.Write(mReadBuffer, 0, numberOfBytesRead);
               mStandardOutput.BeginRead(mReadBuffer, 0, mReadBuffer.Length, StandardOutputReadCallback, null);
           }
       }
       catch (Exception _ex)
       {

       }
    }

    The error I get (when I test with a bat file and run within a DOS prompt) is :

    enter image description here

    Obviously my parameters are at fault. I want to keep it simple as I may want to use other formats apart from MP4.

    Thanks

  • How much the duration of an mp3 file given by Ffprobe is precise ?

    24 septembre 2024, par Julien Larget-Piet

    I have an mp3 file at a sample rate value of 44100, let's name it a.mp3.

    


    So i get the duration of a.mp3 with the following ffprobe command :

    


    ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 a.mp3

    


    I get 7.752 seconds.

    


    Because the sample rate is per second, in theory the total amount of samples should be,

    


    44100 * 7.752 = 341863.2

    


    Let's round it to 341863

    


    But using python library ffmpegio with the following code, i get a total amount of sample equal to 340560.

    


    with ffmpegio.open(file, 'ra', blocksize = 16, sample_fmt = 'dbl') as file_opened:

        for i, indata in enumerate(file_opened):

            do some stuff
    print(i * 16)


    


    So there is a non-negligible difference between 341863 and 340560.

    


    I think it comes from the duration value given by Ffmpeg.
What do you thin ?

    


    I search in ffmpegio documentation, but found nothing that trigered my attention :

    


    https://python-ffmpegio.github.io/python-ffmpegio/

    


    Thanks.

    


    Search for answers about the precision of the ffprobe command.

    


  • Container does not reflect MediaReader setting

    8 mars 2014, par Mondain

    I would like my reader to be able to handle audio, when it does not start with the video ; hence the setting of "AddDynamicStreams". How do I get the container to recognize the setting of the reader from which it originated ? Is there a flag or some other property that I need to set ?

    String inputUrl = "rtmp://127.0.0.1:1935/myapp/mystream live=1 buffer=1";
    IMediaReader reader = ToolFactory.makeReader(inputUrl);
    reader.setCloseOnEofOnly(false);
    reader.setQueryMetaData(false);
    // we want dynamic addition of streams
    reader.setAddDynamicStreams(true);
    // this shows "true"
    log.debug("Reader can dynamically add streams: {}", reader.canAddDynamicStreams());
    // get the container
    IContainer container = reader.getContainer();
    // this shows "false"
    log.debug("Container can dynamically add streams: {}", container.canStreamsBeAddedDynamically());