Newest 'ffmpeg' Questions - Stack Overflow

http://stackoverflow.com/questions/tagged/ffmpeg

Les articles publiés sur le site

  • HTML5 video player stutters even after video is loaded [migrated]

    24 octobre 2013, par Adi Ulici

    I am using jwplayer to display videos on my websites but cannot manage to make them running smoothly. They stutter, especially in full screen, although I wait for the video to fully load.

    I tried decreasing the video quality from by decreasing the bitrate from 3000k to 1800k (I use ffmpeg to convert the videos). The resolution of the videos is 1280x720 (HD).

    Any tips what should I try next? Thanks

  • Statement has no effect 'AVPacket'

    24 octobre 2013, par ssrp

    I am developing a Decoder using android NDK and FFmpeg native libraries. I have put Native Support for the project using Android Tools and I have the C code in videodecoder.cpp file. In the file the following function gives me this problem

    JNIEXPORT jint Java_ssrp_android_ffmpegdecoder_H264Decoder_consumeNalUnitsFromDirectBuffer(
            JNIEnv* env, jobject thiz, jobject nal_units, jint num_bytes,
            jlong pkt_pts) {
        DecoderContext *ctx = get_ctx(env, thiz);
    
        void *buf = NULL;
        if (nal_units == NULL) {
            D("Received null buffer, sending empty packet to decoder");
        } else {
            buf = env->GetDirectBufferAddress(nal_units);
            if (buf == NULL) {
                D("Error getting direct buffer address");
                return -1;
            }
        }
    
        AVPacket packet = {.data = (uint8_t*) buf, .size = num_bytes, .pts = pkt_pts };
    
        int frameFinished = 0;
        int res = avcodec_decode_video2(ctx->codec_ctx, ctx->src_frame,&frameFinished, &packet);
    
        if (frameFinished)
            ctx->frame_ready = 1;
    
        return res;
    }
    

    At the line AVPacket packet = {.data = (uint8_t*) buf, .size = num_bytes, .pts = pkt_pts };

    It says that `Statement has no effect "AVPAcket" and

    At the line int res = avcodec_decode_video2(ctx->codec_ctx, ctx->src_frame,&frameFinished, &packet);

    It says that Invalid arguments ' Candidates are: int avcodec_decode_video2(AVCodecContext *, AVFrame *, int *, const AVPacket *)'

  • Using FFmpeg native libraries with Android-NDK

    24 octobre 2013, par ssrp

    I could write a simple "Hello World" app and got it to compile and run ok, I know how to setup basic structure of an Android project to use native libraries. Could any one tell me how to use FFmpeg libraries to decode a video;

    • How to write a .cpp file to decode a video file using the libraries(Open, Decode, Save)
    • How to setup source files(in my case .cpp files) with Android.mk file

    Please could anyone help.

  • ffmpeg for iOS simulator - Undefined symbols for architecture i386

    24 octobre 2013, par chopchop

    I'm having an issue building my app that uses ffmpeg. I'm running Xcode 5 and targeting iOS 6.1. When building, I'm getting link errors for the ffmpeg functions:

    Undefined symbols for architecture i386:
       av_init_packet(AVPacket*), referenced from:
      "avcodec_find_decoder(AVCodecID)", referenced from:
       etc...
       ld: symbol(s) not found for architecture i386
    

    I think I built the libraries correctly because when I run for instance

    nm libavcodec.a -arch i386 | grep av_init_packet
    

    I get

    nm: no name list
    00000030 T _av_init_packet
             U _av_init_packet
    

    I looked everywhere on SO and wasn't able to solve my problem.

  • Moving the moov atom from the end to the beginning of an mp4 file [on hold]

    24 octobre 2013, par Jakanapes

    I have an mp4 video file with the moov atom at the end of the file and I need to move it it to the front.

    ffmpeg has the -movflags faststart option that seems to be what I want, but I haven't had much luck as n ffmpeg newbie in crafting the command to get it to work.

    Is this the correct way to go about this or is there a better/easier tool I can use?