Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.11.2015, 22:54   #21
Legich5
Junior Member
 
Регистрация: 05.11.2015
Сообщений: 26
Вес репутации: 0
Legich5 is an unknown quantity at this point
По умолчанию Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом

Цитата:
Сообщение от sunny Посмотреть сообщение
ffmpeg library оптимизация декодирование H.264 для встраемых систем:
http://www.linux.org.ru/forum/development/11472891
===
В случае с motion это не декодирование это кодирование (сжатие). Это в несколько раз затратнее. На роутере сжатие скорее всего будет на выполнено CPU (т.е. без аппаратного ускорения). По приведенной ссылке человек приводит цифру для mips32 1004K (700MHz) - ~4 fps для HD 720p.

Цитата:
Сообщение от sunny Посмотреть сообщение
Я взял ролик HD 720 разбил его на *.png - сейчас перекидываю их на Яндекс диск.

Потом попробую собрать из них видео с помощью ffmpeg c прошивки с Вашим патчем U5.

Делаю скрипт:
Код:
#!/bin/sh
ffmpeg -r 25 -y -i "/mnt/ya/123/_%d.png" /mnt/ya/123/output.avi
Кидаю в роутер, запускать его буду с веб интерфейса...
А в терминале по ssh буду смотреть top

Так, нормально ?
Надо еще соблюсти несколько тонкостей:
* Cобрать лог ffmpeg-а в котором он напишет скорость кодирования.
* Задать видео кодек которым будет зажато видео + его настройки. И было бы хорошо если бы они были такими же как в motion.

Вопрос: вы пробовали записывать MJPG видео через motion?

Последний раз редактировалось Legich5; 07.11.2015 в 23:02. Причина: опечатки
Legich5 вне форума   Ответить с цитированием
Старый 07.11.2015, 23:06   #22
sunny
Senior Member
 
Аватар для sunny
 
Регистрация: 22.10.2015
Адрес: Там где сосны и песок
Сообщений: 1,534
Вес репутации: 1600
sunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to all
По умолчанию Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом

Цитата:
Вопрос: вы пробовали записывать MJPG видео через motion?
Нет, я пробовал выставлять v4l2_palette 8 - это немного другое.
Это значение задает характеристики камеры с которой снимается изображение.

В конфиге motion-a предлагается на выбор следующее:
- mpeg4 (пишет)
- msmpeg4 (пишет)
- mpeg1 (зеленый экран)
- swf (пишет)
- flv (пишет)
- mov (пишет, не воспроизводит - битый файл)
- ogg (пишет, не воспроизводит - битый файл)

Цитата:
Надо еще соблюсти несколько тонкостей:
* Cобрать лог ffmpeg-а в котором он напишет скорость кодирования.
* Задать видео кодек которым будет зажато видео + его настройки. И было бы хорошо если бы они такими же как в motion.
* Да, про лог забыл...
* логично

Дело в том что:

У меня сейчас прошивка на роутере с вашим патчем значение - U5 "слегка кривая" :
Я писал сюда:
https://dev.openwrt.org/ticket/20770
чтобы они поправили баг davfs2 - он подключался, но запись на диск не шла - они выпустили патч, и я собрал прошивку с вашим патчем U5 + только их патч, без моего Makefile.
Соответственно их патч davfs2 работает криво (ничего не изменилось), поэтому процесс идет, а файла на ЯД-е нет .
===
Но у меня есть правильная прошивка с вашим патчем U10, вот ее нужно ставить на роутер и проводить с ней эксперименты
Вот такой винигрет
===
P.S. Но я все равно педантичен, если не спешу .................

====
====
====

Если серьезно:

Как вы думаете какой кодек лучше использовать - меньше грузит систему.

Чистый эксперимент буду ставить скорее всего завтра

И как правильно писать лог ffmpeg ?


Вам удалось добиться качественного стрима - может есть какой-то вариант его записи ?

Какая может быть альтернатива motion-у + ffmpeg ?

Последний раз редактировалось sunny; 08.11.2015 в 00:38.
sunny вне форума   Ответить с цитированием
Старый 07.11.2015, 23:34   #23
sakatgg
Senior Member
 
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 989
sakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nice
По умолчанию Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом

Цитата:
Видимо ваша камера не поддерживает автофокус. Попробуйте в файле AppMain.cpp строку 94
config.GrabberCfg.SetupCamera = SetupCamera;
заменить на
config.GrabberCfg.SetupCamera = nullptr;

Пересобрать uvc2http и запустить его на роутере.
Legich5, Камера через uvc2http заработала, спасибо за помощь.
P.S Загрузка проца 7-11% на статике, 1280х720х30
P.S2
Цитата:
Есть точный признак включения патча - строки в dmesg подобные этой
[ 131.000000] uvcvideo: dwMaxVideoFrameSize fixed to 368640
В логе отсутствут dwMaxVideoFrameSize, значит патч не включился?
Вложения
Тип файла: txt dmesg.txt (119.4 Кб, 73 просмотров)

Последний раз редактировалось sakatgg; 08.11.2015 в 00:10.
sakatgg вне форума   Ответить с цитированием
Старый 08.11.2015, 00:34   #24
sunny
Senior Member
 
Аватар для sunny
 
Регистрация: 22.10.2015
Адрес: Там где сосны и песок
Сообщений: 1,534
Вес репутации: 1600
sunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to all
Smile Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом

sakatgg

Попробуй просто посмотреть что выдаст:
Код:
logread
=

Цитата:
1280х720х30
- лепота ....

=

Цитата:
Вопрос: вы пробовали записывать MJPG видео через motion?
Сменил прошивку в роутере на 100% рабочую если выставить в motion.conf:
Код:
ffmpeg_video_codec mjpeg
На выходе получаем зеленую картинку *.jpg

sakatgg

Есть идея

http://cyber-place.ru/showpost.php?p=28908&postcount=37

Там по любому китайский линукс

Последний раз редактировалось sunny; 08.11.2015 в 11:11.
sunny вне форума   Ответить с цитированием
Старый 08.11.2015, 11:09   #25
sunny
Senior Member
 
Аватар для sunny
 
Регистрация: 22.10.2015
Адрес: Там где сосны и песок
Сообщений: 1,534
Вес репутации: 1600
sunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to all
По умолчанию Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом

Основная проблема в использовании связки motion+ffmpeg - по видимому действительно в ffmpeg.

В принципе можно просто делать скриншоты движения используя стандартный motion из родного репозитария openwrt.
Увеличить бы кол-во кадров, которые готов выдавать motion.

А используя стандартный ffmpeg и скрипты - собирать из этих изображений видео используя кодек - который меньше всего нагружает систему в целом.

===

Собрал еще раз видео на прошивке без патча Legich5:
скрипт тот же, пытался добавить битрейд 50000 как в motion-e и кодек mpeg4:

Код:
#!/bin/sh
ffmpeg -r 25 -b 500000 -vcodec mpeg4 -y -i "/mnt/ya/123/_%d.png" /mnt/ya/123/output.avi > log
Не заработало:

Данный скрипт дал такие результаты:

Код:
#!/bin/sh
ffmpeg -r 25 -y -i "/mnt/ya/123/_%d.png" /mnt/ya/123/output.avi >> log
Вывод: logread
Код:
Sun Nov  8 11:59:26 2015 user.notice syslog: [0] [NTC] [ENC] ffmpeg_init: ffmpeg LIBAVCODEC_BUILD 3676772 LIBAVFORMAT_BUILD 3676517
Видео получилось нормальное, сборка происходила непосредственно на Яндекс Диске.
Кол-во *.png - 500 шт. сборка видео длилась примерно 10-15 минут, сейчас еще раз соберу.. засеку время
С логированием ffmpeg не могу пока разобраться...
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок экрана от 2015-11-08 11:48:18.png
Просмотров: 201
Размер:	29.7 Кб
ID:	3246   Нажмите на изображение для увеличения
Название: Снимок экрана от 2015-11-08 11:30:10.png
Просмотров: 205
Размер:	83.0 Кб
ID:	3247   Нажмите на изображение для увеличения
Название: Снимок экрана от 2015-11-08 11:29:33.png
Просмотров: 205
Размер:	86.7 Кб
ID:	3248   Нажмите на изображение для увеличения
Название: Снимок экрана от 2015-11-08 11:28:48.png
Просмотров: 206
Размер:	85.2 Кб
ID:	3249  


Последний раз редактировалось sunny; 08.11.2015 в 13:01.
sunny вне форума   Ответить с цитированием
Старый 08.11.2015, 12:20   #26
sunny
Senior Member
 
Аватар для sunny
 
Регистрация: 22.10.2015
Адрес: Там где сосны и песок
Сообщений: 1,534
Вес репутации: 1600
sunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to all
По умолчанию Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом

Кстати, я находил где-то статью - где наш коллега скриншотил с помощью mjpg streamer и собирал потом из этого видео ffmpeg-ом...
Если "научить" делать подобное uvc2http.
===
Собрал видео еще раз сборка длилась:

12:28:53 - начало
12:44:30 - окончание

15 минут 37 секунд

Источник:

500 кадров
1280x720
_d%.png

Полученное видео:
fsp 25,
битрейд 1978
output.avi

===

Пробовал так, не хочет:
Код:
output.avi > /mnt/ya/log
Появился пустой файл log в корне ya

В принципе:
Код:
root@***:/# ffmpeg -h
ffmpeg version 2.6.2 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r47400)
  configuration: --enable-cross-compile --cross-prefix=mipsel-openwrt-linux-uclibc- --arch=mipsel --target-os=linux --prefix=/usr --pkg-config=pkg-config --enable-shared --enable-static --enable-small --enable-pthreads --enable-zlib --disable-runtime-cpudetect --disable-doc --disable-debug --enable-gpl --enable-version3 --disable-altivec --disable-amd3dnow --disable-amd3dnowext --disable-mmx --disable-mmxext --disable-sse --disable-sse2 --disable-sse3 --disable-ssse3 --disable-sse4 --disable-sse42 --disable-avx --disable-xop --disable-fma3 --disable-fma4 --disable-avx2 --disable-vfp --disable-neon --disable-inline-asm --disable-yasm --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --disable-mipsfpu --disable-dxva2 --disable-lzma --disable-vaapi --disable-vda --disable-vdpau --disable-outdevs
  libavutil      54. 20.100 / 54. 20.100
  libavcodec     56. 26.100 / 56. 26.100
  libavformat    56. 25.101 / 56. 25.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 11.102 /  5. 11.102
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Getting help:
    -h      -- print basic options
    -h long -- print more options
    -h full -- print all options (including all format and codec specific options, very long)
    See man ffmpeg for detailed description of the options.

Print help / information / capabilities:
-L                  show license
-h topic            show help
-? topic            show help
-help topic         show help
--help topic        show help
-version            show version
-buildconf          show build configuration
-formats            show available formats
-devices            show available devices
-codecs             show available codecs
-decoders           show available decoders
-encoders           show available encoders
-bsfs               show available bit stream filters
-protocols          show available protocols
-filters            show available filters
-pix_fmts           show available pixel formats
-layouts            show standard channel layouts
-sample_fmts        show available audio sample formats
-colors             show available color names
-sources device     list sources of the input device
-sinks device       list sinks of the output device

Global options (affect whole program instead of just one file:
-loglevel loglevel  set logging level
-v loglevel         set logging level
-report             generate a report
-max_alloc bytes    set maximum size of a single allocated block
-y                  overwrite output files
-n                  never overwrite output files
-stats              print progress report during encoding
-max_error_rate ratio of errors (0.0: no errors, 1.0: 100% error  maximum error rate
-bits_per_raw_sample number  set the number of bits per raw sample
-vol volume         change audio volume (256=normal)

Per-file main options:
-f fmt              force format
-c codec            codec name
-codec codec        codec name
-pre preset         preset name
-map_metadata outfile[,metadata]:infile[,metadata]  set metadata information of outfile from infile
-t duration         record or transcode "duration" seconds of audio/video
-to time_stop       record or transcode stop time
-fs limit_size      set the limit file size in bytes
-ss time_off        set the start time offset
-timestamp time     set the recording timestamp ('now' to set the current time)
-metadata string=string  add metadata
-target type        specify target file type ("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ...)
-apad               audio pad
-frames number      set the number of frames to output
-filter filter_graph  set stream filtergraph
-filter_script filename  read stream filtergraph description from a file
-reinit_filter      reinit filtergraph on input parameter changes
-discard            discard
-disposition        disposition

Video options:
-vframes number     set the number of video frames to output
-r rate             set frame rate (Hz value, fraction or abbreviation)
-s size             set frame size (WxH or abbreviation)
-aspect aspect      set aspect ratio (4:3, 16:9 or 1.3333, 1.7777)
-bits_per_raw_sample number  set the number of bits per raw sample
-vn                 disable video
-vcodec codec       force video codec ('copy' to copy stream)
-timecode hh:mm:ss[:;.]ff  set initial TimeCode value.
-pass n             select the pass number (1 to 3)
-vf filter_graph    set video filters
-ab bitrate         audio bitrate (please use -b:a)
-b bitrate          video bitrate (please use -b:v)
-dn                 disable data

Audio options:
-aframes number     set the number of audio frames to output
-aq quality         set audio quality (codec-specific)
-ar rate            set audio sampling rate (in Hz)
-ac channels        set number of audio channels
-an                 disable audio
-acodec codec       force audio codec ('copy' to copy stream)
-vol volume         change audio volume (256=normal)
-af filter_graph    set audio filters

Subtitle options:
-s size             set frame size (WxH or abbreviation)
-sn                 disable subtitle
-scodec codec       force subtitle codec ('copy' to copy stream)
-stag fourcc/tag    force subtitle tag/fourcc
-fix_sub_duration   fix subtitles duration
-canvas_size size   set canvas size (WxH or abbreviation)
-spre preset        set the subtitle options to the indicated preset
===
Кстати запись стрима ffmpeg-ом:
http://forum.ubuntu.ru/index.php?topic=225811.0

Последний раз редактировалось sunny; 08.11.2015 в 13:12.
sunny вне форума   Ответить с цитированием
Старый 08.11.2015, 12:45   #27
Legich5
Junior Member
 
Регистрация: 05.11.2015
Сообщений: 26
Вес репутации: 0
Legich5 is an unknown quantity at this point
По умолчанию Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом

Цитата:
Сообщение от sakatgg Посмотреть сообщение
Legich5, Камера через uvc2http заработала, спасибо за помощь.
P.S Загрузка проца 7-11% на статике, 1280х720х30
P.S2

В логе отсутствут dwMaxVideoFrameSize, значит патч не включился?
По этому логу тоже нельзя сказать. Так как в нем нет строк сделанных в процессе старта видеозахвата. Возможно долго ждали после запуска. Надо только запустить, увидеть видео и сразу снять лог.

Нюанс: если вам удалось включить режим 1280х720х30 это не значит что вы получили 30 fps. Я записывал видео через VLC и смотрел какой fps в итоговом видео. На моем железе мне удавалось получить только 20-22 fps. У вас CPU побыстрее, поэтому можно получить больше.
Legich5 вне форума   Ответить с цитированием
Старый 08.11.2015, 13:25   #28
sunny
Senior Member
 
Аватар для sunny
 
Регистрация: 22.10.2015
Адрес: Там где сосны и песок
Сообщений: 1,534
Вес репутации: 1600
sunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to all
По умолчанию Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом

Код:
ffmpeg -r 25 -y -i "/mnt/ya/123/_%d.png" /mnt/ya/123/output.avi -loglevel info > /mnt/ya/log
Так удалось запустить 13:31:00 -13:48:50 лог пустой, впрочем поищу на роутере

На кодек и битрейд по прежнему ругается, да видео ролик я разбирал на ПК под ubuntu с помощью OpenShort Video Editor.

===

Кстати motion тоже можно запускать с логированием
Код:
-l log file 		Full path and filename of log file.
motion -l /mnt/ya/log
Запускаю так:

14:13:00

Код:
#!/bin/sh
ffmpeg -r 25 -y -i "/mnt/ya/123/_%d.png" /mnt/ya/123/output.avi -loglevel info "/mnt/ya/log"

Последний раз редактировалось sunny; 08.11.2015 в 14:15.
sunny вне форума   Ответить с цитированием
Старый 08.11.2015, 14:08   #29
Legich5
Junior Member
 
Регистрация: 05.11.2015
Сообщений: 26
Вес репутации: 0
Legich5 is an unknown quantity at this point
По умолчанию Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом

Цитата:
Сообщение от sunny Посмотреть сообщение
Кстати, я находил где-то статью - где наш коллега скриншотил с помощью mjpg streamer и собирал потом из этого видео ffmpeg-ом...
Если "научить" делать подобное uvc2http
Возможно я не совсем понимаю, но это можно сделать используя только ffmpeg (https://trac.ffmpeg.org/wiki/Capture/Webcam).
Legich5 вне форума   Ответить с цитированием
Старый 08.11.2015, 14:14   #30
Legich5
Junior Member
 
Регистрация: 05.11.2015
Сообщений: 26
Вес репутации: 0
Legich5 is an unknown quantity at this point
По умолчанию Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом

Цитата:
Сообщение от sunny Посмотреть сообщение
Код:
ffmpeg -r 25 -y -i "/mnt/ya/123/_%d.png" /mnt/ya/123/output.avi -loglevel info > /mnt/ya/log
Так удалось запустить 13:31:00 -13:48:50 лог пустой, впрочем поищу на роутере

На кодек и битрейд по прежнему ругается, да видео ролик я разбирал на ПК под ubuntu с помощью OpenShort Video Editor.
Попробуйте запустить ffmpeg в консоли - он показывает скорость кодирования прямо в ней. Запуск top скорее всего не даст новой информации, так как ffmpeg загружает CPU по максимуму (если только не упрется в диск или сеть).
Legich5 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 14:28. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика