FFmpeg(C/libav) VPX для потока mpeg2video нельзя воспроизвести в VLC

В настоящее время я пытаюсь перекодировать видео VPX(VP8/VP9) в mpeg2video и транслировать его по UDP с помощью mpegts.

Я инициализировал все контексты и потоки, и пока я транслирую его, чтобы он работал, если я отправляю поток в VLC или другой проигрыватель, получатель отображает только первый кадр и больше ничего не делает. Если я делаю то же самое через командную строку, это работает безупречно - ffmpeg -re -i video.webm -an -f mpegts udp://127.0.0.1:8080

Мой выходной контекст:

this->output_codec_ctx_->codec_type    = AVMEDIA_TYPE_VIDEO; // Set media type
this->output_codec_ctx_->pix_fmt       = AV_PIX_FMT_YUV420P; // Set stream pixel format
this->output_codec_ctx_->time_base.den = ceil(av_q2d(input_stream->r_frame_rate));     // Add the real video framerate. Eg.: 29.9
this->output_codec_ctx_->time_base.num = 1;                  // Numerator of the framerate. Eg.: num/29.9
this->output_codec_ctx_->width         = input_stream->codecpar->width;  // Video width
this->output_codec_ctx_->height        = input_stream->codecpar->height; // Video height
this->output_codec_ctx_->bit_rate      = 400000; // Video quality
this->output_codec_ctx_->gop_size      = 12;
this->output_codec_ctx_->max_b_frames  = 2;
this->output_codec_ctx_->framerate     = this->input_codec_ctx_->framerate;
this->output_codec_ctx_->sample_aspect_ratio     = this->input_codec_ctx_->sample_aspect_ratio;

Мой av_dump:

Output #0, mpegts, to 'udp://127.0.0.1:20010':
  Metadata:
    encoder         : Lavf57.72.101
    Stream #0:0: Video: mpeg2video (Main), 1 reference frame, yuv420p, 480x640 (0x0), q=2-31, 400 kb/s, SAR 1:1 DAR 3:4, 24 fps, 24 tbr, 90k tbn

FFMPEG av_dump:

Output #0, mpegts, to 'udp://127.0.0.1:20010':
  Metadata:
    title           : Tears of Steel
    encoder         : Lavf57.72.101
    Stream #0:0: Video: mpeg2video (Main), yuv420p, 480x640 [SAR 1:1 DAR 3:4], q=2-31, 200 kb/s, 24 fps, 90k tbn, 24 tbc (default)
    Metadata:
      encoder         : Lavc57.96.101 mpeg2video
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1

Любая идея о том, что я могу делать неправильно?

0 ответов

Другие вопросы по тегам