Автор Тема: Использование как видеорегистратор  (Прочитано 1360 раз)

Admin

  • Администратор
  • Пользователь
  • *****
  • Сообщений: 65
    • Просмотр профиля
В этой теме хотелось бы описать способ использования Orange Pi (PС) для видео- и звукозаписи,
найти способы оптимизации, услышать мнения/подсказки от шарящих.

1. Операционная система
За основу взята Ubuntu wily mini - как наиболее удобная и небольшая, но для других описанные действия будут аналогичными.

2. Аппаратное обеспечение
Orange Pi PС, USB-вебка или CSI-камера

3. Программное обеспечение
для кодирования использую ffmpeg

apt-get update && apt-get install ffmpeg

Скрипт, который создает в заданной папке видеоролики, именуя их текущей датой-временем:

#!/bin/sh
rm /tmp/*.mp4 /tmp/*.m4a
NKK_TM=120
NKK_DIR=/home/orangepi/
while [ 1 ]
do
NKK_DATE=`date +"%Y-%m-%d-%H-%M-%S"`
ffmpeg -loglevel error -f alsa -i hw:0 -t $NKK_TM -ac 1 -ar 44100 -strict experimental -b:a 64k /tmp/$NKK_DATE.m4a &
ffmpeg -loglevel error -f v4l2 -video_size 640x480 -i /dev/video0 -c:v libx264 -t $NKK_TM -preset fast -crf 25 /tmp/$NKK_DATE.mp4
ffmpeg -loglevel error -i /tmp/$NKK_DATE.mp4 -i /tmp/$NKK_DATE.m4a -c copy $NKK_DIR$NKK_DATE.mp4 && rm /tmp/$NKK_DATE.mp4 /tmp/$NKK_DATE.m4a &
done


NKK_TM=120 - продолжительность каждого ролика в секундах;
NKK_DIR=/home/orangepi/ - путь (со слэшем на конце!), по которому будут созданы файлы;
-b:a 64k - битрейт аудио, по вкусу;
-crf 25 - качество видео, по вкусу, в зависимости от крутизны камеры.

4. Вопросы по доработке
1. Файлы, создаваемые в папке /tmp/, физически размещаются в оперативной памяти? Можно ли тут что-то оптимизировать?
2. Как отправить сигнал и отследить событие завершение вечного цикла записи?
3. Как определить, отследить и выйти из цикла до переполнения дискового пространства?
4. Возможно, еще как-то управлять процессом: что вообще еще может потребоваться от видеорегистратора?
5. Как еще можно оптимизировать кодеки, настройки аппаратного обеспечения для бОльшей производительности с мЕньшим энергопотреблением, может, как-то Mali задействовать?
6. Можно как-то эту команду в одну строку записать, а то по отдельности кодирование аудио, видео, мотом муксинг - как-то некрасиво выглядит.
« Последнее редактирование: 05 ЅЮпСам 2016, 17:22:49 от Admin »