LINUX.ORG.RU

Казалось бы простая вещь

Это на самом деле очень сложная вещь. Так как резать без перекодирования можно только по ключевым кадрам (GOP структура). И даже с полным перекодированием в Avidemux возможны аудио gap'ы и артефакты звукового декодера. Казалось бы при полном пересжатии отчего бы нормально не делать, а вот даже это нетривиально.

gap'ы это когда в дорожке (например, звуковой) отсутствует поток определенное время, но это отмечено в таймкодах и плееры на этом месте обязаны вставлять тишину, чтобы синхронизация с видео не нарушилась. Плееры и конвертеры. ffmpeg, например, это отрабатывает нормально. Исключение - вывод в формат avi. Надо явно добавлять -vsync cfr -async 1. Так вот даже с полным пересжатием возможны глюки. В идеале перевести видео в монтажный формат (где каждый кадр ключевой, звук несжатый) и в нем монтировать спокойно. Или сделать proxy клип в Kdenlive. А после частичного пересжатия или даже вообще в режиме copy ты рискуешь получить настоящий видеофайл-франкенштейн, у которого видео со звуком разъедется при первой же заливки на ютуб.

anonymous
()
Ответ на: комментарий от anonymous

gap

Это что-то вроде delay (инструкция для плеера), только в середине файла, поэтому mediainfo его не показывает. Вот как я познакомился с этим явлением http://forum.ixbt.com/topic.cgi?id=29:34519 (комменты невероятно доставляют, кстати).

Кстати, обнаружил, что VOB и MPG нельзя скармливать в MKVToolnix напрямую, чревато рассинхроном (можно сначала через MakeMKV). Потому что MKVToolnix - сборище костылей и нестандартные таймкоды в MPG не учитывает и вообще с MPEG1/2 не очень дружит. Через ffmpeg можно.

anonymous
()
Ответ на: комментарий от anonymous

Но как сделать, чтобы допустим mp3 преобразовать в wav с учетом таймкода?

ffmpeg -i input.mkv -map 0:1 -c:a pcm_s16le -async 1 output.wav
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.