Recherche avancée

Médias (1)

Mot : - Tags -/copyleft

Autres articles (107)

  • La gestion des forums

    3 novembre 2011, par

    Si les forums sont activés sur le site, les administrateurs ont la possibilité de les gérer depuis l’interface d’administration ou depuis l’article même dans le bloc de modification de l’article qui se trouve dans la navigation de la page.
    Accès à l’interface de modération des messages
    Lorsqu’il est identifié sur le site, l’administrateur peut procéder de deux manières pour gérer les forums.
    S’il souhaite modifier (modérer, déclarer comme SPAM un message) les forums d’un article particulier, il a à sa (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

Sur d’autres sites (11643)

  • lavc : add a native Opus decoder.

    17 avril 2014, par Anton Khirnov
    lavc : add a native Opus decoder.
    

    Initial implementation by Andrew D’Addesio <modchipv12@gmail.com> during
    GSoC 2012.

    Completion by Anton Khirnov <anton@khirnov.net>, sponsored by the
    Mozilla Corporation.

    Further contributions by :
    Christophe Gisquet <christophe.gisquet@gmail.com>
    Janne Grunau <janne-libav@jannau.net>
    Luca Barbato <lu_zero@gentoo.org>

    • [DH] Changelog
    • [DH] configure
    • [DH] libavcodec/Makefile
    • [DH] libavcodec/allcodecs.c
    • [DH] libavcodec/opus.c
    • [DH] libavcodec/opus.h
    • [DH] libavcodec/opus_celt.c
    • [DH] libavcodec/opus_imdct.c
    • [DH] libavcodec/opus_parser.c
    • [DH] libavcodec/opus_silk.c
    • [DH] libavcodec/opusdec.c
    • [DH] libavcodec/version.h
    • [DH] tests/Makefile
    • [DH] tests/fate/opus.mak
  • Libav Transcoding to H264 : Frames being dropped

    21 juin 2014, par roman

    I’m sorry if my question isn’t too well formulated, I’m only now getting started with FFmpeg and Libav. I’m not too knowledgable about media formats either, I pretty much learned all I know about the topic this past month. I’ve been doing as much research as I can, and have gotten pretty far, but I’ve only now gotten to the point where I’m almost unsure what my question actually is ! These are more like observations, but hopefully some of the experts can help me out here.

    I’m trying to transcode Gifs into MP4s using FFmpeg’s libraries, but I’m running into a strange issue when using the H264 Codec. In my transcoding loop, I keep a count of the number of frames that I write out (by verifying the return value of av_write_frame). In a particular sample, I count a total of 166 frames written out. If I examine FFmpeg’s converted file using FFprobe (the functionality I’m wanting to emulate using my program, a conversion from Gif to MP4), FFmpeg’s output file also seems to have 166 frames, but when I examine my output with FFprobe, I seem to only have 144 frames. What I find a bit interesting is that if I simply change my codec from H264 to MPEG4, my output appears to have the 166 frames, matching FFmpeg’s output and my counter. I get very similar results with different Gif files, where my counter of frames written matches FFmpeg’s output’s frame count, but my output seems to drop some frames.

    Encoder settings :

    ostream_codec_context->codec_id = CODEC_IN_USE;  //CODEC_ID_H264 or CODEC_ID_MPEG4
    ostream_codec_context->pix_fmt = AV_PIX_FMT_YUV420P;
    ostream_codec_context->codec_type = AVMEDIA_TYPE_VIDEO;
    ostream_codec_context->flags = CODEC_FLAG_GLOBAL_HEADER;
    ostream_codec_context->profile = FF_PROFILE_MPEG4_SIMPLE;

    ostream_codec_context->gop_size = istream_codec_context->gop_size;
    ostream_codec_context->time_base = istream_codec_context->time_base;

    ostream_codec_context->width  = (istream_codec_context->width  / 2) * 2;
    ostream_codec_context->height = (istream_codec_context->height / 2) * 2;    

    Transcoding loop :

    I’ve omitted some error-checking code and debugging statements

    avformat_write_header(oformat_context, NULL);
    while (av_read_frame(iformat_context, &amp;packet) == 0 )
    {
      if (packet.stream_index == istream_index)
      {  
         avcodec_decode_video2(istream_codec_context, ipicture, &amp;full_frame, &amp;packet);
         if (full_frame)
         {
            sws_scale(image_conversion_context,
                      (uint8_t const * const *) ipicture->data,
                      ipicture->linesize, 0, istream_codec_context->height,
                      opicture->data, opicture->linesize);

            opicture->pts = av_rescale_q(packet.pts, istream_codec_context->time_base,
                                         ostream->time_base);

            ret = avcodec_encode_video2(ostream_codec_context, &amp;packet,
                                        opicture, &amp;got_packet);
            if (!ret)
            {
               ret = av_write_frame(oformat_context, &amp;packet);
               if (ret &lt; 0)
                  num_frames_written++;
            }
         }
      }
      av_free_packet(&amp;packet);
      av_init_packet(&amp;packet);
    }

    I’m also having issues with my output’s bit-rate. I can try setting it with the rest of my encoder settings, but the bit-rate that FFprobe shows is not the same as what I give the codec context. I tried setting the bit-rate to constant values just to see how it affected my output, and although my output’s bit-rate isn’t the same as what I give it, I found that my input definitely seems to influence the output’s actual bit-rate. I found a post that seems to be dealing with my issue, but the solution listed there does not seem to fix my issue.

    http://ffmpeg.org/pipermail/libav-user/2012-July/002492.html

    Another thing worth mentioning is that my various time bases don’t seem to match up with those of FFmpeg’s output. Notably, my output’s TBC seems to be twice the inverse of my output codec context’s time base. I’m not too sure if this is an issue with the Gif file format, my output codec context’s always seems to be set to 1/100.

    Bit-rate calculation and setting

    int calculated_br = istream_codec_context->time_base.den *    
                       avpicture_get_size(AV_PIX_FMT_YUV420P, ostream_codec_context->width,
                                          ostream_codec_context->height);    

    ostream_codec_context->bit_rate = calculated_br;
    ostream_codec_context->rc_min_rate = calculated_br;
    ostream_codec_context->rc_max_rate = calculated_br;
    ostream_codec_context->rc_buffer_size = calculated_br;

    I’ve got a hunch that all these issues could be related to me not setting my PTS/DTS correctly, even though my output’s pts/dts values match those of FFmpeg’s output.

    I would appreciate some help,
    Thank you !

  • Grep for a number between a certain range - Checking WAV Quality

    11 août 2014, par BT643

    I’m trying to write a regular expression (to be used in conjunction with ffmpeg, which can check that a WAV file is over a certain quality.

    The minimum should be :

    Audio Channels : 2 (Stereo)
    Audio Sample Rate : 44,100 Hz
    Audio Bitrate : 1411 Kbps
    Audio Bit Depth : 16 bit

    So I’ve tried the following commands so far :

    • /usr/local/bin/ffmpeg -i "/path/to/file.wav" 2>&amp;1 | egrep 'stereo|2 channels'

    This works fine to get a stero (2 channel) WAV. I’m getting issues with the next part, searching between a range of numbers.

    • /usr/local/bin/ffmpeg -i "/path/to/file.wav" 2>&amp;1 | egrep 'stereo|2 channels' | egrep '[41000-196000] Hz'

    Obviously this just searches each number individually, so it’s finding results if there’s a 4 OR 1 OR 0 OR 0 OR 0 etc...

    The bit rate and bit depth just needs to be OVER 1411 and 16 respectively.

    Thanks

    EDIT -
    Here’s the ffmpeg output for a low quality WAV which should be rejected :

    ffmpeg version git-2012-05-22-27127eb Copyright (c) 2000-2012 the FFmpeg developers
     built on May 22 2012 12:27:21 with gcc 4.6.1
     configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab
     libavutil      51. 53.100 / 51. 53.100
     libavcodec     54. 21.101 / 54. 21.101
     libavformat    54.  6.100 / 54.  6.100
     libavdevice    53.  4.100 / 53.  4.100
     libavfilter     2. 75.100 /  2. 75.100
     libswscale      2.  1.100 /  2.  1.100
     libswresample   0. 15.100 /  0. 15.100
     libpostproc    52.  0.100 / 52.  0.100
    [wav @ 0x355b140] max_analyze_duration 5000000 reached at 5056000
    Guessed Channel Layout for  Input Stream #0.0 : stereo
    Input #0, wav, from '/path/to/file.wav':
     Duration: 00:02:28.47, bitrate: 512 kb/s
       Stream #0:0: Audio: pcm_u8 ([1][0][0][0] / 0x0001), 32000 Hz, stereo, u8, 512 kb/s