Собираем
информацию
по крупицам
Статьи - Компьютерное

Mplayer / Mencoder

Как вытащить видеопоток из MKV (матрёшки) и сделать обычный AVI-файл
25-11-2010
00:54:17

Вытащить видеопоток из *.mkv формата в обычный *.avi можно так:

 

$ mencoder video.mkv -nosound -ovc copy -of avi -o video.avi

 

Однако, бывают такие *.mkv-файлы, в которые добавлен сырой VC1 видеопоток. И если попадётся такой файл, то либо mencoder откажется вытаскивать видеопоток, либо создаст *.avi-файл, который невозможно воспроизвести.

 

В этом случае, видеопоток можно вытащить с помощью программы mkvextract с параметром --raw (если не указать эту опцию, вытащенный видеопоток получится не в формате элементарного VC1-видеопотока, а в виде криво упакованного контейнера AVI, который не будет воспроизводиться).

 

Вот пример команд, которые нужно использовать в данном случае. Сначала из *.mkv вытягивается сырой VC1, затем он корректно упаковывается в AVI-контейнер, и получается правильный *.avi-файл:

 

$ mkvextract tracks video.mkv --raw 1:video.vc1

$ mencoder video.vc1 -nosound -ovc copy -of avi -o video.avi

 

Примечание. Программа mkvextract (и обратная ей команда mkvmerge) обычно располагаются в пакете mkvtoolnix.

 

 

Еще один совет. Если у вас не воспроизводится *.mkv-файл, то скорее всего причина в том, что внутри находится сырой VC1 поток. Такие файлы не хотят играться из-за стандартного mkv-демультиплексера. Для того, чтобы просто посмотреть фильм, без перекодирования и прочих нетривиальных действий, можно воспользоваться lavf демультиплексером:

 

$ mplayer -demuxer lavf video.mkv

 

Эта команда работает 100%. В KMPlayer и SMPlayer опцию -demuxer lavf можно прописать в настройках.

 



К списку "Компьютерное"

Поделиться этой страницей


Статистика


RSS подписка

Подпишитесь на новости сайта по RSS


 WebHamster.Ru
 Домик любопытного хомячка
Яндекс индекс цитирования
Почтовый ящик