The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Кодирования видео с miniDV видеокам..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Кодирования видео с miniDV видеокам..."  +1 +/
Сообщение от auto_tips on 07-Июл-09, 12:25 
Задача: Сбросить видео на ПК и пережать его для последующего хранения.

Нам потребуется:

1) Ядро с поддержкой FireWire 1394 или v4l (смотря кто как будет скидывать видео)

2) Программа dvgrab (собственно с её помощью мы будем грабить видео с miniDV кассеты из консоли)

3) Программа mencoder (Входит в поставку с видео плеером mplayer)

4) Программа avimerge для склеивания нескольких avi файлов в один (входит в состав transcode)

Грабим видео:

Для начала нам потребуется подключить видеокамеру к ПК.
В случае с FireWire 1394 никаких драйверов нам не нужно, просто подключаем и работаем.
В случае подключения камеры по средствам USB нам нужно определиться с её поддержкой ядром Linux.
Как мы уже знаем, сделать это можно с помощью команды lsusb и затем скомпилировать подходящий модуль ядра.
Я решил упростить себе жизнь и просто купил внешнюю карту FireWire 1394.

Для начала установим пакет dvgrab

Затем нам нужно перемотать miniDV кассету на начало и подключить камеру к ПК.

Теперь перейдём к процессу копирования видео:

Утилита dvgrab имеет множество полезных параметров, давайте рассмотрим некоторые из них:

-a, -autosplit - Этот параметр отвечает за нарезку видеофайлов, т.е dvgrab будет резать видео автоматические на куски,
между нажатиями на кнопку запись/стоп. Это очень удобно если Вы хотите рассортировать сюжеты.

-f, -format - Позволяет в ручную задать формат видео потока, если параметр не задан, то dvgrab автоматически
попытается определить формат данных. Если у Вас hdv камера то нужно обязательно указать этот параметр.

-F, -frames - Количество кадров

-s, -size - Устанавливает лимит на видео файл. По умолчанию установлен размер 1024 мегабайта,
что удобно если Вы монтируете DVD диск.

-V, -v4l2 - Если Вы планируете скинуть видео через драйвер v4l2

Об остальных параметрах можно почитать man dvgrab

В моём случае я воспользовался вот такой конструкцией:

    dvgrab -format raw -size 20000 cam.dv

Поскольку размер одной кассеты около 13 Гб, то всё видео будет сохранено одним файлом,
это для удобства кодирования.

Кодируем видео:

Первый проход:

   mencoder cam001.dv -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1800:vhq:vpass=1:vqmin=1:vqmax=31 \
   -oac mp3lame -lameopts vbr=2:q=7 -o mpeg4.avi -vf field,scale=768:576 -aspect 4:3

Второй проход:

   mencoder cam001.dv -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1800:vhq:vpass=2:vqmin=1:vqmax=31 \
   -oac mp3lame -lameopts vbr=2:q=7 -o mpeg4.avi -vf field,scale=768:576 -aspect 4:3

При таких параметрах 1 час видео занимает около 800 Мб
При необходимости можно изменить битрейт видео и звука для достижения желаемого качества.


Склеиваем видео:

Для склеивания видео в один большой файл мы воспользуемся утилитой avimerge.
Делается это очень просто:

   avimerge -o com.avi -i 1.avi 2.avi 3.avi

Где com.avi - это итоговый видео файл, а 1.avi 2.avi 3.avi - это видео файлы, предназначенные для склеивания.

URL: http://itbg.wordpress.com/2009/06/29/%d0%be%d.../
Обсуждается: http://www.opennet.me/tips/info/2117.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Кодирования видео с miniDV видеокамеры в Linux"  +/
Сообщение от kookoo on 07-Июл-09, 12:25 
спасибо, актуально :)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Кодирования видео с miniDV видеокамеры в Linux"  +/
Сообщение от Анархист on 07-Июл-09, 14:56 
Но если попробовать сделать из всего этого DVD-Video - проблема во всех дистрах. Причина - глюк в cdrkit. Я в ArchLinux вместо него установил cdrtools. Только тогда все заработало.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Кодирования видео с miniDV видеокамеры в Linux"  +/
Сообщение от vladik email on 08-Июл-09, 10:41 
Я жму на лету. Потом двд делаю в dvdauthor

dvgrab  - | mencoder -cache 16384 -audio-preload 2  -demuxer 22  -ovc lavc -lavcopts \
vcodec=mpeg2video:vbitrate=4900:\
sc_threshold=1000000:aspect=4/3:threads=8\
:ilme:keyint=15 \
-mpegopts format=dvd -of mpeg  -srate 48000 -oac lavc -lavcopts \
acodec=ac3:abitrate=192 -af channels=2ch  -  -o out.mpg

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Кодирования видео с miniDV видеокамеры в Linux"  +/
Сообщение от vadiml on 09-Июл-09, 19:21 
Если кодировать DV с -vf field, то качество из-за интерлейсинга будет отвратным.

Надо брать -vf pp=lb или li или ci или md и смотреть что лучше на вашем материале.
А если считаете приемлимым для себя видео с 50fps, то лучшее качество дадут tfields/yadif+mcdeint (тут тоже надо смотреть где лучше закодируется)

Я для этого сначала кодирую 5 минут из материала, выбираю лучший вариант, и потом им делаю всё.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Кодирования видео с miniDV видеокамеры в Linux"  +/
Сообщение от rocket on 10-Июл-09, 13:28 
Сжатие звука в первом проходе - лишняя операция.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Кодирования видео с miniDV видеокамеры в Linux"  +/
Сообщение от vadiml on 11-Июл-09, 19:30 
Подумал, что может кому пригодится, вот мои опции кодирования для DV:
1й проход
mencoder out007.dv -fps 50 -ofps 50 -vf tfields=4:1,scale=-2:576 -aspect 4:3 -ovc x264 -x264encopts pass=1:qp=22:subq=2:8x8dct:partitions=all:me=umh:chroma_me:nr=500:trellis=2:frameref=8:bframes=3:b-pyramid:weightb:mixed-refs:direct_pred=auto:keyint=300:bime:psnr:threads=auto -nosound -o out007.avi

2й и 3й
mencoder out007.dv -fps 50 -ofps 50 -vf tfields=4:1,scale=-2:576 -aspect 4:3 -ovc x264 -x264encopts pass=3:qp=22:subq=7:8x8dct:partitions=all:me=umh:chroma_me:nr=500:trellis=2:frameref=8:bframes=3:b-pyramid:weightb:mixed-refs:direct_pred=auto:keyint=300:bime:psnr:threads=auto -oac mp3lame -lameopts cbr:br=256 -o out007.avi

Если надо уменьшить размер (за счёт качества), надо ставить большее qp, но при 28 уже очень заметно падение качества.

Если хотите делать 2х проходное кодирование, то надо ставить во 2й строке pass=2

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру