Ключевые слова:divx, mpeg, video, linux, (найти похожие документы)
From: zyxel <http://forum.linux.by>
Date: Mon, 20 Sep 2004 18:21:07 +0000 (UTC)
Subject: Преобразование видео из mpeg4 в VCD формат
Оригинал: http://forum.linux.by/cms_view_article.php?aid=11
Вот, разобрался с этим вопросом и решил поделиться с народом.
Начнем.
Задача:
Есть бытовой DVD player который может читать VCD, но не читает mpeg4.
У меня на машине все фильмы в mpeg4. Необходимо перегнать фильмы с
mpeg4 в VCD для просмотра на бытовом DVD player'е.
Необходимые пакеты для решение:
transcode (http://zebra.fh-weingarten.de/~transcode/ )
vcdimager (http://www.gnu.org/software/vcdimager/ )
cdrdao (http://cdrdao.sourceforge.net/ )
Решение:
Берем наш фильм в формате mpeg4, назовем его film.avi и копируем в
каталог, скажем, ~/video.
При конвертации в mpeg файл будет декодирован, т.е. расжат ~ в 2 раза
=> на один диск он не войдет. Необходимо его разрезать на 2-е части.
Для этого делаем следующее:
$ avisplit -s 355 -i film.avi -o film
Порезанные файлы будут называться film-0000.avi и film-0001.avi
соответственно.
ОК. Подготовительная стадия закончена. Приступим к кодированию. Я
пропущу описание ключей, о них можно прочитать в мане. Команда для
кодирования первого файла film-0000.avi:
$ transcode -i film-0000.avi --print_status 5 -I 1 -C 1 -k -b 224 -z \
-e 44100 --export_asr 2 --export_prof vcd-pal -J normalize -o \
film-0000.mpg -y mpeg -F v
Этот процесс займет некоторое время (у меня на P4-2500, 512MB RAM
~50-60 мин.). В результате, мы получим 2 файла: film-0000.mpg.m1v и
film-0000.mpg.mpa. Теперь склеим эти файлы в один следующей командой:
$ tcmplex -i film-0000.mpg.m1v -p film-0000.mpg.mpa -o film-0000.mpg -m v
В результате, получаем один файл film-0000.mpg
Далее нам нужно получить образы нашего будующего VCD. Для этого
выполним команду:
$ vcdimager film-0000.mpg
В результате выполнения команды появятся два новых файла videocd.cue и
videocd.bin. И последний шаг, запись нашего VCD на простую болванку
CD-R(W):
$ cdrdao blank --driver generic-mmc --device 1,0,0
$ cdrdao write --driver generic-mmc --device 1,0,0 ~/video/videocd.cue
Все, первый диск готов. Тоже проделываем и с файлом film-0001.avi.
Качество, конечно, не DVD диска, но смотреть можно.
А вот скриптик который делает SVCD из .avi
Необходимые пакеты:
avidemux ( http://fixounet.free.fr/avidemux/ )
toolame ( http://users.tpg.com.au/adslblvi/#tooLAME )
mjpegtools ( http://mjpeg.sourceforge.net/ )
$cat encode
#!/bin/bash
/usr/bin/touch /tmp/aviname;
echo $1 > /tmp/aviname;
AVINAME="`sed -n 's/\.avi//p' /tmp/aviname`";
/bin/rm -f /tmp/aviname;
/usr/local/bin/avidemux2 --load $1 --audio-process --audio-normalize \
--audio-toolame $AVINAME.mp2 --video-process --svcd-res --video-codec \
XSVCD --save $AVINAME.m2v --quit;
/usr/bin/mplex -f 4 -v 1 -M -S 640 $AVINAME.m2v $AVINAME.mp2 -o $AVINAME%d.mpg;
/bin/rm -f $1;
/bin/rm -f $AVINAME.m2v;
/bin/rm -f $AVINAME.mp2;
Запускать, соответственно, так:
$./encode my_film.avi
Далее делаем vcd image:
$vcdimager -t svcd my_film1.mpg
и прожигаем (как, см. предыдущую статью).
Со вторым файлом my_film2.mpg делаем тоже самое, что и с первым.
Удачи !