Recherche avancée

Médias (16)

Mot : - Tags -/mp3

Autres articles (93)

  • L’utiliser, en parler, le critiquer

    10 avril 2011

    La première attitude à adopter est d’en parler, soit directement avec les personnes impliquées dans son développement, soit autour de vous pour convaincre de nouvelles personnes à l’utiliser.
    Plus la communauté sera nombreuse et plus les évolutions seront rapides ...
    Une liste de discussion est disponible pour tout échange entre utilisateurs.

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

Sur d’autres sites (10501)

  • avformat/mvdec : Don't signal success on parse_audio_var() error

    16 septembre 2021, par James Almer
    avformat/mvdec : Don't signal success on parse_audio_var() error
    

    Propagate the error it returned instead.

    Signed-off-by : James Almer <jamrial@gmail.com>

    • [DH] libavformat/mvdec.c
  • Animated WebP vs MP4. Why is MP4 so light and which is generally better ?

    25 juin 2022, par Red Vic

    I ran some tests and all things being equal, mp4 is much lighter than animated WebP's.

    &#xA;

    I used FFmpeg and here are the results :

    &#xA;

      &#xA;
    • Encode to an animated WebP at 25fps with quality at 90% => 2.42 MB
    • &#xA;

    • Encode to an mp4 at 25fps with quality at 90% => 392 KB.
    • &#xA;

    &#xA;

    This left me wondering why the heck did I choose WebP as the main format for my web platform. Any idea whether I should ditch the animated WebP's and use mp4 instead with loop HTML tag and no audio ?

    &#xA;

  • Ffmpeg H.264 encode video is sped up if camera capture with low light

    10 août 2020, par Expressingx

    I'm encoding everything to H.264. If h264_qsv is available I'm using it, else libx264. Works fine, but I noticed that if the camera is recording in low light, the video saved is sped up like x2 or x3. And I'm not sure where the problem is. Creating the input format context :

    &#xA;

        private AVFormatContext* CreateFormatContext()&#xA;    {&#xA;        AVDictionary* options = null;&#xA;&#xA;        ffmpeg.av_dict_set(&amp;options, "packet-buffering", "0", 0);&#xA;        ffmpeg.av_dict_set(&amp;options, "sync", "1", 0);&#xA;        ffmpeg.av_dict_set(&amp;options, "rtsp_transport", "tcp", 0);&#xA;        ffmpeg.av_dict_set(&amp;options, "reconnect", "1", 0);&#xA;        ffmpeg.av_dict_set(&amp;options, "analyzeduration", "2000000", 0);&#xA;        ffmpeg.av_dict_set(&amp;options, "probesize", (16384 * 16).ToString(), 0);&#xA;        ffmpeg.av_dict_set(&amp;options, "max_delay", "0", 0);&#xA;        ffmpeg.av_dict_set(&amp;options, "reorder_queue_size", "0", 0);&#xA;        ffmpeg.av_dict_set(&amp;options, "skip_frame", "8", 0);&#xA;        ffmpeg.av_dict_set(&amp;options, "skip_loop_filter", "48", 0);&#xA;        ffmpeg.av_dict_set(&amp;options, "rtbufsize", "1000M", 0);&#xA;&#xA;        AVFormatContext* pInputFmtCtx = ffmpeg.avformat_alloc_context();&#xA;&#xA;        AVInputFormat* inputFormat = null;&#xA;&#xA;        if (!string.IsNullOrEmpty(_format))&#xA;        {&#xA;            inputFormat = ffmpeg.av_find_input_format(_format);&#xA;&#xA;            if (inputFormat == null)&#xA;            {&#xA;                //throw&#xA;            }&#xA;        }&#xA;&#xA;        int ret = ffmpeg.avformat_open_input(&amp;pInputFmtCtx, _streamUrl, inputFormat, &amp;options);&#xA;&#xA;        if (ret != 0)&#xA;        {&#xA;            //throw&#xA;        }&#xA;&#xA;        return pInputFmtCtx;&#xA;    }&#xA;

    &#xA;

    video decoder

    &#xA;

        private void CreateVideoDecoder()&#xA;    {&#xA;        AVStream* videoStream = InputFormatContext->streams[VideoStreamIndex];&#xA;        AVCodecParameters* videoCodecParams = videoStream->codecpar;&#xA;        AVCodec* videoDecoder = ffmpeg.avcodec_find_decoder(videoCodecParams->codec_id);&#xA;&#xA;        VideoDecodeContext = ffmpeg.avcodec_alloc_context3(videoDecoder);&#xA;&#xA;        if (ffmpeg.avcodec_parameters_to_context(VideoDecodeContext, videoCodecParams) &lt; 0)&#xA;        {&#xA;            //throw&#xA;        }&#xA;&#xA;        if (ffmpeg.avcodec_open2(VideoDecodeContext, videoDecoder, null) &lt; 0)&#xA;        {&#xA;            //throw&#xA;        }&#xA;    }&#xA;

    &#xA;

    and the h264 encoder

    &#xA;

    private void CreateH264Encoder(AVStream* inputStream, AVStream* outputStream)&#xA;    {&#xA;        AVRational framerate = ffmpeg.av_guess_frame_rate(_inputContext.InputFormatContext, inputStream, null);&#xA;&#xA;        AVCodec* videoEncoder = ffmpeg.avcodec_find_encoder_by_name("h264_qsv");&#xA;        if (videoEncoder == null)&#xA;        {&#xA;            videoEncoder = ffmpeg.avcodec_find_encoder_by_name("libx264");&#xA;            PixelFormat = AVPixelFormat.AV_PIX_FMT_YUV420P;&#xA;        }&#xA;&#xA;        if (videoEncoder == null)&#xA;        {&#xA;            //throw&#xA;        }&#xA;&#xA;        VideoEncodeContext = ffmpeg.avcodec_alloc_context3(videoEncoder);&#xA;&#xA;        if (VideoEncodeContext == null)&#xA;        {&#xA;            //throw&#xA;        }&#xA;&#xA;        VideoEncodeContext->width = _inputContext.VideoDecodeContext->width;&#xA;        VideoEncodeContext->height = _inputContext.VideoDecodeContext->height;&#xA;        VideoEncodeContext->pix_fmt = PixelFormat;&#xA;        VideoEncodeContext->bit_rate = 2 * 1000 * 1000;&#xA;        VideoEncodeContext->rc_buffer_size = 4 * 1000 * 1000;&#xA;        VideoEncodeContext->rc_max_rate = 2 * 1000 * 1000;&#xA;        VideoEncodeContext->rc_min_rate = 3 * 1000 * 1000;&#xA;        VideoEncodeContext->framerate = framerate;&#xA;        VideoEncodeContext->max_b_frames = 0;&#xA;        VideoEncodeContext->time_base = ffmpeg.av_inv_q(framerate);&#xA;        VideoEncodeContext->flags |= ffmpeg.AV_CODEC_FLAG_GLOBAL_HEADER;&#xA;&#xA;        ffmpeg.av_opt_set(VideoEncodeContext->priv_data, "preset", "slow", 0);&#xA;        ffmpeg.av_opt_set(VideoEncodeContext->priv_data, "vprofile", "baseline", 0);&#xA;&#xA;        if (ffmpeg.avcodec_open2(VideoEncodeContext, videoEncoder, null) &lt; 0)&#xA;        {&#xA;            //throw&#xA;        }&#xA;&#xA;        ffmpeg.avcodec_parameters_from_context(outputStream->codecpar, VideoEncodeContext);&#xA;    }&#xA;

    &#xA;

    I'm using ffmpeg 4.0.1, so I'm decoding/encoding with the new format API which I'll skip to share for now because its nothing more than following the link : https://ffmpeg.org/doxygen/3.3/group__lavc__encdec.html

    &#xA;