<div dir="ltr">Hi,<div><br></div><div>I have a problem with remuxing mpegts output from DVB DVR device to mpegts with selected streams only. DVR file contains while transport stream from transponder and I want to remux it to transport stream containing only selected service. First, av_read_frame returns all streams, seems that marking streams and probrams as AVDISCARD_ALL doesn't have an effect on it. Other problem is that after some number of demuxed frames it starts to return<font face="arial, helvetica, sans-serif"> <span style="background-color:rgb(251,252,253);color:rgb(0,0,0);font-size:13px;white-space:pre-wrap">AVERROR_BUFFER_TOO_SMALL. Here is the code (sorry for mess, it is proof of concept code before cleaning up):</span></font></div><div><font face="arial, helvetica, sans-serif"><span style="background-color:rgb(251,252,253);color:rgb(0,0,0);font-size:13px;white-space:pre-wrap"><br></span></font></div><div><span style="background-color:rgb(251,252,253)"><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">void log_packet(const AVFormatContext *fmt_ctx, const AVPacket *pkt)</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">{</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  LOG(TRACE) << pkt->stream_index << ":" << (pkt->flags & AV_PKT_FLAG_KEY ? " K" : "");</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">}</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">void thread_exec()</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">{</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  AVOutputFormat *ofmt = NULL;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  AVFormatContext *ifmt_ctx = NULL, *ofmt_ctx = NULL;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  </span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  const char *in_filename, *out_filename;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  in_filename  = "/dev/dvb/adapter0/dvr0";</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  out_filename = "stream.ts";</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  //av_log_set_level(AV_LOG_QUIET);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  av_register_all();</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  LOG(DEBUG) << "Opening input stream";</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  AVInputFormat ifmt;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  memset(&ifmt, 0, sizeof(ifmt));</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  <a href="http://ifmt.name">ifmt.name</a> = "mpegts";</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  //ifmt.flags = AVFMT_NOFILE;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  if (avformat_open_input(&ifmt_ctx, in_filename, /*&ifmt*/0, 0) < 0)</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    printf("Could not open input file '%s'", in_filename);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    return;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    </span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  if (avformat_find_stream_info(ifmt_ctx, 0) < 0)</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    printf("Failed to retrieve input stream information");</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    return;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  av_dump_format(ifmt_ctx, 0, in_filename, 0);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  LOG(DEBUG) << "Number of input programs: " << ifmt_ctx->nb_programs;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  LOG(DEBUG) << "Number of input streams: " << ifmt_ctx->nb_streams;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  LOG(DEBUG) << "Streams for program " << 27;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  // finding program index</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  // discard everything else</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  int program_index = -1;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  for (size_t i = 0; i < ifmt_ctx->nb_programs; i++)</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    if (ifmt_ctx->programs[i]->id == 27)</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      program_index = i;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      for (size_t j = 0; j < ifmt_ctx->programs[i]->nb_stream_indexes; j++)</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">        LOG(DEBUG) << ifmt_ctx->programs[i]->stream_index[j];</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    else</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      ifmt_ctx->programs[i]->discard = AVDISCARD_ALL;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  </span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  // LUT input stream index to output stream index</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  std::unique_ptr<int[]> in_to_out(new int[ifmt_ctx->nb_streams]);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  // discard all streams by default</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  for (size_t i = 0; i < ifmt_ctx->nb_streams; i++)</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    ifmt_ctx->streams[i]->discard = AVDISCARD_ALL;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    in_to_out[i] = -1;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  avformat_alloc_output_context2(&ofmt_ctx, NULL, NULL, out_filename);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  if (!ofmt_ctx)</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    printf("Could not create output context\n");</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    return;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  </span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  // copying streams from input to output for given program</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  ofmt = ofmt_ctx->oformat;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  for (size_t i = 0; i < ifmt_ctx->programs[program_index]->nb_stream_indexes; i++)</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    int si = ifmt_ctx->programs[program_index]->stream_index[i];</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    AVStream *in_stream = ifmt_ctx->streams[si];</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    // getting codec parameters from input stream, only known media types</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    // should be demuxed and muxed back</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    switch (in_stream->codecpar->codec_type)</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      case AVMEDIA_TYPE_VIDEO:</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      case AVMEDIA_TYPE_AUDIO:</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      case AVMEDIA_TYPE_SUBTITLE:</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">        LOG(DEBUG) << "copying stream " << si << "->" << i;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">        in_to_out[si] = i;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">        in_stream->discard = AVDISCARD_DEFAULT;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">        AVStream *out_stream = avformat_new_stream(ofmt_ctx, 0);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">        if (!out_stream)</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">        {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">          printf("Failed allocating output stream\n");</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">          return;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">        }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">        if (avcodec_parameters_copy(out_stream->codecpar, in_stream->codecpar) < 0)</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">        {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">          printf("Cannot get parameters from context\n");</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">          return;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">        }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">        break;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      default:</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">        break;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  LOG(DEBUG) << "Number of output streams: " << ofmt_ctx->nb_streams;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  av_dump_format(ofmt_ctx, 0, out_filename, 1);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  if (avio_open(&ofmt_ctx->pb, out_filename, AVIO_FLAG_WRITE) < 0)</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    printf("Could not open output file '%s'", out_filename);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    return;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  if (avformat_write_header(ofmt_ctx, NULL) < 0)</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    printf("Error occurred when writing header to output file\n");</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    return;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  // reading input stream</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  AVPacket pkt;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  while (continue_)</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    av_init_packet(&pkt);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    auto ret = av_read_frame(ifmt_ctx, &pkt);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    if (ret < 0)</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      char buf[10240];</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      av_strerror(ret, buf, 10240);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      LOG(WARNING) << "av_read_frame returned error: " << buf;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      av_packet_unref(&pkt);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      </span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      this_thread::sleep_for(std::chrono::milliseconds(100));</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      continue;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    log_packet(ifmt_ctx, &pkt);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    int osi = in_to_out[pkt.stream_index];</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    if (osi != -1)</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      AVStream *in_stream, *out_stream;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      in_stream  = ifmt_ctx->streams[pkt.stream_index];</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      out_stream = ofmt_ctx->streams[osi];</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      </span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      /* copy packet */</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      pkt.pts = av_rescale_q_rnd(pkt.pts, in_stream->time_base, out_stream->time_base, (enum AVRounding)(AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX));</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      pkt.dts = av_rescale_q_rnd(pkt.dts, in_stream->time_base, out_stream->time_base, (enum AVRounding)(AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX));</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      pkt.duration = av_rescale_q(pkt.duration, in_stream->time_base, out_stream->time_base);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      pkt.pos = -1;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      pkt.stream_index = osi;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      if (av_interleaved_write_frame(ofmt_ctx, &pkt) < 0)</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      {</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">        fprintf(stderr, "Error muxing packet\n");</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">        break;</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">    av_packet_unref(&pkt);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  }</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  av_write_trailer(ofmt_ctx);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap"><br></span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  avformat_close_input(&ifmt_ctx);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  /* close output */</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  if (ofmt_ctx && !(ofmt->flags & AVFMT_NOFILE))</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">      avio_close(ofmt_ctx->pb);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">  avformat_free_context(ofmt_ctx);</span></font></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">}</span></font></div><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:13px;white-space:pre-wrap"><br></div><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:13px;white-space:pre-wrap"><br></div><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:13px;white-space:pre-wrap">And output:</div><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:13px;white-space:pre-wrap"><br></div><div><font color="#000000" face="monospace, monospace"><span style="white-space:pre-wrap">[2016-10-23 11:26:44,540] [D] [2904533824] [file-reader.cpp:65] Opening input stream
[NULL @ 0xafa54100] SPS unavailable in decode_picture_timing
[NULL @ 0xafa54100] non-existing PPS 0 referenced
[h264 @ 0xafa54100] SPS unavailable in decode_picture_timing
[h264 @ 0xafa54100] non-existing PPS 0 referenced
[h264 @ 0xafa54100] decode_slice_header error
[h264 @ 0xafa54100] no frame!
...
[h264 @ 0xafa677e0] SPS unavailable in decode_picture_timing
[h264 @ 0xafa677e0] non-existing PPS 0 referenced
[h264 @ 0xafa677e0] SPS unavailable in decode_picture_timing
[h264 @ 0xafa677e0] non-existing PPS 0 referenced
[h264 @ 0xafa677e0] decode_slice_header error
[h264 @ 0xafa677e0] no frame!
[mpegts @ 0xafa07da0] PES packet size mismatch
[mpegts @ 0xafa07da0] PES packet size mismatch
[h264 @ 0xafa677e0] SPS unavailable in decode_picture_timing
[h264 @ 0xafa677e0] non-existing PPS 0 referenced
[h264 @ 0xafa30b00] error while decoding MB 34 20, bytestream -10
[h264 @ 0xafa30b00] concealing 735 DC, 735 AC, 735 MV errors in B frame
[h264 @ 0xafa54100] error while decoding MB 11 20, bytestream -63
[h264 @ 0xafa54100] concealing 758 DC, 758 AC, 758 MV errors in I frame
[h264 @ 0xafa57ac0] Increasing reorder buffer to 2
[h264 @ 0xafa57ac0] error while decoding MB 1 10, bytestream -12
[h264 @ 0xafa57ac0] concealing 1218 DC, 1218 AC, 1218 MV errors in B frame
[h264 @ 0xafa61320] error while decoding MB 26 6, bytestream -14
[h264 @ 0xafa61320] concealing 1373 DC, 1373 AC, 1373 MV errors in B frame
[h264 @ 0xafa677e0] SPS unavailable in decode_picture_timing
[h264 @ 0xafa677e0] non-existing PPS 0 referenced
[h264 @ 0xafa677e0] decode_slice_header error
[h264 @ 0xafa677e0] no frame!
[mpegts @ 0xafa07da0] decoding for stream 2 failed
[mpegts @ 0xafa07da0] decoding for stream 3 failed
[mpegts @ 0xafa07da0] decoding for stream 4 failed
[mpegts @ 0xafa07da0] decoding for stream 7 failed
[mpegts @ 0xafa07da0] decoding for stream 13 failed
[mpegts @ 0xafa07da0] decoding for stream 17 failed
[mpegts @ 0xafa07da0] Could not find codec parameters for stream 6 (Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0xafa07da0] Could not find codec parameters for stream 17 (Video: h264 ([27][0][0][0] / 0x001B), none): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0xafa07da0] Could not find codec parameters for stream 28 (Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0xafa07da0] Could not find codec parameters for stream 29 (Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0xafa07da0] Could not find codec parameters for stream 31 (Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0xafa07da0] Could not find codec parameters for stream 33 (Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0xafa07da0] Could not find codec parameters for stream 34 (Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from '/dev/dvb/adapter0/dvr0':
  Duration: N/A, start: 29689.269567, bitrate: N/A
  Program 27
    Metadata:
      service_name    : 8TV
      service_provider: EmiTel
    Stream #0:7[0xa8e]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 720x576 [SAR 16:11 DAR 20:11], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:21[0xa8f](pol): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 256 kb/s
    Stream #0:33[0xa93]: Unknown: none ([5][0][0][0] / 0x0005)
  Program 28
    Metadata:
      service_name    : TTV
      service_provider: EmiTel
    Stream #0:3[0xaf2]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 720x576 [SAR 16:11 DAR 20:11], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:24[0xaf3](pol): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s
    Stream #0:22[0xaf4](mul): Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 384 kb/s
    Stream #0:18[0xaf5](pol,pol): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006), 492x250
    Stream #0:34[0xaf7]: Unknown: none ([5][0][0][0] / 0x0005)
  Program 29
    Metadata:
      service_name    : Polo TV
      service_provider: EmiTel
    Stream #0:4[0xb56]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 720x576 [SAR 16:11 DAR 20:11], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:5[0xb57](pol): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 256 kb/s
    Stream #0:6[0xb5b]: Unknown: none ([5][0][0][0] / 0x0005)
  Program 30
    Metadata:
      service_name    : ATM Rozrywka
      service_provider: EmiTel
    Stream #0:15[0xbba]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 720x576 [SAR 16:11 DAR 20:11], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:11[0xbbb](pol): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s
    Stream #0:8[0xbbd](pol): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006), 492x250
    Stream #0:32[0xbbe](pol): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired)
    Stream #0:12[0xbc0](aux): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s (visual impaired)
  Program 50
    Metadata:
      service_name    : TV Trwam
      service_provider: EmiTel
    Stream #0:0[0x138b](pol): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s
    Stream #0:1[0x138d](pol): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)
    Stream #0:2[0x1394]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 720x576 [SAR 16:11 DAR 20:11], 25 fps, 25 tbr, 90k tbn, 50 tbc
  Program 51
    Metadata:
      service_name    : TVP ABC
      service_provider: EmiTel
    Stream #0:13[0x13ee]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 720x576 [SAR 12:11 DAR 15:11], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:9[0x13ef](pol): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s
    Stream #0:23[0x13f0](org): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 384 kb/s
    Stream #0:30[0x13f2](pol): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
    Stream #0:31[0x13f3]: Unknown: none ([5][0][0][0] / 0x0005)
    Stream #0:14[0x13f4](aux): Audio: eac3 (EAC3 / 0x33434145), 48000 Hz, stereo, fltp, 96 kb/s (visual impaired)
  Program 52
    Metadata:
      service_name    : Stopklatka TV
      service_provider: EmiTel
    Stream #0:26[0x1452]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 720x576 [SAR 16:11 DAR 20:11], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:16[0x1453](pol): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s
    Stream #0:25[0x1454](org): Audio: eac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 256 kb/s
    Stream #0:27[0x1456](pol): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
    Stream #0:28[0x1457]: Unknown: none ([5][0][0][0] / 0x0005)
  Program 53
    Metadata:
      service_name    : Fokus TV
      service_provider: EmiTel
    Stream #0:17[0x14b6]: Video: h264 ([27][0][0][0] / 0x001B), none, 25 fps, 25 tbr, 90k tbn
    Stream #0:20[0x14b7](pol): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 256 kb/s
    Stream #0:10[0x14b9](pol,pol): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006), 492x250
    Stream #0:29[0x14bb]: Unknown: none ([5][0][0][0] / 0x0005)
    Stream #0:19[0x14bc](aux): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 128 kb/s (visual impaired)
[2016-10-23 11:26:46,705] [D] [2904533824] [file-reader.cpp:88] Number of input programs: 8
[2016-10-23 11:26:46,706] [D] [2904533824] [file-reader.cpp:89] Number of input streams: 35
[2016-10-23 11:26:46,706] [D] [2904533824] [file-reader.cpp:91] Streams for program 27
[2016-10-23 11:26:46,706] [D] [2904533824] [file-reader.cpp:102] 7
[2016-10-23 11:26:46,706] [D] [2904533824] [file-reader.cpp:102] 21
[2016-10-23 11:26:46,706] [D] [2904533824] [file-reader.cpp:102] 33
[2016-10-23 11:26:46,707] [D] [2904533824] [file-reader.cpp:145] copying stream 7->0
[2016-10-23 11:26:46,707] [D] [2904533824] [file-reader.cpp:145] copying stream 21->1
[2016-10-23 11:26:46,707] [D] [2904533824] [file-reader.cpp:165] Number of output streams: 2
Output #0, mpegts, to 'stream.ts':
    Stream #0:0: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 720x576 [SAR 16:11 DAR 20:11], q=2-31
    Stream #0:1: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 256 kb/s
[2016-10-23 11:26:46,709] [T] [2904533824] [file-reader.cpp:47] 10: K
[2016-10-23 11:26:46,709] [T] [2904533824] [file-reader.cpp:47] 8: K
[2016-10-23 11:26:46,709] [T] [2904533824] [file-reader.cpp:47] 18: K
[2016-10-23 11:26:46,709] [T] [2904533824] [file-reader.cpp:47] 3:
[2016-10-23 11:26:46,711] [T] [2904533824] [file-reader.cpp:47] 1: K
[2016-10-23 11:26:46,712] [T] [2904533824] [file-reader.cpp:47] 13:
[2016-10-23 11:26:46,712] [T] [2904533824] [file-reader.cpp:47] 10: K
[2016-10-23 11:26:46,712] [T] [2904533824] [file-reader.cpp:47] 8: K
[2016-10-23 11:26:46,712] [T] [2904533824] [file-reader.cpp:47] 4:
...
[2016-10-23 11:26:46,870] [T] [2904533824] [file-reader.cpp:47] 7:
[2016-10-23 11:26:46,870] [T] [2904533824] [file-reader.cpp:47] 9: K
[2016-10-23 11:26:46,871] [T] [2904533824] [file-reader.cpp:47] 11: K
[2016-10-23 11:26:46,871] [T] [2904533824] [file-reader.cpp:47] 12: K
[2016-10-23 11:26:46,871] [T] [2904533824] [file-reader.cpp:47] 13:
[2016-10-23 11:26:46,873] [T] [2904533824] [file-reader.cpp:47] 14: K
[2016-10-23 11:26:46,873] [T] [2904533824] [file-reader.cpp:47] 15:
[2016-10-23 11:26:46,873] [T] [2904533824] [file-reader.cpp:47] 16: K
[2016-10-23 11:26:46,873] [T] [2904533824] [file-reader.cpp:47] 17:
[2016-10-23 11:26:46,874] [T] [2904533824] [file-reader.cpp:47] 19: K
[2016-10-23 11:26:46,874] [T] [2904533824] [file-reader.cpp:47] 20: K
[2016-10-23 11:26:46,874] [T] [2904533824] [file-reader.cpp:47] 21: K
[2016-10-23 11:26:46,875] [T] [2904533824] [file-reader.cpp:47] 22: K
[2016-10-23 11:26:46,875] [T] [2904533824] [file-reader.cpp:47] 23: K
[2016-10-23 11:26:46,875] [T] [2904533824] [file-reader.cpp:47] 24: K
[2016-10-23 11:26:46,875] [T] [2904533824] [file-reader.cpp:47] 25: K
[2016-10-23 11:26:46,875] [T] [2904533824] [file-reader.cpp:47] 26:
[2016-10-23 11:26:46,876] [W] [2904533824] [file-reader.cpp:188] av_read_frame returned error: Value too large for defined data type
[2016-10-23 11:26:46,976] [W] [2904533824] [file-reader.cpp:188] av_read_frame returned error: Value too large for defined data type
[2016-10-23 11:26:47,076] [W] [2904533824] [file-reader.cpp:188] av_read_frame returned error: Value too large for defined data type
[2016-10-23 11:26:47,177] [W] [2904533824] [file-reader.cpp:188] av_read_frame returned error: Value too large for defined data type
...</span></font><span style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:13px;white-space:pre-wrap">
</span></div><div><br></div><div><br></div><div><br></div><div>Best regards</div><div>Piotr</div><div><br></div></span></div><div><span style="background-color:rgb(251,252,253);color:rgb(0,0,0);font-family:monospace,fixed;font-size:13px;white-space:pre-wrap"><br></span></div><div><span style="background-color:rgb(251,252,253);color:rgb(0,0,0);font-family:monospace,fixed;font-size:13px;white-space:pre-wrap"><br></span></div></div>