Recherche avancée

Médias (0)

Mot : - Tags -/xmlrpc

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (105)

  • Soumettre bugs et patchs

    10 avril 2011

    Un logiciel n’est malheureusement jamais parfait...
    Si vous pensez avoir mis la main sur un bug, reportez le dans notre système de tickets en prenant bien soin de nous remonter certaines informations pertinentes : le type de navigateur et sa version exacte avec lequel vous avez l’anomalie ; une explication la plus précise possible du problème rencontré ; si possibles les étapes pour reproduire le problème ; un lien vers le site / la page en question ;
    Si vous pensez avoir résolu vous même le bug (...)

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

  • Création définitive du canal

    12 mars 2010, par

    Lorsque votre demande est validée, vous pouvez alors procéder à la création proprement dite du canal. Chaque canal est un site à part entière placé sous votre responsabilité. Les administrateurs de la plateforme n’y ont aucun accès.
    A la validation, vous recevez un email vous invitant donc à créer votre canal.
    Pour ce faire il vous suffit de vous rendre à son adresse, dans notre exemple "http://votre_sous_domaine.mediaspip.net".
    A ce moment là un mot de passe vous est demandé, il vous suffit d’y (...)

Sur d’autres sites (8991)

  • h264 inside AVI, MP4 and "Raw" h264 streams. Different format of NAL units (or ffmpeg bug)

    24 octobre 2019, par bukkojot

    TL ;DR : I want to read raw h264 streams from AVI/MP4 files, even broken/incomplete.

    Almost every document about h264 tells me that it consists of NAL packets. Okay. Almost everywhere told to me that the packet should start with a signature like 00 00 01 or 00 00 00 01. For example, https://stackoverflow.com/a/18638298/8167678, https://stackoverflow.com/a/17625537/8167678

    The format of H.264 is that it’s made up of NAL Units, each starting
    with a start prefix of three bytes with the values 0x00, 0x00, 0x01
    and each unit has a different type depending on the value of the 4th
    byte right after these 3 starting bytes. One NAL Unit IS NOT one frame
    in the video, each frame is made up of a number of NAL Units.

    Okay.

    I downloaded random_youtube_video.mp4 and strip out one frame from it :

    ffmpeg -ss 10 -i random_youtube_video.mp4 -frames 1 -c copy pic.avi

    And got :
    hexdump of AVI
    Red part - this is part of AVI container, other - actual data.
    As you can see, here I have 00 00 24 A9 instead of 00 00 00 01

    This AVI file plays perfectly

    I do same for mp4 container :
    hexdump of mp4

    As you can see, here exact same bytes.
    This MP4 file plays perfectly

    I try to strip out raw data :
    ffmpeg -i pic.avi -c copy pic.h264
    Raw data

    This file can’t play in VLC or even ffmpeg, which produced this file, can’t parse it :
    ffmpeg error

    I downloaded mp4 stream analyzer and got :
    Analysis

    MP4Box tells me :

    Cannot find H264 start code
    Error importing pic.h264: BitStream Not Compliant

    It very hard to learn internals of h264, when nothing works.

    So, I have questions :

    1. What actual data inside mp4 ?
    2. What I must read to decode that data (I mean different annex-es)
    3. How to read stream and get decoded image (even with ffmpeg) from this "broken" raw stream ?

    UPDATE :

    It seems bug in ffmpeg :

    When I do double conversion :

            ffmpeg -ss 10 -i random_youtube_video.mp4 -frames 1 -c copy pic.mp4
            ffmpeg pic.mp4 -c copy pic.h264

    enter image description here

    But when I convert file directly :

    ffmpeg -ss 10 -i random_youtube_video.mp4 -frames 1 -c copy pic.h264
    with NALs

    I have NALs signatures and one extra NAL unit. Other bytes are same (selected).

    This is bug ?

    UPDATE

    Not, this is not bug, U must use option -bsf h264_mp4toannexb to save stream as "Annex B" format (with prefixes)

  • ffmpeg azure function consumption plan low CPU availability for high volume requests

    27 novembre 2017, par The Lemon

    I am running an azure queue function on a consumption plan ; my function starts an FFMpeg process and accordingly is very CPU intensive. When I run the function with less than 100 items in the queue at once it works perfectly, azure scales up and gives me plenty of servers and all of the tasks complete very quickly. My problem is once I start doing more than 300 or 400 items at once, it starts fine but after a while the CPU slowly goes from 80% utilisation to only around 10% utilisation - my functions cant finish in time with only 10% CPU. This can be seen in the image shown below.
    Does anyone know why the CPU useage is going lower the more instances my function creates ? Thanks in advance Cuan

    edit : the function is set to only run one at a time per instance, but the problem exists when set to 2 or 3 concurrent processes per instance in the host.json

    edit : the CPU drops get noticeable at 15-20 servers, and start causing failures at around 60. After that the CPU bottoms out at an average of 8-10% with individuals reaching 0-3%, and the server count seems to increase without limit (which would be more helpful if I got some CPU with the servers)

    Thanks again, Cuan.

    I’ve also added the function code to the bottom of this post in case it helps.

    live metrics cpu

    CPU useageg

    using System.Net;
    using System;
    using System.Diagnostics;
    using System.ComponentModel;

    public static void Run(string myQueueItem, TraceWriter log)
    {
       log.Info($"C# Queue trigger function processed a request: {myQueueItem}");
       //Basic Parameters
           string ffmpegFile = @"D:\home\site\wwwroot\CommonResources\ffmpeg.exe";
           string outputpath = @"D:\home\site\wwwroot\queue-ffmpeg-test\output\";
           string reloutputpath = "output/";
           string relinputpath = "input/";
           string outputfile = "video2.mp4";
           string dir =  @"D:\home\site\wwwroot\queue-ffmpeg-test\";

       //Special Parameters

           string videoFile = "1 minute basic.mp4";
           string sub = "1 minute sub.ass";
       //guid tmp files

           // Guid g1=Guid.NewGuid();
           // Guid g2=Guid.NewGuid();
           // string f1 = g1 + ".mp4";
           // string f2 = g2 + ".ass";
           string f1 = videoFile;
           string f2 = sub;
       //guid output - we will now do this at the caller level
           string g3 = myQueueItem;
           string outputGuid = g3+".mp4";
       //get input files
       //argument
           string tmp = subArg(f1, f2, outputGuid );
       //String.Format("-i \"" + @"input/tmp.mp4" + "\" -vf \"ass = '" + sub + "'\" \"" + reloutputpath +outputfile + "\" -y");
       log.Info("ffmpeg argument is: "+tmp);


       //startprocess parameters
       Process process = new Process();
       process.StartInfo.FileName = ffmpegFile;
       process.StartInfo.Arguments =  tmp;
       process.StartInfo.UseShellExecute = false;
       process.StartInfo.RedirectStandardOutput = true;
       process.StartInfo.RedirectStandardError = true;
       process.StartInfo.WorkingDirectory = dir;
       //output handler

       process.OutputDataReceived += new DataReceivedEventHandler(
           (s, e) =>
           {
               log.Info("O: "+e.Data);
           }
       );
       process.ErrorDataReceived += new DataReceivedEventHandler(
           (s, e) =>
           {
               log.Info("E: "+e.Data);
           }
       );
       //start process
       process.Start();
       log.Info("process started");
       process.BeginOutputReadLine();
       process.BeginErrorReadLine();
       process.WaitForExit();
    }
    public static void getFile(string link, string fileName, string dir, string relInputPath){
       using (var client = new WebClient()){
           client.DownloadFile(link, dir + relInputPath+ fileName);
           }

    }
    public static string subArg(string input1, string input2, string output1){
       return String.Format("-i \"" + @"input/" +input1+ "\" -vf \"ass = '" + @"input/"+input2 + "'\" \"" + @"output/" +output1 + "\" -y");

    }
  • Macports, ffpmeg, mpv on High Sierra [on hold]

    21 novembre 2017, par chris

    Has anyone seen this error on macports ?

    I’ve already installed Xcode and agreed license.

    Checked the logs and appears there’s an issue with audiotoolbox :

    :info:configure ERROR: audiotoolbox requested but not found

    Best, Chris

    Chris-MacBookAir:apps chrisbridges$ sudo port install mpv
    Password:
    --->  Computing dependencies for mpv
    The following dependencies will be installed:
    ffmpeg
    libcddb
    libcdio
    libcdio-paranoia
    libdvdcss
    libdvdnav
    libdvdread
    lua52
    popt
    rubberband
    youtube-dl
    Continue? [Y/n]: Y
    --->  Configuring ffmpeg
    Error: Failed to configure ffmpeg: configure failure: command execution failed
    Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_ffmpeg/ffmpeg/main.log for details.
    Error: Follow https://guide.macports.org/#project.tickets to report a bug.
    Error: Processing of port mpv failed
    Chris-MacBookAir:apps chrisbridges$