[Libav-user] Video Playback fast

Talgorn François-Xavier fxtalgorn at yahoo.fr
Thu Jul 2 19:22:27 CEST 2015


Hi Kevin,

I also used the .den and .num param and this led to synch issues in my project.
I tried numerous workarounds without any success.
I finally solved the synch issues by using the av_packet_rescale_ts() function that sets the timestamps based on time_base (get from streams infos).

This is my chunk of code that does it:
                avcodec_encode_video2(out_stream->codec, &styl_pkt, yuv_pix->av_frame, &got_something);
                if(!got_something)
                {
                    INFO(stderr, ":-( Unable to encode yuv frame.\n");
                    exit(0);
                }      
                //convert timestamps from in time_base to out time_base
                av_packet_rescale_ts(&styl_pkt, in_stream->time_base, out_stream->time_base);

                //log_packet(in_video_ctx->format_ctx, &orig_pkt, "Video orig. pkt");
                //log_packet(out_video_ctx->format_ctx, &styl_pkt, "Video styl. pkt");
                ret = av_write_frame(out_video_ctx->format_ctx, &styl_pkt);
                if (ret < 0)
                {
                    INFO(stderr, "Error muxing packet\n");
                    break;
                }

Hope that helps.

Le 2 juil. 2015 à 17:13, Kevin J. Brooks <kbrooks at r2c-ss.com> a écrit :

> This is were I am setting up the codec context and format:
> 
> m_videoCodecCTX->codec_id = AV_CODEC_ID_WMV2;
>     m_videoCodecCTX->bit_rate = 400000;
>     m_videoCodecCTX->width = 640;
>     m_videoCodecCTX->height = 480;
>     m_video_st.st->time_base.num = 1;
>     m_video_st.st->time_base.den = 25;
>     m_videoCodecCTX->time_base = m_video_st.st->time_base;
>     m_videoCodecCTX->gop_size = 12;
>     m_videoCodecCTX->pix_fmt = AV_PIX_FMT_YUV420P;
> 
> m_video_st.st is a AVStream pointer.  m_videoCodecCTX is a m_videoCodecCTX pointer.
> 
> Sincerely,
> Kevin J. Brooks
> Senior Software Engineer
> R2C Support Services
> 200 West Side Square Suite 604
> Huntsville, AL 35801
> Office: 256-684-8383 ext. 104 
> 
> <sdvosb.png>
> On 7/2/2015 9:59 AM, Talgorn François-Xavier wrote:
>> Hi,
>> 
>> Frames/second shouldn't be an issue in itself. It might be because of time_base parameter.
>> To help you better, could you provide the code used ?
>> 
>> Le 2 juil. 2015 à 16:41, Kevin J. Brooks <kbrooks at r2c-ss.com> a écrit :
>> 
>>> Hi all,
>>> 
>>> I am successfully saving video in a wmv format, capturing from a video capture card.  However, the play back in windows media is just a bit fast.  I am attempting to save at 25 frames per second, but the properties on the wmv file states it is 30 fps.  What should I be looking at to get this set up right?
>>> 
>>> Thanks,
>>> Kevin
>>> _______________________________________________
>>> Libav-user mailing list
>>> Libav-user at ffmpeg.org
>>> http://ffmpeg.org/mailman/listinfo/libav-user
>> _______________________________________________
>> Libav-user mailing list
>> Libav-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/libav-user
>> 
> 
> _______________________________________________
> Libav-user mailing list
> Libav-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/libav-user

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20150702/0a2ca918/attachment.html>


More information about the Libav-user mailing list