|
|
Опции темы | Поиск в этой теме | Опции просмотра |
08.11.2015, 14:19 | #31 | ||
Senior Member
Регистрация: 22.10.2015
Адрес: Там где сосны и песок
Сообщений: 1,534
Вес репутации: 1601 |
Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом
Legich5
Цитата:
Код:
root@***:~# ffmpeg -r 25 -y -i "/mnt/ya/123/_%d.png" /mnt/ya/123/output.avi -report ffmpeg started on 2015-11-08 at 14:17:01 Report written to "ffmpeg-20151108-141701.log" 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 Input #0, image2, from '/mnt/ya/123/_%d.png': Duration: 00:00:19.96, start: 0.000000, bitrate: N/A Stream #0:0: Video: png, rgb24, 1280x720, 25 fps, 25 tbr, 25 tbn, 25 tbc Output #0, avi, to '/mnt/ya/123/output.avi': Metadata: ISFT : Lavf56.25.101 Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 1280x720, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc56.26.100 mpeg4 Stream mapping: Stream #0:0 -> #0:0 (png (native) -> mpeg4 (native)) Press [q] to stop, [?] for help Цитата:
- писать нужно только движение - ffmpeg этого не умеет - желательно накладывать дату и время на изображение - это ffmpeg вроде умеет.. - и не тратить много времени и ресурсов слабого железа роутера на все это - ffmpeg этим грешен - ну и неплохо бы иметь возможность просмотра стрима удаленно или по локалке А ссылка хороша : https://trac.ffmpeg.org/wiki/Capture/Webcam Последний раз редактировалось sunny; 08.11.2015 в 14:36. |
||
08.11.2015, 14:40 | #32 |
Senior Member
Регистрация: 22.10.2015
Адрес: Там где сосны и песок
Сообщений: 1,534
Вес репутации: 1601 |
Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом
Нашлись вроде логи
/www/log /www/ffmpeg-20151108-141248.log /www/ffmpeg-20151108-140018.log /www/ffmpeg-20151108-140222.log Могу выполнить тоже, на прошивке с вашим патчем со значением U10 - займет время Если нужно, конечно ... Последний раз редактировалось sunny; 08.11.2015 в 14:54. |
08.11.2015, 14:40 | #33 | |
Senior Member
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 990 |
Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом
Legich5
Цитата:
P.S. На mjpg-streamer поток в 2.3 Мбайта/сек, проц 18-20%, режим 1280х720х30 P.S.2 Выше тестировал на С270, пробую на С510 - mjpg-streamer 5 Мбайта/сек, проц - 30-44% uvc2http - 4.3Мбайта/сек, проц -21-27%. С510 не прописана в uvc_driver.c, т.е. по логике на неё этот патч не действует, но прога uvc2http то работает, не пойму Последний раз редактировалось sakatgg; 08.11.2015 в 15:53. |
|
08.11.2015, 15:04 | #34 |
Senior Member
Регистрация: 22.10.2015
Адрес: Там где сосны и песок
Сообщений: 1,534
Вес репутации: 1601 |
Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом
Мое скромное имхо, как пользователя а не разработчика...
Если при компиляции прошивки вырезать из ffmpeg все лишнее, собрав облегченный вариант - возможно это прибавит скажем 10 fsp к конечному видео. В принципе существующая система motion+ffmpeg работает хорошо, чем мощнее роутер тем лучше. Но есть проблемы с поддержкой разрешений выше 640x480 и fsp не превышает значения 8 fsp при 640х480 - если отключить скриншоты (фото) движения и трансляцию стрима - у меня на Asus RT-N14U это так. === И самое главное, интересно почему с Вашим патчем: - в топе нагрузка на железо реально меньше - ролики создаются дольше - у них низкое fsp значение 2 === Запустил сборку видео на прошивке с Вашим патчем UVC драйвера, значение U10: Код:
root@zx77:~# ffmpeg -r 25 -y -i "/mnt/ya/123/_%d.png" /mnt/ya/123/output.avi -report ffmpeg started on 2015-11-08 at 15:26:44 Report written to "ffmpeg-20151108-152644.log" 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 r47374) 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 Input #0, image2, from '/mnt/ya/123/_%d.png': Duration: 00:00:19.96, start: 0.000000, bitrate: N/A Stream #0:0: Video: png, rgb24, 1280x720, 25 fps, 25 tbr, 25 tbn, 25 tbc Output #0, avi, to '/mnt/ya/123/output.avi': Metadata: ISFT : Lavf56.25.101 Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 1280x720, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc56.26.100 mpeg4 Stream mapping: Stream #0:0 -> #0:0 (png (native) -> mpeg4 (native)) Press [q] to stop, [?] for help 15:26:44 - начало 15:45:00 - окончание 18 минут 16 секунд Источник: 500 кадров 1280x720 _d%.png Полученное видео: 25 fsp , 1978 битрейд output.avi Сравним, прошивка без патча UVC драйвера: http://cyber-place.ru/showpost.php?p=28913&postcount=26 Лог теперь оказался в ./root Последний раз редактировалось sunny; 08.11.2015 в 15:53. |
08.11.2015, 16:49 | #35 | |
Senior Member
Регистрация: 22.10.2015
Адрес: Там где сосны и песок
Сообщений: 1,534
Вес репутации: 1601 |
Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом
sakatgg
Ну, что скажешь, как впечатления от стрима ? Есть мысли, как это можно задействовать с пользой для дела Имхо, надо попробывать в motion и ffmpeg покопаться на предмет наличия настроек MaxVideoFrameSize. У motion-a в архиве есть файлы: Видео: - video.c - video.h - video2.c - video_common.c - video_freebsd.c - video_freebsd.h И стрим: stream.c stream.h === Цитата:
Код:
ctrl->dwMaxVideoFrameSize = ((u32)(frame->wWidth) * frame->wHeight * 2U) / 5U; Последний раз редактировалось sunny; 08.11.2015 в 18:07. |
|
08.11.2015, 17:25 | #36 | |||
Senior Member
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 990 |
Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом
Legich5
Цитата:
Цитата:
Стемнело на улице fps автоматом понизился до 15, вроде как автор про это описано в статье Цитата:
Последний раз редактировалось sakatgg; 08.11.2015 в 17:42. |
|||
08.11.2015, 17:43 | #37 |
Senior Member
Регистрация: 22.10.2015
Адрес: Там где сосны и песок
Сообщений: 1,534
Вес репутации: 1601 |
Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом
Стрим motion-a по идее не зависит от ffmpeg
stream.h: Код:
#ifndef _INCLUDE_STREAM_H_ #define _INCLUDE_STREAM_H_ struct stream_buffer { unsigned char *ptr; int ref; long size; }; struct stream { int socket; FILE *fwrite; struct stream_buffer *tmpbuffer; long filepos; int nr; unsigned long int last; struct stream *prev; struct stream *next; }; int stream_init(struct context *); void stream_put(struct context *, unsigned char *); void stream_stop(struct context *); #endif /* _INCLUDE_STREAM_H_ */ === ffmpeg-2.6.2/libavcodec/mpegvideo.c ffmpeg-2.6.2/libavcodec/mpegvideo.h Последний раз редактировалось sunny; 08.11.2015 в 18:45. |
08.11.2015, 20:26 | #38 | |
Senior Member
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 990 |
Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом
Legich5, Кое как удалось снять лог, заветной строки uvcvideo: dwMaxVideoFrameSize fixed to - нет
есть uvcvideo: Stream 1 error event 07 00 len 4. sunny Цитата:
Последний раз редактировалось sakatgg; 08.11.2015 в 23:44. |
|
08.11.2015, 23:54 | #39 | ||
Senior Member
Регистрация: 22.10.2015
Адрес: Там где сосны и песок
Сообщений: 1,534
Вес репутации: 1601 |
Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом
Цитата:
5U и 10U: Начну сначала: Цитата:
Код:
--- a/drivers/media/usb/uvc/uvc_video.c +++ b/drivers/media/usb/uvc/uvc_video.c @@ -113,6 +113,14 @@ static void uvc_fixup_video_ctrl(struct if (frame == NULL) return; + if ((format->flags & UVC_FMT_FLAG_COMPRESSED) && + (stream->dev->quirks & UVC_QUIRK_COMPRESSION_RATE)) { + /* It is expected that MJPEG compressed image at least 5 times less than uncompressed one */ + ctrl->dwMaxVideoFrameSize = ((u32)(frame->wWidth) * frame->wHeight * 2U) / 5U; + + uvc_printk(KERN_ERR, "dwMaxVideoFrameSize fixed to %d.\n", ctrl->dwMaxVideoFrameSize); + } + if (!(format->flags & UVC_FMT_FLAG_COMPRESSED) || (ctrl->dwMaxVideoFrameSize == 0 && stream->dev->uvc_version < 0x0110)) --- a/drivers/media/usb/uvc/uvcvideo.h +++ b/drivers/media/usb/uvc/uvcvideo.h @@ -148,6 +148,7 @@ #define UVC_QUIRK_PROBE_DEF 0x00000100 #define UVC_QUIRK_RESTRICT_FRAME_RATE 0x00000200 #define UVC_QUIRK_RESTORE_CTRLS_ON_INIT 0x00000400 + #define UVC_QUIRK_COMPRESSION_RATE 0x00000800 /* Format flags */ #define UVC_FMT_FLAG_COMPRESSED 0x00000001 #define UVC_FMT_FLAG_STREAM 0x00000002 --- a/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c @@ -2102,6 +2102,16 @@ static struct usb_device_id uvc_ids[] = .driver_info = UVC_QUIRK_PROBE_MINMAX }, + /* Microdia Sonix USB 2.0 Camera */ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE + | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = 0x0c45, + .idProduct = 0x62c0, + .bInterfaceClass = USB_CLASS_VIDEO, + .bInterfaceSubClass = 1, + .bInterfaceProtocol = 0, + .driver_info = UVC_QUIRK_IGNORE_VSI_IDX_OOR}, + | UVC_QUIRK_COMPRESSION_RATE }, Строка кода добавляется в drivers/media/usb/uvc/uvc_video.c: Код:
ctrl->dwMaxVideoFrameSize = ((u32)(frame->wWidth) * frame->wHeight * 2U) / 5U; Зато fsp видеороликов просело до 2. Соответственно я собрал с нуля 2 прошивки с патчем драйвера UVC: - со значением k=5 Код:
ctrl->dwMaxVideoFrameSize = ((u32)(frame->wWidth) * frame->wHeight * 2U) / 5U; Код:
ctrl->dwMaxVideoFrameSize = ((u32)(frame->wWidth) * frame->wHeight * 2U) / 10U; Последний раз редактировалось sunny; 09.11.2015 в 00:22. |
||
09.11.2015, 00:36 | #40 |
Senior Member
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 990 |
Re: Вебкамера, высокое разрешение, fsp и роутер со слабым железом
UVC_QUIRK_COMPRESSION_RATE - пришёл к выводу, что это аппаратная приблуда, включается там где её исключили из процесса, и если её нет изначально, то обломс
|
Здесь присутствуют: 3 (пользователей: 0 , гостей: 3) | |
|
|