[FFmpeg-user] MPEGTS muxing, DTS errors
    Sylvain 
    sylvain at lahiette.com
       
    Thu Jan 30 07:51:46 CET 2014
    
    
  
Hi all 
I am creating a MPEG2-TS with a,H264 stream, and i have  the following 
error messages, nearly for each frame i encode : 
	[mpegts @ 0x15459c0] dts < pcr, TS is invalid
The source code used to encode and mux the packet is the following 
(recorder is a structure from my application, it holds the needed 
structures for the compression/mux).   
int encode_function(PXL_Recorder_t  *recorder, AVFrame *pictorec)
{
  int32_t got_packet=0, ret = 0;
  av_init_packet(&recorder->packet);
  recorder->packet.data = recorder->outbuf;
  recorder->packet.size = recorder->outbuf_size;
  ret = avcodec_encode_video2(recorder->st->codec, &recorder->packet, 
pictorec, &got_packet);
  if (ret < 0) return ret;
  if (ret == 0 && got_packet && recorder->packet.size > 0)
  {
    recorder->packet.stream_index = recorder->st->index;
    ret = av_interleaved_write_frame(recorder->oc, &recorder->packet);
    //av_free_packet(&recorder->packet);
  }
  if (pictorec) pictorec->pts += av_rescale_q(1, recorder->st->codec-
>time_base, recorder->st->time_base);
  return got_packet;
}
Notes :
pictrorec is a persistant variable, the pointer is the same across 
successive calls. 
I'am capturing from a local video device, in PAL (ie 720x576 @ 25fps).
Do you see any missing stuff in this function in order to fix this 
dts<pcr messages?
Thanks for your time, 
SF
    
    
More information about the ffmpeg-user
mailing list