Recherche avancée

Médias (39)

Mot : - Tags -/audio

Autres articles (79)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

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

  • I have a log file with RTP packets : now what ?

    9 mai 2012, par Brannon

    I have a log file with RTP packets coming off of a black box device. I also have a corresponding SDP file (RTSP DESCRIBE) for that. I need to convert this file into some kind of playable video file. Can I pass these two files to FFMpeg or VLC or something else and have it mux that data into something playable ?

    As an alternate plan, I can loop through the individual packets in code and do something with each packet. However, it seems that there are existing libraries for parsing this data. And it seems to do it by hand would be asking for a large project. Is there some kind of video file format that is a pretty raw mix of SDP and RTP ? Thanks for your time.

    Is there a way for FFmpeg or VLC to open an SDP file and then get their input packets through STDIN ?

    I generally use C#, but I could use C if necessary.

    Update 1 : Here is my unworking code. I'm trying to get some kind of output to play with ffplay, but I haven't had any luck yet. It gives me invalid data errors. It does go over all the data correctly as far as I can tell. My output is nearly as big as my input (at about 4MB).

       public class RtpPacket2
       {
           public byte VersionPXCC;
           public byte MPT;
           public ushort Sequence; // length?
           public uint Timestamp;
           public uint Ssrc;
           public int Version { get { return VersionPXCC >> 6; } }
           public bool Padding { get { return (VersionPXCC & 32) > 0; } }
           public bool Extension { get { return (VersionPXCC & 16) > 0; } }
           public int CsrcCount { get { return VersionPXCC & 0xf; } } // ItemCount
           public bool Marker { get { return (MPT & 0x80) > 0; } }
           public int PayloadType { get { return MPT & 0x7f; } } // PacketType
       }


       static void Main(string[] args)
       {
           if (args.Length != 2)
           {
               Console.WriteLine("Usage: <input rtp="rtp" file="file" /> <output 3gp="3gp" file="file">");
               return;
           }
           var inputFile = args[0];
           var outputFile = args[1];
           if(File.Exists(outputFile)) File.Delete(outputFile);

           // FROM the SDP : fmtp 96 profile-level-id=4D0014;packetization-mode=0
           var sps = Convert.FromBase64String("Z0LAHoiLUFge0IAAA4QAAK/IAQ=="); //      BitConverter.ToString(sps)  "67-42-C0-1E-88-8B-50-58-1E-D0-80-00-03-84-00-00-AF-C8-01"  string
           var pps = Convert.FromBase64String("aM44gA=="); //      BitConverter.ToString(pps)  "68-CE-38-80"   string
           var sep = new byte[] { 00, 00, 01 };

           var packet = new RtpPacket2();
           bool firstFrame = true;
           using (var input = File.OpenRead(inputFile))
           using (var reader = new BinaryReader(input))
           using (var output = File.OpenWrite(outputFile))
           {
               //output.Write(header, 0, header.Length);
               output.Write(sep, 0, sep.Length);
               output.Write(sps, 0, sps.Length);
               output.Write(sep, 0, sep.Length);
               output.Write(pps, 0, pps.Length);
               output.Write(sep, 0, sep.Length);
               while (input.Position &lt; input.Length)
               {
                   var size = reader.ReadInt16();
                   packet.VersionPXCC = reader.ReadByte();
                   packet.MPT = reader.ReadByte();
                   packet.Sequence = reader.ReadUInt16();
                   packet.Timestamp = reader.ReadUInt32();
                   packet.Ssrc = reader.ReadUInt32();
                   if (packet.PayloadType == 96)
                   {
                       if (packet.CsrcCount > 0 || packet.Extension) throw new NotImplementedException();

                       var header0 = reader.ReadByte();
                       var header1 = reader.ReadByte();

                       var fragmentType = header0 &amp; 0x1F; // should be 28 for video
                       if(fragmentType != 28) // 28 for video?
                       {
                           input.Position += size - 14;
                           continue;
                       }
                       var nalUnit = header0 &amp; ~0x1F;
                       var nalType = header1 &amp; 0x1F;
                       var start = (header1 &amp; 0x80) > 0;
                       var end = (header1 &amp; 0x40) > 0;

                       if(firstFrame)
                       {
                           output.Write(sep, 0, sep.Length);
                           output.WriteByte((byte)(nalUnit | fragmentType));
                           firstFrame = false;
                       }

                       for (int i = 0; i &lt; size - 14; i++)
                           output.WriteByte(reader.ReadByte());
                       if (packet.Marker)
                           firstFrame = true;
                   }
                   else input.Position += size - 12;
               }
           }
       }
    </output>
  • Playing H.264 video in an application through ffmpeg using DXVA2 acceleration

    28 avril 2012, par cloudraven

    I am trying to output H.264 video in a Windows application. I am moderately familiar with FFMPEG and I have been successful at getting it to play H.264 in a SDL window without a problem. Still, I would really benefit from using Hardware Acceleration (probably through DXVA2)

    I am reading raw H264 video, no container, no audio ... just raw video (and no B-frames, just I and P). Also, I know that all the systems that will use this applications have Nvidia GPUs supporting at least VP3.
    Given that set of assumptions I was hoping to cut some corners, make it simple instead of general, just have it working for my particular scenario.

    So far I know that I need to set the hardware acceleration in the codec context by filling the hwaccel member through a call to ff_find_hwaccel. My plan is to look at Media Player Classic Home Cinema which does a pretty good job at supporting DXVA2 using FFMPEG when decoding H.264. However, the code is quite large and I am not exactly sure where to look. I can find the place where ff_find_hwaccel is called in h264.c, but I was wondering where else should I be looking at.

    More specifically, I would like to know what is the minimum set of steps that I have to code to get DXVA2 through FFMPEG working ?

    EDIT : I am open to look at VLC or anything else if someone knows where I can find the "important" piece of code that does the trick. I just mentioned MPC-HC because I think it is the easiest to get to compile in Windows.

  • Write mdat of mpeg-4 into mpeg-ts using ffmpeg

    20 juin 2013, par Ardoramor

    If I have an mp4 file with incomplete ftyp and moov but a valid mdat, can I write mdat frames into mpeg-ts ? Do I really need to get sps and pps if I do not plan to decode/encode ? Shouldn't it simply read/write frames from input stream into output stream ?