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 <[email protected]> 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 <[email protected]> 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
>>> [email protected]
>>> http://ffmpeg.org/mailman/listinfo/libav-user
>> _______________________________________________
>> Libav-user mailing list
>> [email protected]
>> http://ffmpeg.org/mailman/listinfo/libav-user
>>
>
> _______________________________________________
> Libav-user mailing list
> [email protected]
> http://ffmpeg.org/mailman/listinfo/libav-user
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user