ПРИМЕЧАНИЕ. Этот вопрос заменен новым , пожалуйста, не отвечайте под этим сообщением.
Что произошло?
[Редактировать] Файл DVB («файл1») в формате TS H.264/AC3@50i не может быть правильно преобразован в любой из следующих форматов: isom/mp4; QuickTime MOV; Матроска
Другой файл DVB («файл2») в формате TS MPEG-2/MP2@59.94i может быть правильно преобразован в любой из следующих форматов: MPEG; изом/mp4. QuickTime MOV и Матроску не пробовал.
[Обновление] Еще один файл в формате TS H.264/AAC@29.97p может быть корректно перемультирован в isom/mp4 без проблем, не требуя каких-либо переключателей ffmpeg, кроме копии -i, -c.
Технические подробности
FFMpeg сообщает о миллионах следующих сообщений об ошибках с любой возможной комбинацией этих переключателей или без нее: -fflags +genpts, -fflags +igndts, -fflags +discardcorrupt
ffmpeg.exe -fflags +igndts -fflags +genpts -fflags +discardcorrupt -i INPUT -c copy -format mp4 OUTPUT
AVIDemux завершает работу с неправильными метаданными и ошибочным воспроизведением. Свойства файла и поведение при воспроизведении напоминают созданные FFMpeg.
[Изменить] MP4box выдает следующие предупреждения 2 раза и создает неровное изображение с неправильной частотой кадров, как указано выше. Если вы внимательно просмотрите получившееся видео, вы увидите изображение с множеством блоков; этого нет в исходном файле.
mp4box.exe -fps 50 -add "INPUT#video" OUTPUT
Мои вопросы, подробно
1 Что такое "DTS" и "PTS"? Кажется, они мешают успешному ремуксированию.
2 Это связано с повреждением файла или ошибкой программного обеспечения (см. https://trac.ffmpeg.org/ticket/4768 и https://trac.ffmpeg.org/ticket/502 )?
3 Если это программная ошибка, каковы обходные пути?
4 Приветствуется любое работоспособное решение, преобразующее транспортные потоки MPEG в MP4. MPEG-TS занимает слишком много накладных расходов и плохо поддерживается на разных платформах и системах.
Диагностическая информация
- дамп MediaInfo для файла 1, файла 2 и файла 1, преобразованный в mp4 с помощью FFMpeg
http://pastebin.ca/3966322
Чтобы ответить на часть вашего вопроса (и добавить пару других сокращений, с которыми вы столкнетесь):
Элементарные потоки MPEG переупорядочивают кадры для передачи. PTS указывает порядок, в котором кадры должны быть повторно собраны. DTS сообщает декодеру, нужно ли декодировать кадр, до его отображения (поскольку на него ссылается кадр P или B). PCR или SCR представляют собой шкалу времени, на которую ссылаются PTS и DTS.
tstools и другие анализаторы транспортных потоков могут помочь вам определить, находится ли проблема PCR/PTS/DTS в исходном файле или нет.
Гьян
пользователь786008
Гьян
store method
необычен. Попробуйте с ffmbc . Если вы не можете скомпилировать, получите более старый двоичный файл с сайта videohelp.com/software/ffmbc.пользователь786008
-mpegts_service_type advanced_codec_digital_hdtv -mpegts_m2ts_mode false -mpegts_flags system_b
; работает в FFMbc с-fflags +genpts
указанным. TS→mp4 преуспел в FFMbc (0.7.2) с-fflags +genpts -f mp4
указанным. Взлом ffmbc сработал для этого и некоторых других файлов, с остальными все равно не получилось. Проблема, по-видимому, связана с отметкой времени. Новый вопрос был опубликован, чтобы заменить этот.