Recherche avancée

Médias (1)

Mot : - Tags -/censure

Autres articles (50)

Sur d’autres sites (8992)

  • Crash in ffmpeg avcodec_free_context in one application but not in other

    5 novembre 2017, par geekowl

    I am building an application in C++ on Windows 10 using Microsoft Visual Studio 2012 Professional.

    I have created a wrapper library around ffmpeg (libavcodec) to encode video in H.264 format using libx264. This wrapper contains following functions :

    Initialize()
    Open()
    EncodeFrame()
    Close()
    Uninitialize()

    I created a test application to test the wrapper library. The test application works perfectly fine.

    When I use the wrapper library in my actual main application, the main application crashes in Close() API. Inside close, it crashes in avcodec_free_context(). The difference between the main application and the test application is that the main application links with some more dependent libraries that test application does not link with.

    To debug the problem in the main application, I put avcodec_free_context() in Open() after the context is allocated. The crash occurs if avcodec_free_context() is put at a certain point as shown below.

    pCodecContext = avcodec_alloc_context3(pCodec);

    // <---- No crash here.

    pCodecContext->bit_rate = 200000;
    pCodecContext->width = 320;
    pCodecContext->height = 240;
    .
    .
    .
    if (pCodec->id == AV_CODEC_ID_H264)
    {
       av_opt_set(pCodecContext->priv_data, "preset", "slow", 0);
       av_opt_set(pCodecContext->priv_data, "tune", "zerolatency", 0);
    }

    pCodecContext->flags |= CODEC_FLAG_GLOBAL_HEADER;

    // <-- No crash here

    if (avcodec_open2(pCodecContext, pCodec, NULL) < 0)
    {
       return -1;
    }

    // <-- Crash here [avcodec_free_context(&pCodecContext);]

    What is a correct approach to identify and resolve this problem ?

    Thanks in advance.

    Update

    I found out that ffmpeg was built using gcc. That was causing the crash. I rebuilt ffmpeg using Visual Studio. That solved problem.

  • I want to reduce video size using ffmpeg

    4 mars 2017, par Trupen Meruliya

    I don’t know how implement ffmpeg with android can any one help me step by step procedure to implement ffmpeg with android studio

  • How to android ndk gradle experimental ffmpeg include ?

    6 novembre 2015, par omep200

    Android Studio 1.4.1

    gradle version 2.6 (gradle-experimental:0.3.0-alpha5)

    NDK Bulid

    How to use ffmpeg lib ?