[Libav-user] Timestamps for AVPaket

zhivago zhivagoserg at yandex.ua
Mon Sep 19 10:50:48 CEST 2011


psychesnet wrote:
> 
> Dear zhivago,
> 
> you can try to set pkt1.pts = 0, and the ffmpeg will calculate for this
> packet.
> 
> 
> Regards, Eric Hsieh, 09/17
> 
> 2011/9/17 zhivago <zhivagoserg at yandex.ua>
> 
>> Help me please properly set the timestamps. I have created an output
>> filter,
>> which takes video (MEDIASUBTAYPE_H264) and audio (MEDIASUBTAYPE_AAC). I
>> have
>> to put it all into a container FLV. To mix the streams, I use libav. How
>> to
>> calculate for AVPacket presentation timestamp (pts).
>>
>>    static const REFERENCE_TIME UNITS_PER_SECOND = 10000000i64;
>>         ....
>>    REFERENCE_TIME startTime = m_lastSampleTime.startTime;
>>
>>    AVPacket pkt;
>>    av_init_packet( &pkt );
>>    pkt.data = pbData;
>>    pkt.size = lDataLength;
>>    pkt.flags |= AV_PKT_FLAG_KEY;
>>
>>    if ( video )
>>    {
>>        ASSERT( m_codecContextVideo );
>>
>>        num = m_codecContextVideo->time_base.num;
>>        den = m_codecContextVideo->time_base.den;
>>
>>        pkt1.pts          ??? // = ::MulDiv( startTime * den, 1, num *
>> UNITS_PER_SECOND );
>>        pkt1.stream_index = m_streamVideoOutput->index;
>>    }
>>    else
>>    {
>>       ASSERT( m_codecContextAudio );
>>
>>       num = m_codecContextAudio->time_base.num;
>>       den = m_codecContextAudio->time_base.den;
>>
>>       pkt1.pts          ??? // = ::MulDiv( startTime * den, 1, num *
>> UNITS_PER_SECOND );
>>       pkt1.stream_index = m_streamAudioOutput->index;
>>    }
>>
>>    ASSERT( m_formatContextOutput );
>>
>>    if ( AllConnected() )
>>    {
>>
>>        av_interleaved_write_frame( m_formatContextOutput, &pkt1 );
>>    }
>>    else
>>    {
>>        av_write_frame( m_formatContextOutput, &pkt1 );
>>    }
> 
Thanks for the feedback, Eric Hsieh. I set pkt1.pts = 0, but the
synchronized video and sound only about 1 second. Then file does not play.
Maybe have other ideas.


--
View this message in context: http://libav-users.943685.n4.nabble.com/Timestamps-for-AVPaket-tp3818534p3823325.html
Sent from the libav-users mailing list archive at Nabble.com.


More information about the Libav-user mailing list