|
Компьютерный форум OSzone.net » Цифровые технологии » Видео и аудио: обработка и кодирование » Изменение контейнера из mkv/avi в mp4 + кодирование видео и аудио. |
|
Изменение контейнера из mkv/avi в mp4 + кодирование видео и аудио.
|
Новый участник Сообщения: 3 |
Профиль | Отправить PM | Цитировать Доброго времени суток! Пытаюсь настроить автоматическое "кодирование" фильмов из mkv/avi в mp4. Нужно сделать это автоматизированно и максимально быстро.
Цель: просто поменять контейнер, без перекодирования и потери качества, с сохранением всех звуковых дорожек, субтитров, и т.д. Нужно чтоб эти фильмы можно было проигрывать в flash плеере, и на компьютере через обыкновенные плееры. Для mkv: Поскольку нужно всё автоматизировать и сделать максимально быстро, то придётся извращаться. MP4 контейнер требует звук в aac. Видео в контейнере mkv уже ужато всяческими x264. Поэтому видео кодировать не нужно, достаточно извлекать видео дорожку. Аудиодорожки тоже надо извлекать. Те, что в aac мы только извлекаем. А те, что в ac3, dts, придётся перекодировать в aac. К сожалению не нашёл метода кодирования сразу всего файла. Для автоматизации всё будет кодироваться на линуксе, и нужны только консольные программы. ffmpeg не умеет адекватно кодировать фильмы из mkv в mp4 с сохранением качества, и всех дорожек. Он по умолчанию берет только первую дорожку, вырезая остальные. Параметры -map 0:1 и т.д. в 50% работают некорректно(т.к. видео файлы бывают разными, и даже при правильном указании количества дорожек ffmpeg часто ругается). Пришлось с помощью mediainfo, или mkvmerge, или ffprobe пропарсить всю информацию о видео файле. С помощью mkvextract tracks извлечь все дорожки, сабы. С помощью ffmpeg перекодировать ac3, dts аудиодорожки в aac. А потом MP4Box'ом упаковать в mp4 контейнер с перемещением метаданных в начало. Всё работает отлично, видео можно смотреть на любом плеере с выбором аудиодорожек. Смотреть во flash и html5 плеере с перемоткой на любой момент(псевдостриминг). Но сталкнулся с проблемой. Например для кодирования видео рамером около 10-30 GB. Если в видеофайле много звуковых дорожек, то чем больше дорожек в получаемом MP4 файле, тем дольше его открывают все плееры. Возможно причина в том, что плеер не может нормально определить продолжительность фильма. В исходном файле длина виде и аудио дорожек одинакова. Но в mp4 некоторые аудиодорожки могут отличаться по длине от видео. И чем больше таких дорожек, тем проблемнее открыть видео(плеер может минуту думать и вычислять длину фильма). Почему при извлечении дорожек и упаковке их в mp4 меняется продолжительность? Как можно "исправить" mp4 файл, чтоб он нормально открывался при большом количестве аудиодорожек? Или может кто знает другой способ кодирования mkv в mp4 без потери качества и дорожек? |
|
Отправлено: 14:33, 01-06-2012 |
fascinating rhythm Сообщения: 6608
|
Профиль | Отправить PM | Цитировать Был бы Виндоуз, может быть, подошли бы Xvid4PSP или Freemake Video Converter, с линуксом помочь, к сожалению, не могу.
|
------- Отправлено: 10:31, 03-06-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Забанен Сообщения: 6158
|
Можете попробовать avidemux-cli
$ avidemux2_cli \ > --nogui \ > --video-codec COPY \ #( или X264, если в исходнике не H.264) > --audio-codec AAC \ #(или COPY, если в исходнике уже AAC) > --output-format MP4 > --load input.mkv \ > --save output.mp4 По поводу нескольких дорожек ничего не могу сказать, документация к CLI-версии avidemux скудновата, с разбегу не нашёл, как выбирать. Субтитры отвалились (а разве MP4 умеет их держать в себе?) В общем, пробуйте, может у вас лучше получится. |
Последний раз редактировалось vadblm, 03-06-2012 в 17:30. Отправлено: 17:18, 03-06-2012 | #3 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Спасибо за совет, попробую. mp4 - это контейнер как и mkv, в него можно всё запихнуть. Чувствую что скорость кодирования уже не так важна(хотя кодироваться будут терабайты). Главное, чтоб работало)
|
Отправлено: 11:16, 04-06-2012 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Изменение звукового контейнера из DTS в Dolby Digital в mkv и m2ts | Ment69 | Видео и аудио: обработка и кодирование | 2 | 15-12-2010 17:25 | |
Мультимедиа - В какой проге делать подмену аудио, видео и сведение аудио и видео? | ab | Видео и аудио: обработка и кодирование | 24 | 16-02-2009 16:48 | |
Заливка в wmv контейнер, из mov контейнера, wmv2/3 потока видео. Чем? | EsTaF | Видео и аудио: обработка и кодирование | 0 | 01-09-2007 14:46 | |
Распределенное кодирование видео | SAN40 | Видео и аудио: обработка и кодирование | 7 | 06-04-2007 23:10 |
|