Ищу программу для работы с mkv-файлами
Сообщений: 5
• Страница 1 из 1
Ищу программу для работы с mkv-файлами
Ищу программу для работы с mkv-файлами, хочу иметь возможность перепаковывать их, добавлять и убирать звуковые дорожки
-
nick7799
- Откуда: Энтузиастов 25
Работа с mkv файлами.
Последнее время часто попадается видео в формате mkv вместо привычного avi.
В mkv файлы зашивается несколько звуковых дорожек, несколько дорожек субтитров.
Если просто смотришь видео, то все ок.
А вот если видео редактируешь, то иногда бывает очень неудобно разбираться со всеми этими дорожками и вариантами субтитров.
К тому же лишние дорожки увеличивают размер файлов (например одна звуковая дорожка увеличивает размер файла на 30-100 Мб). К тому же под моим любимым mplayer-ом иногда не удавалось активировать нужную дорожку/субтитры.
Стал искать способы работы с mkv-файлами (точнее выдирания субтитров, вырезания "лишних" звуковых дорожек) и вот к чему пришел.
После некоторых поисков в google на глаза попался пакет mkvtoolnix.
Есть версии и для Windows и для Debian. Работать можно как из консоли, так и через графический интерфейс.
Ставим пакеты mkvtoolnix и mkvtoolnix-gui.
Сайт разработчиков:
http://www.bunkus.org/videotools/mkvtoolnix/
Репозиторий Debian (надеюсь что тот, с которого я качал (IMG:style_emoticons/0day_emo/wink.gif) )
deb http://www.debian-multimedia.org etch main
Работаем через консоль.
Посмотреть информацию о файле в консоли можно с помощью команды
mkvmerge -i filename.mkv
Она покажет список дорожек в файле, их номера + некоторые комментарии о типе каждой дорожки. Теперь, зная номера дорожек, можно извлечь к примеру субтитры с помощью команды
mkvextract tracks filename.mkv -c CP1251 4:filename-subtitles.srt
Здесь:
"filename.mkv" - имя исходного файла
"-c CP1251" - указание в какой кодировке сохранять субтитры (в данном случае в виндовой)
"4:filename-subtitles.srt" - это номер потока: "4", и название выходного файла для этого потока: "filename-subtitls.srt"
Для субтитров типы дорожек могут быть:
S_TEXT/SRT - соответственно ставим расширение файла субтитров "srt"
S_TEXT/SSA - ставим расширение файла субтитров "ssa"
S_TEXT/ASS - ставим расширение файла субтитров "ass"
иногда бывает указана кодировка субтитров: S_TEXT/UTF8
Работаем в графическом режиме.
С помощью mkvtoolnix-gui можно быстро и удобно посмотреть какие дорожки есть в файле (видео, зауковые, субтитры), какие-то убрать/добавить, изменить дорожки, которые будут использоваться "по-умолчанию" и т.п.
Итак, пример удаления дорожек из mkv файла:
1. Запускаем mkvtoolnix-gui.
2. На вкладке "Input" жмем кнопку "Add" - открываем файл, который будем редактировать.
3. В списке "Tracks" убираем галочки с тех треков, которые нам не нужны.
4. Если надо, меняем имя выходного файла в поле "Output filename".
5. Жмем кнопку "Start muxing".
После завершения операции получаем файл, в котором нет ненужных нам дорожек звука/субтитров.
(!) При удалении дорожек не забудьте на всякий случай указать дорожки по-умолчанию для видео, аудио, субтитров.
В отдельном окне показывается консольная команда, соответствующая выполняемым действиям - может помочь при написании консольных скриптов для пакетной обработки файлов.
Взято с (IMG:style_emoticons/0day_emo/software.gif)
http://nikav.blogspot.com
ЗАБЫЛ !!!
Вот ещо тут (IMG:style_emoticons/0day_emo/software.gif)
Кодирование в mencoder
После появления более-менее нормального компьютера и как следствие - кучи фильмов на нем, появилось желание что-то перекодировать, что-то ужать ( например впихнуть пару двухслойных двд в один (IMG:style_emoticons/0day_emo/wink.gif) ). Пока сидел под Windows, пользовался VirtualDub, кодировал в один проход с фиксированным качеством. Вроде все удобно, можно на ходу посмотреть что получается и т.п. Не нравилось одно - скорость кодирования, к тому же файлы по размеру получались великоваты. Через некоторое время друзья "подсадили" на mencoder и mplayer (IMG:style_emoticons/0day_emo/wink.gif). Кодировал все еще в один проход, однако скорость получалась раза в 3 выше чем в VirtualDub. Покопался в интернете, понял что народ кодирует как минимум в два прохода. Подумал - а чем я хуже (IMG:style_emoticons/0day_emo/wink.gif). Подсмотрел какие параметры обычно ставят, подкрутил под свои нужды. Перешел от указания фиксированного качества к фиксированному битрейту. Стали получаться более компактные файлы с нормальным качеством ( конечно, если с битрейтом не ошибался (IMG:style_emoticons/0day_emo/wink.gif) ). Единственный минус - снова упала скорость кодирования (из-за некоторых параметров кодировщика и использования двух проходов).
Где скачать mplayer и mencoder ( под Windows идут в составе одного архива ):
Сайт разработчиков:
http://www.mplayerhq.hu/design7/dload.html
С нашего сервера:
http://support.mobigroup.ru/files/mplayer/
Репозиторий Debian:
deb http://www.debian-multimedia.org etch main
(!) Если работаете под Windows, не забудьте скачать там же набор кодеков.
(!) Под Windows установка не требуется, можно просто распаковать программу в отдельную папку и оттуда запускать.
При кодировании с фиксированным битрейтом cтарайтесь выбирать битрейт близкий к значению, которое получается при отсутствии ограничений на размер файла.
Если ошибетесь в большую сторону, не пугайтесь - mencoder скорее всего не будет использовать весь битрейт, если фильм этого не требует.
Некоторые из моих знакомых просто указывали битрейт 3000, а реальный получался меньше (IMG:style_emoticons/0day_emo/wink.gif). Минус такого способа - непонятно какого размера получится файл.
Если вы хотите "влезть" в определенный размер, используйте памятку:
1 час (видео 800 кбит/с + аудио 128 кбит/с) примерно равен 400 Мб
Выбор битрейта видео:
Вообще, если будете часто что-то кодировать, то постепенно научитесь интуитивно выбрать битрейт, а для начала можно попробовать следующие значения для видео:
* Для обычных у двд размеров картинки 720x576 обычно достаточно 800-1500 кбит/с
* Для боевиков с большим количеством динамичных сцен ~2000 кбит/с
* Для аниме и мультфильмов обычно можно ставить битрейт процентов на 20 - 25 меньше, чем для фильма с теми же размерами картинки (потому что картинка чаще всего статичная, движения на экране мало)
Выбор битрейта звука
Битрейта 128 кбит/с хватает для большинства фильмов. Больший битрейт имеет смысл ставить для оперных фильмов. Если очень хочется сохранить звук (либо если он упорно расходится с видео - и такое иногда бывает если исходный файл разбит на несколько кусков) можно оставить звуковой поток без изменения - для этого вместо параметров "-oac mp3lame -lameopts cbr:br=$1" используйте "-oac copy"
Время необходимое на кодирование:
Пусть Т - длительность фильма.
Тогда для фильма размерами 720x576 на машине с процессором P4 3.0 GHz:
первый проход ~ 1.5 * T - 2.0 * T
второй проход ~ 1.0 * Т - 1.5 * T
итого ~ 2.5 * T - 3.5 * T
Естественно, если картинка меньше размером, то кодируется быстрее.
Двухпроходное кодирование в divx.
Команды для двухпроходного кодирования видео в divx/mp3
Параметры:
* $1 - битрейт звука
* $2 - битрейт видео
* $3 - название кодируемого файла
* Во время первого прохода собирается информация о каждом кадре фильма, звук не трогаем.
* Во время второго прохода эта информация используется для оптимизации кодирования кадров.
Первый проход:
/usr/bin/mencoder "./$3" -ffourcc divx -o "./$3-pass-1.avi" -passlogfile "./$3-divx2pass.log" -nosound -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vb_strategy=2:vhq=4:mbd=2:trell:cbp:mv0:preme=2:vbitrate=$2:v4mv:vqmin=2:vqmax=9:mpeg_quant:vlelim=-3:vcelim=5:lumi_mask=0.01:dark_mask=0.01:p_mask=0.01:autoaspect
Второй проход:
/usr/bin/mencoder "./$3" -ffourcc divx -o "./$3-pass-2.avi" -passlogfile "./$3-divx2pass.log" -oac mp3lame -lameopts cbr:br=$1 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vb_strategy=2:vhq=4:mbd=2:trell:cbp:mv0:preme=2:vbitrate=$2:v4mv:vqmin=2:vqmax=9:mpeg_quant:vlelim=-3:vcelim=5:lumi_mask=0.01:dark_mask=0.01:p_mask=0.01:autoaspect
Краткое объяснение параметров:
* Эти параметры определяют какие "фишки" будут использоваться при обработке файла
vb_strategy=2:vhq=4:mbd=2:trell:cbp:mv0:preme=2:v4mv:mpeg_quant
* Эти влияют на то, насколько сильно будут "вырезаться" затемненные и засвеченные участки картинки. Значения больше 0.5 указывать не стоит, только в каких-нибудь специфических условиях, иначе будет вырезаться слишком много полутонов - "сожмутся" цвета близкие к черному и белому цвету
vlelim=-3:vcelim=5:lumi_mask=0.01:dark_mask=0.01:p_mask=0.01
* Минимальный и максимальный "размер квадратиков" (IMG:style_emoticons/0day_emo/wink.gif)
vqmin=2:vqmax=9
* С этим параметром картинка будет меньше "сглаживаться". Например в h264 при таком же битрейте иногда не видно статичную мелкую сетку даже при двухпроходном кодировании.
mpeg_quant
Полезные фильтры:
* При кодировании чересстрочного фильма может помочь фильтр:
-vf pp=fd
* Фильтр, убирающий шум (лучше посмотреть что получится с этим фильтром и без него, т.к. иногда его применение приводит к ухудшению картинки):
-vf hqdn3d=4:3:5
* Масштабирование картинки (в данном случае размеры станут 640 на 480 (Ш х В)):
-vf scale=640:480
Что делать если звук в исходном файле в формате "Microsoft PCM":
Если формат звука в исходном файле "Microsoft PCM", mencoder может отказаться выполнять второй проход (в котором кодируется звук). Чтобы это преодолеть, нужно добавить следующие параметры:
-srate sound_rate -af resample
Значение sound_rate можно посмотреть в avidemux или любой другой программе показывающей информацию о файле.
Не пугайтесь, если сразу не получилось - в моем случае подсмотренное значение 44103 не помогло - пришлось вписать 44100.
Как увеличить скорость кодирования.
Если компьютер слабый, или просто нужно быстро что-то закодировать, попробуйте убрать пару-тройку из этих параметров:
vb_strategy=2:vhq=4:mbd=2:trell:cbp:mv0:preme=2:v4mv
Скорость может вырасти примерно в 2 - 4 раза. Однако будьте готовы к тому что качество картинки может ухудшиться, либо потребуется поставить бОльший битрейт для сохранения качества.
Взято с http://forum.0day.kiev.ua/index.php?sho ... e=threaded
Последнее время часто попадается видео в формате mkv вместо привычного avi.
В mkv файлы зашивается несколько звуковых дорожек, несколько дорожек субтитров.
Если просто смотришь видео, то все ок.
А вот если видео редактируешь, то иногда бывает очень неудобно разбираться со всеми этими дорожками и вариантами субтитров.
К тому же лишние дорожки увеличивают размер файлов (например одна звуковая дорожка увеличивает размер файла на 30-100 Мб). К тому же под моим любимым mplayer-ом иногда не удавалось активировать нужную дорожку/субтитры.
Стал искать способы работы с mkv-файлами (точнее выдирания субтитров, вырезания "лишних" звуковых дорожек) и вот к чему пришел.
После некоторых поисков в google на глаза попался пакет mkvtoolnix.
Есть версии и для Windows и для Debian. Работать можно как из консоли, так и через графический интерфейс.
Ставим пакеты mkvtoolnix и mkvtoolnix-gui.
Сайт разработчиков:
http://www.bunkus.org/videotools/mkvtoolnix/
Репозиторий Debian (надеюсь что тот, с которого я качал (IMG:style_emoticons/0day_emo/wink.gif) )
deb http://www.debian-multimedia.org etch main
Работаем через консоль.
Посмотреть информацию о файле в консоли можно с помощью команды
mkvmerge -i filename.mkv
Она покажет список дорожек в файле, их номера + некоторые комментарии о типе каждой дорожки. Теперь, зная номера дорожек, можно извлечь к примеру субтитры с помощью команды
mkvextract tracks filename.mkv -c CP1251 4:filename-subtitles.srt
Здесь:
"filename.mkv" - имя исходного файла
"-c CP1251" - указание в какой кодировке сохранять субтитры (в данном случае в виндовой)
"4:filename-subtitles.srt" - это номер потока: "4", и название выходного файла для этого потока: "filename-subtitls.srt"
Для субтитров типы дорожек могут быть:
S_TEXT/SRT - соответственно ставим расширение файла субтитров "srt"
S_TEXT/SSA - ставим расширение файла субтитров "ssa"
S_TEXT/ASS - ставим расширение файла субтитров "ass"
иногда бывает указана кодировка субтитров: S_TEXT/UTF8
Работаем в графическом режиме.
С помощью mkvtoolnix-gui можно быстро и удобно посмотреть какие дорожки есть в файле (видео, зауковые, субтитры), какие-то убрать/добавить, изменить дорожки, которые будут использоваться "по-умолчанию" и т.п.
Итак, пример удаления дорожек из mkv файла:
1. Запускаем mkvtoolnix-gui.
2. На вкладке "Input" жмем кнопку "Add" - открываем файл, который будем редактировать.
3. В списке "Tracks" убираем галочки с тех треков, которые нам не нужны.
4. Если надо, меняем имя выходного файла в поле "Output filename".
5. Жмем кнопку "Start muxing".
После завершения операции получаем файл, в котором нет ненужных нам дорожек звука/субтитров.
(!) При удалении дорожек не забудьте на всякий случай указать дорожки по-умолчанию для видео, аудио, субтитров.
В отдельном окне показывается консольная команда, соответствующая выполняемым действиям - может помочь при написании консольных скриптов для пакетной обработки файлов.
Взято с (IMG:style_emoticons/0day_emo/software.gif)
http://nikav.blogspot.com
ЗАБЫЛ !!!
Вот ещо тут (IMG:style_emoticons/0day_emo/software.gif)
Кодирование в mencoder
После появления более-менее нормального компьютера и как следствие - кучи фильмов на нем, появилось желание что-то перекодировать, что-то ужать ( например впихнуть пару двухслойных двд в один (IMG:style_emoticons/0day_emo/wink.gif) ). Пока сидел под Windows, пользовался VirtualDub, кодировал в один проход с фиксированным качеством. Вроде все удобно, можно на ходу посмотреть что получается и т.п. Не нравилось одно - скорость кодирования, к тому же файлы по размеру получались великоваты. Через некоторое время друзья "подсадили" на mencoder и mplayer (IMG:style_emoticons/0day_emo/wink.gif). Кодировал все еще в один проход, однако скорость получалась раза в 3 выше чем в VirtualDub. Покопался в интернете, понял что народ кодирует как минимум в два прохода. Подумал - а чем я хуже (IMG:style_emoticons/0day_emo/wink.gif). Подсмотрел какие параметры обычно ставят, подкрутил под свои нужды. Перешел от указания фиксированного качества к фиксированному битрейту. Стали получаться более компактные файлы с нормальным качеством ( конечно, если с битрейтом не ошибался (IMG:style_emoticons/0day_emo/wink.gif) ). Единственный минус - снова упала скорость кодирования (из-за некоторых параметров кодировщика и использования двух проходов).
Где скачать mplayer и mencoder ( под Windows идут в составе одного архива ):
Сайт разработчиков:
http://www.mplayerhq.hu/design7/dload.html
С нашего сервера:
http://support.mobigroup.ru/files/mplayer/
Репозиторий Debian:
deb http://www.debian-multimedia.org etch main
(!) Если работаете под Windows, не забудьте скачать там же набор кодеков.
(!) Под Windows установка не требуется, можно просто распаковать программу в отдельную папку и оттуда запускать.
При кодировании с фиксированным битрейтом cтарайтесь выбирать битрейт близкий к значению, которое получается при отсутствии ограничений на размер файла.
Если ошибетесь в большую сторону, не пугайтесь - mencoder скорее всего не будет использовать весь битрейт, если фильм этого не требует.
Некоторые из моих знакомых просто указывали битрейт 3000, а реальный получался меньше (IMG:style_emoticons/0day_emo/wink.gif). Минус такого способа - непонятно какого размера получится файл.
Если вы хотите "влезть" в определенный размер, используйте памятку:
1 час (видео 800 кбит/с + аудио 128 кбит/с) примерно равен 400 Мб
Выбор битрейта видео:
Вообще, если будете часто что-то кодировать, то постепенно научитесь интуитивно выбрать битрейт, а для начала можно попробовать следующие значения для видео:
* Для обычных у двд размеров картинки 720x576 обычно достаточно 800-1500 кбит/с
* Для боевиков с большим количеством динамичных сцен ~2000 кбит/с
* Для аниме и мультфильмов обычно можно ставить битрейт процентов на 20 - 25 меньше, чем для фильма с теми же размерами картинки (потому что картинка чаще всего статичная, движения на экране мало)
Выбор битрейта звука
Битрейта 128 кбит/с хватает для большинства фильмов. Больший битрейт имеет смысл ставить для оперных фильмов. Если очень хочется сохранить звук (либо если он упорно расходится с видео - и такое иногда бывает если исходный файл разбит на несколько кусков) можно оставить звуковой поток без изменения - для этого вместо параметров "-oac mp3lame -lameopts cbr:br=$1" используйте "-oac copy"
Время необходимое на кодирование:
Пусть Т - длительность фильма.
Тогда для фильма размерами 720x576 на машине с процессором P4 3.0 GHz:
первый проход ~ 1.5 * T - 2.0 * T
второй проход ~ 1.0 * Т - 1.5 * T
итого ~ 2.5 * T - 3.5 * T
Естественно, если картинка меньше размером, то кодируется быстрее.
Двухпроходное кодирование в divx.
Команды для двухпроходного кодирования видео в divx/mp3
Параметры:
* $1 - битрейт звука
* $2 - битрейт видео
* $3 - название кодируемого файла
* Во время первого прохода собирается информация о каждом кадре фильма, звук не трогаем.
* Во время второго прохода эта информация используется для оптимизации кодирования кадров.
Первый проход:
/usr/bin/mencoder "./$3" -ffourcc divx -o "./$3-pass-1.avi" -passlogfile "./$3-divx2pass.log" -nosound -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vb_strategy=2:vhq=4:mbd=2:trell:cbp:mv0:preme=2:vbitrate=$2:v4mv:vqmin=2:vqmax=9:mpeg_quant:vlelim=-3:vcelim=5:lumi_mask=0.01:dark_mask=0.01:p_mask=0.01:autoaspect
Второй проход:
/usr/bin/mencoder "./$3" -ffourcc divx -o "./$3-pass-2.avi" -passlogfile "./$3-divx2pass.log" -oac mp3lame -lameopts cbr:br=$1 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vb_strategy=2:vhq=4:mbd=2:trell:cbp:mv0:preme=2:vbitrate=$2:v4mv:vqmin=2:vqmax=9:mpeg_quant:vlelim=-3:vcelim=5:lumi_mask=0.01:dark_mask=0.01:p_mask=0.01:autoaspect
Краткое объяснение параметров:
* Эти параметры определяют какие "фишки" будут использоваться при обработке файла
vb_strategy=2:vhq=4:mbd=2:trell:cbp:mv0:preme=2:v4mv:mpeg_quant
* Эти влияют на то, насколько сильно будут "вырезаться" затемненные и засвеченные участки картинки. Значения больше 0.5 указывать не стоит, только в каких-нибудь специфических условиях, иначе будет вырезаться слишком много полутонов - "сожмутся" цвета близкие к черному и белому цвету
vlelim=-3:vcelim=5:lumi_mask=0.01:dark_mask=0.01:p_mask=0.01
* Минимальный и максимальный "размер квадратиков" (IMG:style_emoticons/0day_emo/wink.gif)
vqmin=2:vqmax=9
* С этим параметром картинка будет меньше "сглаживаться". Например в h264 при таком же битрейте иногда не видно статичную мелкую сетку даже при двухпроходном кодировании.
mpeg_quant
Полезные фильтры:
* При кодировании чересстрочного фильма может помочь фильтр:
-vf pp=fd
* Фильтр, убирающий шум (лучше посмотреть что получится с этим фильтром и без него, т.к. иногда его применение приводит к ухудшению картинки):
-vf hqdn3d=4:3:5
* Масштабирование картинки (в данном случае размеры станут 640 на 480 (Ш х В)):
-vf scale=640:480
Что делать если звук в исходном файле в формате "Microsoft PCM":
Если формат звука в исходном файле "Microsoft PCM", mencoder может отказаться выполнять второй проход (в котором кодируется звук). Чтобы это преодолеть, нужно добавить следующие параметры:
-srate sound_rate -af resample
Значение sound_rate можно посмотреть в avidemux или любой другой программе показывающей информацию о файле.
Не пугайтесь, если сразу не получилось - в моем случае подсмотренное значение 44103 не помогло - пришлось вписать 44100.
Как увеличить скорость кодирования.
Если компьютер слабый, или просто нужно быстро что-то закодировать, попробуйте убрать пару-тройку из этих параметров:
vb_strategy=2:vhq=4:mbd=2:trell:cbp:mv0:preme=2:v4mv
Скорость может вырасти примерно в 2 - 4 раза. Однако будьте готовы к тому что качество картинки может ухудшиться, либо потребуется поставить бОльший битрейт для сохранения качества.
Взято с http://forum.0day.kiev.ua/index.php?sho ... e=threaded
-
Danilich
- Откуда: 777
Danilich писал(а):Работа с mkv файлами.
...
Взято с http://forum.0day.kiev.ua/index.php?sho ... e=threaded
И ты всё это шаришь?

Последний раз редактировалось ZhAN 08 янв 2009, 21:09, всего редактировалось 1 раз.
Причина: убрал оверквотинг
Причина: убрал оверквотинг
AVI-Mux(конечно, не виртуал дуб, но тоже неплохо)
avidemux(уже лучше, мне этот больше нравится чем AVI-Mux)
xvid4psp - вот это просто супер, правда, насколько я знаю, с несколькими звуковыми дорожками не позволяет работать одновременно. но для простого кодирования двд в mkv очень удобная штука.
avidemux(уже лучше, мне этот больше нравится чем AVI-Mux)
xvid4psp - вот это просто супер, правда, насколько я знаю, с несколькими звуковыми дорожками не позволяет работать одновременно. но для простого кодирования двд в mkv очень удобная штука.
الله صالح وتابعه عبد القادر باجمال أمين عام الحزب الحاكم
Сообщений: 5
• Страница 1 из 1
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0