6 заметок с тегом

видео

/core.php, line 2
Error 2: Use of undefined constant k - assumed 'k' (this will throw an Error in a future version of PHP)

/core.php, line 2
Error 2: Use of undefined constant k - assumed 'k' (this will throw an Error in a future version of PHP)

/core.php, line 2
Error 2: Use of undefined constant k - assumed 'k' (this will throw an Error in a future version of PHP)

/core.php, line 2
Error 2: Use of undefined constant k - assumed 'k' (this will throw an Error in a future version of PHP)

/core.php, line 2
Error 2: Use of undefined constant k - assumed 'k' (this will throw an Error in a future version of PHP)

/core.php, line 2
Error 2: Use of undefined constant k - assumed 'k' (this will throw an Error in a future version of PHP)

Кодирование видео

Сейчас на очереди мульсериал «Битлджус». Qeven почти ожидаемо «споткнулся» на нем, выдавая не до конца перекодированные файлы. Настала очередь VLC. Я бы его назвал комбайном за то количество функций, которые он может проделывать. Убив несколько часов на подбор параметров, обнаружил, что даже будучи запущенным из командной строки, он «нормально» реагирует на команды с пульта дистанционного управления, что мне было совершенно не нужно. Если, например, я нажимаю на паузу, то процесс перекодирования тоже встает на паузу. Не дай бог в процессе нажать на кнопку выключения... :-)
Но и одновременно с перекодированием файлов мне хотелось смотреть фильмы. К сожалению, однозначной команды вроде disable-lirc у него нет, поэтому пришлось пойти на хитрость и использовать параметр командной строки lirc-file, который задает файл с командами, выполняемыми при нажатии кнопки на пульте. Указав в качестве параметра корневой каталог системы, я получил возможность смотреть фильмы, управляя пультом, и перекодировать видеофайлы.
Кодек DivX 3 тоже подвел, но, возможно, что тут также виноват пульт. Пришлось остановиться на MPEG2. В итоге конечная команда выглядела так:

for a in *.mkv; do vlc -I dummy "$a" --sout="#transcode{vcodec=mp2v,vb=4096,fps=25,acodec=mp3,ab=128,samplerate=44100,channels=2,deinterlace,audio-sync}:standard{access=file,mux=avi,dst=\"$a.avi\"}" --lirc-file "/" vlc://quit; done;

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

Кодирование видео

Продолжение поста

Увы, но все оказалось не настолько радужно. В какой-то момент Qeven «споткнулся» на аудиокодеке в очередном сериале и, в итоге, выдал полный бред. Видеоряд идет с намного большей скоростью, чем звуковой. Придется переделывать...
Долго искать не пришлось — в памяти всплыла программа ffmpeg. Да, знаю, что с нее и надо было начинать, но на тот момент хотелось какой-го GUI. После нескольких экспериментов с параметрами, родились несколько строк для обработки сериалов.

for i in *; do r=$(echo $i | sed 's/\[M-KV2501\] Spider-Man TAS /s/; s/x/e/'); mv "$i" "$r"; done;
for i in *; do avconv -i "$i" -vcodec mpeg4 -b 2400k -acodec mp3 -ab 128k "./convert/$i.avi"; done;

В первой строчке я переименовываю названия серий и привожу их к виду: s1e01 — название серии.mkv. Во второй запускаем конвертирование всех файлов с указанием нужных битрейтов (подобраны экспериментально) и кодеков (они взяты из спецификации DVD-проигрывателя). Битрейты снижал сознательно, чтобы уменьшить размер конечного файла.

Кодируем видео для DVD-проигрывателей

Попросили меня записать некоторые старые мультсериалы: «Черепашки-ниндзя», «Люди Икс», «Человек-паук» и т. д. Для пробы записал один диск — не проигрывается. Попросил тогда сказать какой DVD-проигрыватель они используют, чтобы посмотреть на форматы видеофайлов, которые он поддерживает. Чуть позже вечером погуглил — форматов оказалось немного, но появился другой вопрос — найти программу для linux, которая позволила бы конвертировать видео для него. Еще немного поисков и такая нашлась — Qeven. Интерфейс минималистичный, кнопок штук пять, работает достаточно быстро.

Qeven в работе
Qeven в работе

Алгоритм в итоге сформировался такой:

  1. Выбираем профиль Xvid.
  2. Добавляем нужные файлы в список.
  3. Отключаем предварительный просмотр для увеличения скорости обработки.
  4. Указываем папку куда складывать результат работы.
  5. Стартуем процесс.

Это самый длительный процесс в работе. Заодно проверил как привод DVD-RW пишет диски. до этого такой необходимости не было. Самый первый он запорол, из-за чего у меня закрались нехорошие подозрения насчет привода. Немного поразмыслив, убрал все факторы, которые могли мешать записи и запустил следующий диск...
На текущий момент уже записано более десятка дисков, привод работает без нареканий. Qeven висит в трее, готовит следующие файлы для записи, а я ностальгирую и смотрю «Людей Икс», которые я раньше, в детстве, так и не мог посмотреть — просто невозможно было достать этот сериал в поселке, где я жил.

Подключение видеокамеры к компьютеру

Появилась у меня необходимость подключить видеокамеру к компьютеру для дальнейшей записи происходящего в общем коридоре. Взял на работе завалявшуюся Sony KPC-S190S, принес из дома ТВ-тюнер и приступил к экспериментам. В качестве компьютера выступил старенький, собранный из того, что было, компьютер. Он у меня зачастую выступает в качестве подопытного.
Для подключения нам понадобится:

  1. Собственно камера;
  2. пара штекеров типа «тюльпан»;
  3. переходник с «молекса» на «тюльпан» для питания камеры;
  4. любая карта захвата видео. У меня это стал AverTV Studio 507.

Установил недостающие драйверы в систему: видеокарта, ТВ-тюнер, звуковая карта и т. д. Установил для пробы видеоплеер VLC, он позволяет, помимо всего прочего, также осуществлять захват с любого устройства. Распаял кабели, подключил камеру к ТВ-тюнеру и начал экспериментировать с настройками захвата. Мне понадобилось около 10 минут, чтобы разобраться что к чему, после чего просмотр видео с камеры настраивался буквально за одну минуту.
На самом деле настройки в VLC нужны минимальные. Выбираем в меню «Медиа» пункт «Открыть устройство захвата...». В открывшемся окне в списке «Название видеоустройства» находим пункт «AverMedia BDA Analog Capture». Затем чуть ниже нажимаем кнопку «Другие...» и ставим там одну галочку «Настройки устройства». Далее нажимаем «ОК» и «Воспроизвести». В первом диалоге нам предлагается выбрать видеодекодер. Все равно, что вы выберете, я оставил предложенный по умолчанию NTSC_M. В следующем диалоге поставил максимальный размер на выходе, все остальное не трогал. Так как камера не имеет аудиоканала, то следующий диалог можно просто закрыть. А вот теперь наступает самый важный момент — выбор входного канала видео. На единственной вкладке «Crossbar» в списке «Input» выбираем пункт «Video Composite In», так как камера у нас подключена к композитному входу с разъемом типа «тюльпан». На остальные настройки наплевать, жмем «ОК». И сразу же видим картинку, поступающую с камеры.
Не знаю с чем это связано, но картинка несколько запаздывает, задержка небольшая — около 0,5 секунды — но все равно заметно. Скорее всего, это время тратится на обработку видеосигнала процессором камеры.
Если кто раньше не имел дела с видеокамерами, то не пугайтесь, что они несколько греются — это нормально. Но обеспечить им хорошее охлаждение никогда не помешает.
Стандартная распайка кабелей у подобных видеокамер:

  • — желтый — видеосигнал;
  • — красный — +12В;
  • — черный — общий.

Красный и черный подключаются, соответственно, к +12В и к Ground блока питания (например, компьютерного), а желтый и черный подключаются, соответственно, к центральному и внешнему контактам штекера.
В первый раз я перепутал полярность и камера не работала, но после того, как я исправил свою ошибку, она все-таки заработала.
Немного поигравшись с ней, понял, что для домашнего видеонаблюдения ее более, чем достаточно. Осталось дело за «малым» — провести провода в квартире, приобрести какой-нибудь PCIe ТВ-тюнер, подключить ее к домашнему серверу и пустить трансляцию в локальную сеть. Благо что в Linux есть консольная версия VLC, которая позволяет это сделать.

2016   видео   робот   ролик   юмор