Avconv не может генерировать временные метки PTS

Я генерирую поток H264 из неподвижных изображений, как это:

avconv -y -r 25 -i dummy_%d.tif dummy.h264

При попытке мультиплексировать в матроску с

avconv -i dummy.h264 -c:v copy dummy.mkv

Я получаю следующую ошибку:

[matroska @ 0x8c1860] Can't write packet with unknown timestamp
av_interleaved_write_frame(): Invalid argument

Таким образом, avconv не генерировал временные метки для кадров, и, поскольку matroska нуждается в них для индексирования, мультиплексирование не выполняется, верно?

Проигрыватели стокового видео сходят с ума, когда пытаются создать поток:

mplayer dummy.h264

No pts value from demuxer to use for frame!
Video pts after filters MISSING
V: ???     0/  0 ??% ??% ??,?% 0 0 

mpv dummy.h264

No video PTS! Making something up.
V: 00:00:00 / 00:00:00 (77%)

Теперь, если я сделаю:

avconv -i dummy.h264 dummy.mkv

Это на самом деле работает, но в необработанном потоке H264 внутри контейнера matroska по-прежнему отсутствует информация PTS..! Это можно подтвердить с помощью "avconv -i dummy.mkv test.h264" и т. Д.

Для конкретного проекта, который я делаю, мне нужен сырой поток H264 с правильной информацией PTS. Как же я могу достичь этого!?

Я также имею дело с видео, записанными с IP-камер, которые часто содержат недостающую / ошибочную информацию PTS, поэтому я должен иметь возможность исправить их PTS перед помещением их в контейнер matroska - в противном случае мультиплексирование завершится неудачно, т.е. проблема идентична той, что описано здесь для генерации видео из неподвижных изображений.

До сих пор я пытался для генерации видео:

avconv -y -fflags +genpts -r 25 -i dummy_%d.tif dummy.h264

avconv -y -fflags genpts -r 25 -i dummy_%d.tif -fflags genpts dummy.h264

И для мультиплексирования:

avconv -y -r 25 -i dummy.h264 -r 25 -fflags genpts -filter:v "setpts=PTS-STARTPTS" dummy2.h264

avconv -fflags +genpts -i dummy.h264 -c:v copy dummy.mkv

avconv -y -r 25 -fflags +genpts -i dummy.h264 -c:v copy dummy.mkv

.. и много других перестановок.

Ничего не работает! .. это начинает казаться мне ошибкой Я использую avconv 9.16-6:9.16 в Ubuntu 14.04.

Начиная отчаяться.

Кто-нибудь имел успех в создании PTS с помощью avconv?

1 ответ

Пытаться

mkvmerge -o output.mkv in.mkv
Другие вопросы по тегам