Ответить в эту темуОткрыть новую тему
> Стример из MiniDV-видеокамеры
da-nie
сообщение 17.12.2018, 7:41
Сообщение #1


Мудрец
Иконка группы

Группа: Club Member
Сообщений: 4 590
Регистрация: 24.8.2006
Из: Ленинградская область
Любимое аниме:



Репутация:   5  


Перепечатаю сюда мою статью с хабра. smile.gif

Иногда может захотеться странного. Вот вроде бы лежит себе видеокамера стандарта MiniDV и лежит. Есть не просит. А что если взять и записать на её кассеты вовсе даже не видео, а, скажем, файлы. Запись-то всё равно цифровая. Пусть объём кассеты всего лишь около 13 ГБ (под данные получилось занять около 9.5 ГБ), пусть скорость чтения 3.5 МБ в секунду, но ведь получится простой домашний стример. Так сказать, “стример для бедных”. Почему бы не отправить на несколько кассет, скажем, какие-либо важные файлы. Просто так, на всякий случай. Попробуем!

На чём основана запись данных на MiniDV видеокамеру? Да просто можно вместо аудиоданных и части видеоданных подсунуть данные файлов — формат-то цифровой с отдельным сжатием каждого кадра по одинаковому алгоритму. Осталось дело за программой, которая это сможет сделать.

Поискав по интернету, как использовать бытовую видеокамеру как стример, я нашёл на форумах и в статьях десятилетней давности упоминания нескольких программ. Для Windows, например, это были DVStreamer Pro и DVStreamer Lite. За первую лет десять назад авторы просили примерно 60$. Вторая бесплатная, но с массой ограничений (256 файлов не более 8 Мб каждый или один файл не более гигабайта). Плюс многочисленные жалобы на нестабильную работу обеих версий. Скачав со странички производителя данное ПО (версии Lite там почему-то больше нет – похоже, программа теперь одна), обнаружился ещё 30-дневный срок на, так сказать, пробу. И да, эта программа так же, как и десятилетие назад, нестабильно работает и запросто вылетает от перемены погоды на Марсе. Зато она умеет непосредственно управлять камерой и автоматически выполнять перемотку к требуемому файлу.

Ну что ж, а что же у нас доступно для Linux? Оказывается, кое-что доступно, а именно dvbackup-0.0.4. Эта программа способна переданный ей поток данных упаковать в RAW DV формат и передать для записи другой программе dvcontrol, входящей в комплект. Ну и в обратном порядке, он может так же извлечь файлы из RAW DV.

К сожалению, завести dvcontrol мне не удалось – она стабильно не видела данных по ieee1394 от видеокамеры. А что если разобраться с dvbackup и самому сформировать RAW DV файл со своими собственными прибамбасами? Например, вместо статичного логотипа, показываемого видеокамерой во время воспроизведения видео от dvbackup, сделать свой логотип, добавив полоску прогресса и имя записываемого файла, а также добавить поддержку папок.
Осталось решить, чем бы такой RAW файл считать и записать на камеру. А впрочем, всё это давно умеет видеоредактор Kino. Вот его-то мы и будем использовать для работы с видеокамерой. Сказано – сделано. Разобрав dvbackup на части, и довольно быстро сформировав файл данных, я убедился, что Kino может записать этот файл на камеру (при этом ругаясь на невозможную частоту). А вот считать не может. Нет, говорит, видеопотока. Камера меж тем этот самый видеопоток на экранчике прекрасно отображает.

Вот тут-то и пришлось очень внимательно пройтись по формату DV, постепенно заменяя части из dvbackup (часто, с комментариями автора про “магические числа” и неизвестные назначения) на корректные и соответствующие описанию DV-формата. Ряд данных пришлось расшифровывать прямо с реального потока от видеокамеры, так как в моём описании DV-формата такие идентификаторы блоков не описаны. В результате, после очередной доработки напильником, выяснилось, что Kino полученный видеофайл вполне удовлетворяет и он способен производить и запись и чтение данного файла без проблем. Правда, судя по всему, причина изначального неприятия была в том, что я отключил аудио, когда создавал RAW DV файл первый раз. Только ли в этом было дело, я сейчас даже проверять не стал

Итак, в результате экспериментов получилась вот такая вот программа для Windows:



Она умеет собирать файлы в RAW DV видеофайл и извлекать файлы из такого видеофайла. Так же можно очистить отчёт и прервать обработку, если вы передумали. В начале видеоданных и перед каждым файлом можно задать префикс — это такой пустой блок, облегчающий позиционирование на начало файла (между файлами (локальный префикс) можно и не делать вовсе, а вот в самом начале (глобальный префикс) стоит чаще всего задать — это облегчит поиск начала блока файлов). Всё это настраивается в диалогах программы. Так же есть режим проверки данных в DV-видеофайле. В этом режиме файлы извлекаются, но не сохраняются.

Полученный видеофайл вы можете записать на ленту любым редактором, который позволяет записывать файлы RAW DV. В одном из вариантов программы я сделал сборку RAW DV внутрь AVI файла, но оказалось, что использованные мной видеоредакторы при экспорте теряют данные, помещённые в DV-формат. Поэтому от этого варианта пришлось отказаться.

Захват данных с видеокамеры в Kino выглядит вот так:



А так выглядит процесс записи на видеокамере:



Насколько надёжен такой стример? Я записал на кассету часть фотоальбома 9.5 ГБ как набор файлов фотографий в формате jpg примерно по 1-3 МБ. При считывании сбой был зафиксирован у трёх файлов.

Конечно, хотелось бы управлять камерой напрямую, но я пока ещё не нашёл внятного описания работы с камерой по ieee1394. Единственная книжка, где хоть что-то было написано – это “Программирование аппаратных средств Windows”, но указанный там пример, во-первых, содержит ошибки, а во-вторых, просто отыскал мне устройство платы ieee1394, установленную в компьютере, а вовсе не видеокамеру. Попытка отправить и принять данные с платы не увенчалась успехом.

Найденное мной описание формата DV

Репозиторий программы на GitHub

Исходник и исполняемый файл программы

P.S. Когда-нибудь форум перестанет глючить-то? wacko.gif Невозможно даже тему создать! Пропадает соединение. И из лички фиг сообщение отправишь - та же фигня. Я пробовал много раз из-под Linux Mint 19 и последнего Firefox для неё. Вот сейчас отправил (и оно получилось с первого раза!) вообще территориально с другого компьютера (через мобильный инет и старого Chrome 49 в Windows XP). В чём тут может быть прикол,а? Может, форум с новыми браузерами не работает? Или работает строго рано утром? Не понимаю. Или провайдер что-то блокирует? Но зачем и как?


---------------------AnimeKazan.net--------------------->>
Отрёкся я от волшебства.
Как все земные существа,
Своим я предоставлен силам.
На этом острове унылом
Меня оставить и проклясть
Иль взять в Неаполь- ваша власть.
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
Sanyok774
сообщение 17.12.2018, 20:05
Сообщение #2


Сторонник реальности
Иконка группы

Группа: Главные администраторы
Сообщений: 9 261
Регистрация: 11.8.2006
Из: Казань
Любимое аниме:
S.E. Lain, Chobits


Репутация:   79  


da-nie
Цитата
Почему бы не отправить на несколько кассет, скажем, какие-либо важные файлы.

А не страшно важные-то файлы туда записывать? Кассеты всё-таки. ))
А так интересно, конечно. smile.gif

Цитата
P.S. Когда-нибудь форум перестанет глючить-то?

У меня он не глючит вообще никогда. Возможно, потому что я только из Казани захожу (сервер у меня дома, провайдер казанский). al.gif


---------------------AnimeKazan.net--------------------->>
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
da-nie
сообщение 17.12.2018, 20:18
Сообщение #3


Мудрец
Иконка группы

Группа: Club Member
Сообщений: 4 590
Регистрация: 24.8.2006
Из: Ленинградская область
Любимое аниме:



Репутация:   5  


Цитата
А не страшно важные-то файлы туда записывать? Кассеты всё-таки. ))


Так как дополнительное хранилище - отлично. Шифровальщик такие файлы не повредит. Падение кассеты на пол тоже.

Цитата
У меня он не глючит вообще никогда.


А у меня постоянно. Особенно, под Linux. "Соединение сброшено". У тебя там таймаут на сервере нигде не задан?


---------------------AnimeKazan.net--------------------->>
Отрёкся я от волшебства.
Как все земные существа,
Своим я предоставлен силам.
На этом острове унылом
Меня оставить и проклясть
Иль взять в Неаполь- ваша власть.
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
Sanyok774
сообщение 17.12.2018, 20:26
Сообщение #4


Сторонник реальности
Иконка группы

Группа: Главные администраторы
Сообщений: 9 261
Регистрация: 11.8.2006
Из: Казань
Любимое аниме:
S.E. Lain, Chobits


Репутация:   79  


da-nie
Цитата
Так как дополнительное хранилище - отлично. Шифровальщик такие файлы не повредит. Падение кассеты на пол тоже.

Тоже верно. smile.gif

Цитата
У тебя там таймаут на сервере нигде не задан?

Там какое-то большое значение. Я оставлял открытой форму ответа не менее, чем на полчаса, потом дописывал пост. Всё отправлялось без проблем.


---------------------AnimeKazan.net--------------------->>
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
da-nie
сообщение 17.12.2018, 20:30
Сообщение #5


Мудрец
Иконка группы

Группа: Club Member
Сообщений: 4 590
Регистрация: 24.8.2006
Из: Ленинградская область
Любимое аниме:



Репутация:   5  


Цитата
оставлял открытой форму ответа не менее, чем на полчаса, потом дописывал пост.


Там проблема именно в момент передачи. После нажатия на кнопку "Отправить".


---------------------AnimeKazan.net--------------------->>
Отрёкся я от волшебства.
Как все земные существа,
Своим я предоставлен силам.
На этом острове унылом
Меня оставить и проклясть
Иль взять в Неаполь- ваша власть.
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
Sanyok774
сообщение 17.12.2018, 20:35
Сообщение #6


Сторонник реальности
Иконка группы

Группа: Главные администраторы
Сообщений: 9 261
Регистрация: 11.8.2006
Из: Казань
Любимое аниме:
S.E. Lain, Chobits


Репутация:   79  


da-nie
Ошибку какую-нибудь выдаёт или просто пустая страница?


---------------------AnimeKazan.net--------------------->>
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
da-nie
сообщение 18.12.2018, 7:37
Сообщение #7


Мудрец
Иконка группы

Группа: Club Member
Сообщений: 4 590
Регистрация: 24.8.2006
Из: Ленинградская область
Любимое аниме:



Репутация:   5  


Сначала форум подумает минутку, а потом:
-под Linux просто выбрасывает на главную страницу с форумами. И всё.
-под Windows выдаёт "Соединение сброшено" на белом фоне.

Под Linux вообще ни разу не удалось что-то отправить. Под Windows ещё получается раза со второго-пятого.
Но с сотового модема под Windows всё отправляется моментально!


---------------------AnimeKazan.net--------------------->>
Отрёкся я от волшебства.
Как все земные существа,
Своим я предоставлен силам.
На этом острове унылом
Меня оставить и проклясть
Иль взять в Неаполь- ваша власть.
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
Sanyok774
сообщение 20.12.2018, 17:58
Сообщение #8


Сторонник реальности
Иконка группы

Группа: Главные администраторы
Сообщений: 9 261
Регистрация: 11.8.2006
Из: Казань
Любимое аниме:
S.E. Lain, Chobits


Репутация:   79  


da-nie
Попробовал с работы и от знакомых отправлять сообщения на форум (разные ОС, браузеры, провайдеры). Никаких глюков не обнаружил. al.gif


---------------------AnimeKazan.net--------------------->>
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
da-nie
сообщение 20.12.2018, 22:22
Сообщение #9


Мудрец
Иконка группы

Группа: Club Member
Сообщений: 4 590
Регистрация: 24.8.2006
Из: Ленинградская область
Любимое аниме:



Репутация:   5  


Ну блин, тут уж мистика тогда пошла...
А вот сейчас отправилось прямо из linux. И мгновенно.



Как только я начал редактировать сообщения выше и добавил текста, так сразу "Загрузка. Пожалуйста, подождите".


---------------------AnimeKazan.net--------------------->>
Отрёкся я от волшебства.
Как все земные существа,
Своим я предоставлен силам.
На этом острове унылом
Меня оставить и проклясть
Иль взять в Неаполь- ваша власть.
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия Сейчас: 22.8.2019, 23:48

Tatarstan.Net - все сайты Татарстана Лучшие проекты о Японии.


©2004-2017 AnimeKazan.net