Страница 1 из 2

Кодирование dvd в avi.

Добавлено: 2006-12-09 15:58:14
Fastman
Прочитал статью как только появилась, интерестно подумал, и забыл.. А зря.

Значит вопрос такой. На данный момент разрабатываю систему архивирования для телевидения, одной из частей ее будет сервер низкого разрешения. То есть как только файл оцифрованный (видео/звук) высокого качества попадает на сервак, нужно сделать его копию низкого разрешения и качества, дальше копия низкого разрешения хранится на дисковом массиве а файл высокого разрешения уходит в автоматическое пленочное хранилище. Дальше - юзер имеет доступ к файлам низкого разрешения смотрит их и решает нужен файл или нет соответственно дает команду на вытаскивание из архива пленочного, файла.
Для сжатия видео/звука (видео в.к -DV25 или DV50, звук WAV(PCM)) решили применять софтовое сжатие, грубо говоря поставить отдельный мощный сервак который будет сжатием заниматься файла. Очень хочется поставить его под FreeBSD, соответственно можно ли вышеописанную систему приспособить к такому действию:

На сервак попадает файл, его тут же по сетке берет кодер сервака под FreeBSD, жмякает его, и отправляет сжатый файл на другой сервак. Если есть у кого какие мысли, или советы, хотел бы услышать. Да... основной сервак куда ложиться файло будет - виндовый, соответственно я так понимаю сервак-кодер должен будет по самбе брать файло.....

Добавлено: 2006-12-09 16:46:07
Alex Keda
mount_smbfs ?

Добавлено: 2006-12-09 16:50:51
Fastman
да... так наверное и сделаю....
сейчас ставлю тестовый сервачек...
меня вообще то интересует чтоб можно было одновременно кодить 5 файлов допустим...

Добавлено: 2006-12-09 22:49:17
serge
Хоть 10... только время кодирования каждого в отдельности сильно возрастает.

Добавлено: 2006-12-09 23:13:11
Alex Keda
голов побольше... можно страйп на хардах...

Добавлено: 2006-12-11 19:05:11
Fastman
Спасибо, все отлично заработало.
Ну черт, не могу еще раз не поблагодарить lissyar-у !!!
Потому как тут же нашел на сайте про smbfs, подрубил без запинки 2 сетевые папки(из одной берем видео, во вторую пишем файл), и используя mencoder се протестил. Довольно шустро на 2 ксеонах забегало, очень даже ничего, думаю продвину эту идею и кодироваться видео будет именно таким образом. Осталось просто небольшой сервачек написать который бут получать имя файла и запускать mencoder c нужными параметрами.

Добавлено: 2006-12-11 19:18:48
Alex Keda
просто интересно - скорость копирования с финды на фрю, при подмонтированной шаре по smbfs - какая?

Добавлено: 2006-12-11 19:49:25
Fastman
вот скриншотик - сетка 100 мегабит.

Код: Выделить всё

/mnt/video/>uname -a
FreeBSD mydomain 6.1-RELEASE FreeBSD 6.1-RELEASE #3: Wed Aug 16 12:43:36 EEST 2006     root@mydomain:/usr/obj/usr/src/sys/SMP  i386
/mnt/video/>

/mnt/video/>df -H
Filesystem                Size    Used   Avail Capacity  Mounted on
/dev/ar0s1a               260M     94M    145M    39%    /
devfs                     1.0k    1.0k      0B   100%    /dev
/dev/ar0s1d               5.1G    4.9M    4.7G     0%    /tmp
/dev/ar0s1e                51G    3.5G     43G     7%    /usr
/dev/ar0s1f               185G     15G    155G     9%    /var
//GUEST@MARKETING/SOFT     55G     19G     36G    34%    /mnt
/mnt/video/>
Изображение

так как будет гигабитка, вполне устраивает.

вот так процесс идет:

Код: Выделить всё

mencoder 1.avi -o temp.avi -oac lavc -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=500:mbd=2:turbo -vop scale=320:240
l

Код: Выделить всё

ast pid: 81400;  load averages:  0.26,  0.09,  0.03                                                                                  up 0+07:19:17  18:57:48
92 processes:  1 running, 88 sleeping, 3 stopped
CPU states: 13.5% user,  0.0% nice,  1.5% system,  0.6% interrupt, 84.5% idle
Mem: 160M Active, 507M Inact, 92M Wired, 1460K Cache, 112M Buf, 1241M Free
Swap: 1000M Total, 1000M Free

  PID USERNAME    THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
81400 root          1   8    0 22488K 16472K 90wrq  0   0:14 57.41% mencoder

Добавлено: 2006-12-11 20:00:38
Alex Keda
есть подозрение, что нагигабите будет несильно больше...
на 6.0 - очень медленно копировало. мег-два в секунду...
может и дополировали....

Добавлено: 2006-12-11 20:05:58
Fastman
пускай, риэлтайм не нужен :) Грубо говоря за день будет попадать 10-20 фильмов или видеоматериала по 2-3 часа каждый... если оно за сутки сделает то что нужно - отлично :) А вообще из практики обычно фильмы не бросают не телевидении...в архив - это не нужно... в основном сюжеты..репортажи, новости то есть от 10 до 40 минут....

Re: Кодирование dvd в avi.

Добавлено: 2008-02-25 10:44:32
Nichls
Статья отличная. Все прекрасно работает. Только долго. 1 DVD пережимает 5 часов на П43000/1 Гб ОЗУ - машина ничем больше не грузится. Предполагаю, что это связано с тем, что выходной размер файла мал.

Не подскажите, где в скрипте можно изменить размер выходного файла на 1,4 Гб (я не пишу CD-R уже несколько лет, а на DVD-R влезает 3 фильма размером 1,4 Гб).

Большое спасибо.

Re: Кодирование dvd в avi.

Добавлено: 2008-02-26 10:26:18
manefesto
transcode ???

Re: Кодирование dvd в avi.

Добавлено: 2008-02-26 10:52:25
serge

Код: Выделить всё

VBITRATE=`cat bitrate.log | grep "Recommended video bitrate for 700MB CD" 
Делай grep по нужной тебе строке.

Re: Кодирование dvd в avi.

Добавлено: 2008-02-26 21:44:51
Nichls
Спасибо. Исчерпывающий ответ.
Вам наверно так же на вопросы отвечают. :evil:

Неужели сложно написать "замените это на это и будет то, что вам нужно".

Поверьте, есть на свете люди, далекие от написания скриптов, программирования и т.д. И они тоже хотят пользоваться компом.
У меня нет телепатора, чтобы узнать, кто и что думает.

Просто можно написать, что на что заменить, чтобы увеличить выходной файл и тем самым уменьшит время декодирования.

Не хотите отвечать/не знает что ответить - не пишите. По тишине пойму, что никто ничем не может помочь.

Всем спасибо.

PS Вот из-за таких ответов многие не пользуются другими ОС, кроме Windows, для выполнения своих ежедневных задач.

Re: Кодирование dvd в avi.

Добавлено: 2008-02-26 22:19:45
serge
Nichls писал(а):Спасибо. Исчерпывающий ответ.
Вам наверно так же на вопросы отвечают. :evil:
Неужели сложно написать "замените это на это и будет то, что вам нужно".
Поверьте, есть на свете люди, далекие от написания скриптов, программирования и т.д. И они тоже хотят пользоваться компом.
У меня нет телепатора, чтобы узнать, кто и что думает.
Просто можно написать, что на что заменить, чтобы увеличить выходной файл и тем самым уменьшит время декодирования.
Не хотите отвечать/не знает что ответить - не пишите. По тишине пойму, что никто ничем не может помочь.
Всем спасибо.
PS Вот из-за таких ответов многие не пользуются другими ОС, кроме Windows, для выполнения своих ежедневных задач.
Ответ, кста, был очень полный и точный. Что на что менять еще помню, т.к. этот скрипт я и писал.
Если не осиляешь сам, тут помогут - http://weblancer.net , а наша задача заставить человека подумать и самому понять суть процесса.
З.Ы. Извиняй конечно, но статьи и скрипты мы здесь не продаем и поддержку соответственно не гарантируем. ОпенСорс бля :P Каждый пользует как может.

Re: Кодирование dvd в avi.

Добавлено: 2008-02-26 23:28:03
Fastman
Nichls писал(а):Спасибо. Исчерпывающий ответ.
Вам наверно так же на вопросы отвечают. :evil:
Всегда не понимал как можно так небрежно относиться к тому что человек попробовал помочь и дал кстати верное направление....
Тут где то написано что обитатели данного форума обязаны в 3-х дневный срок на такой вопрос составить полный ответ, или написать скрипт с документацией как им пользоваться.... ??? По моему нет....
Если ты не знаешь программирования/написания скрипта/итд итп., почему ты считаешь что за тебя должен думать кто то другой и что то делать ???? Это абсолютно твои проблемы а не наши !!!!!!!!! Человек потратил свое время и обьяснил в какую сторону рыть данный вопрос !!!!! И тут такое недовольство !!!
Тут в принципе не организация бесплатных работников в фонд мира...

Re:

Добавлено: 2008-02-26 23:47:10
Fastman
lissyara писал(а):есть подозрение, что нагигабите будет несильно больше...
на 6.0 - очень медленно копировало. мег-два в секунду...
может и дополировали....
Кстати в продакшене схема работает по другому счас у меня... файло стаскивается по ftp к серваку транскодеру в кэш а потом уже кодируется. Опытным путем на квадкорке получается что видео файл DV25(25 мегабит/сек) в низкое разрешение уходит за время в 4 раза меньшее чем продолжительность видео в риэлтайме. Причем при хорошей дисковой подсистеме одновременное кодирование 2-4 потоков одновременно практически не замедляет кодирование.

Re: Кодирование dvd в avi.

Добавлено: 2008-02-27 0:07:25
serge
Тут тебе наверное уже можно гораздо более сурьезную статью написать 8)

Re: Кодирование dvd в avi.

Добавлено: 2008-02-27 0:26:35
Fastman
serge писал(а):Тут тебе наверное уже можно гораздо более сурьезную статью написать 8)
Статья не будет интересна потому что решение заточено только под наш софт )
Там всего то демон который принимает строку с 3-мя параметрами - где на ftp лежит исходный файл, куда положить результат и третий параметр - указание типа файла - видео/аудио/картинка. Все..демон получает строку и запускает обычный shell скрипт похожий немного на тот что был в статье у Лиса.... вот и все )))

Код: Выделить всё

#!/bin/sh

#
# ITMArchive.IT-Media group
# ISPA-Belarus(2007)
# Read - http://www.lissyara.su/?id=1274
# Thx for Lissyara

####################################################################################################
#                                    Config all utilites                                           #
####################################################################################################

Mencoder="/usr/local/bin/mencoder"
Convert="/usr/local/bin/convert"
Oggenc="/usr/local/bin/oggenc"

OAC="-oac mp3lame -lameopts br=128:mode=3:q=3:vol=2 -srate 22050"
OVC="-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=300:mbd=2:turbo -vop scale=320:240 -mc 0 -noskip"

#Confugure picture transcoding

pictconf=" -pointsize 50 -gravity center -stroke rgb(0,0,0) -strokewidth 3 -annotate 0 "ITMArchive" 
           -stroke none -fill white -annotate 0 "ITMArchive" -resize x400 "

#Configure Ogg transcoding

oggtranscode=" -Q -q 1 --downmix "

#Configure FTP

Server="192.168.x.x"
User="user"
Password="pass"
Cashe="/lowres/temp/"

####################################################################################################
#					Check all param						   #
####################################################################################################

if [ $# -lt 3 ]; then

    echo "Mencoder script batch"
    echo "ISPA - BELARUS, IT-MEDIA"
    echo "coder.sh <Source Path> <Dest Path> <audio/video/picture>"
    exit 1
    
fi

####################################################################################################
#					Video transcoder					   #
####################################################################################################

if [ $3 = 'VIDEO' ]; then

#Download file from FTP to local directory
#Change path to normal FTP path

FullPath=$1
FileName=$(echo "$FullPath" | awk -F/ '{print $NF}')
temp=$(echo "$FullPath" | awk -F/ '{print $2}')
DirPath=$(echo "$FullPath" | sed s/"$temp"/""/g | cut -c 2-1000)

#Get file from FTP
wget ftp://${User}:${Password}@${Server}${DirPath} -O ${Cashe}${FileName}

$Mencoder ${Cashe}${FileName} -o $2 $OAC $OVC || exit $?
echo 'VIDEO' `date` $1 $2 $3 $DirPath $FileName 'ERROR='$? >> /MSCRIPT/server_mencoder.log

#Delete file HI resolution
rm -rf ${Cashe}${FileName}

fi 
для видео и ауди дальше почти аналогично :)

Re: Кодирование dvd в avi.

Добавлено: 2008-02-27 0:30:30
Alex Keda
запинали беднягу. :D
тем не менее - поддержу ребят - ибо сам считаю - что если человек хочет думать - он думает, и ему достаточно напрвления, если не хочет...
извини, но щас полпервого, встал я в 6 утра, и завтра, вернее уже сегодня встану снова в шесть. И лягу тока часа через полтора.
и так каждый день.
извини - но объяснять человеку который не может подумать - мне просто жаль свого времени - оно пропадёт впустую.
Лучше лягу спать на две минуты раньше.

Re: Кодирование dvd в avi.

Добавлено: 2008-02-27 0:31:10
Alex Keda
2 фастман
Однако статья Серёгина =)

Re: Кодирование dvd в avi.

Добавлено: 2008-02-27 0:34:42
Fastman
lissyara писал(а):2 фастман
Однако статья Серёгина =)
Однако статья иго я в курсе - ссылка есть..ты тож учавствовал в дискуссии и направлял на путь истинный... По сути я ж ламер в скриптописании на самом деле... не потому что впадлу - потому что лениво )))

Re: Кодирование dvd в avi.

Добавлено: 2008-02-28 21:18:15
Nichls
lissyara писал(а):запинали беднягу. :D
тем не менее - поддержу ребят - ибо сам считаю - что если человек хочет думать - он думает, и ему достаточно напрвления, если не хочет...
извини, но щас полпервого, встал я в 6 утра, и завтра, вернее уже сегодня встану снова в шесть. И лягу тока часа через полтора.
и так каждый день.
извини - но объяснять человеку который не может подумать - мне просто жаль свого времени - оно пропадет впустую.
Лучше лягу спать на две минуты раньше.
С уважение отношусь и к тебе и к твоему ресурсу.
Но для себя взял за правило, что если не могу полностью дать человеку исчерпывающий ответ (нет времени/желания/и т.д.) на его вопрос, то вообще ничего не отвечаю.
А написать man что-то_там много ума не надо. А вот для того, чтобы написать грамотный ответ нужно время, знание и, что не мало важно, умение красиво и доходчиво донести свои мысли до собеседника.

Есть мысль, что знаний хватает у собеседников, а вот умение их донести до других походу есть не у всех.

PS Сам читаю, сам думаю. Поэтому не ложусь в 2 часа ночи и не встаю в 6. man тайм_менеджмент и останется много времени и на почитать и на поиграть и на время с семьей и на 8 часов сна.
lissyara писал(а): извини - но объяснять человеку который не может подумать - мне просто жаль свого времени - оно пропадет впустую.
Лучше лягу спать на две минуты раньше.
Не в пустую, если сможешь доходчиво объяснить.
lissyara писал(а): запинали беднягу. :D
Спасибо, что потратил свое время. Если бы ты его потратил на то, чтобы ответит на вопрос, а не на критику человека, о котором мало что знаешь, оно, твое время, точно было бы потрачено не зря.

PSS Всем спасибо. Разберусь рано или позно сам. За статью еще раз спасибо.

Re: Кодирование dvd в avi.

Добавлено: 2008-02-28 22:23:34
Nichls
serge писал(а):

Код: Выделить всё

VBITRATE=`cat bitrate.log | grep "Recommended video bitrate for 700MB CD" 
Делай grep по нужной тебе строке.

Спасибо. :D Запустил скрипт - жду результатов. 8)

Re: Кодирование dvd в avi.

Добавлено: 2008-02-29 0:28:21
serge
Дык отпишись что в этой строке поменял и что вообще получилось. Что эта строка делает разобрался?