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?