
Recherche avancée
Autres articles (61)
-
Gestion des droits de création et d’édition des objets
8 février 2011, parPar défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;
-
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
-
Dépôt de média et thèmes par FTP
31 mai 2013, parL’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)
Sur d’autres sites (7004)
-
'pjsip-apps/Samples' Cannot functionally run vid_streamutil.c sample
2 décembre 2020, par ShootingKIngIssue Description
After building[
Build Varient=Debug
,Build Config=x64
] the latest pjproject-vs14 (retargeted to MSVS 2017, WINSDK=8.1, because my application works at these config) as per the build instruction on trac website. Successfully built pjsua and samples.

I want to use only RTP + FFMPEG APIs (pjmedia) for my application from pjproject.


My config_site.h


#define PJMEDIA_HAS_VIDEO 1
#define PJMEDIA_HAS_FFMPEG 1



FFMPEG (pre build from ffmpeg-N-100121-g052b4c3481-win64-gpl-shared.zip)


But running the example, vid_streamutil.c did not work as expected (? Whats the normal expected behaviour ?).
It says


ffmpeg_vid_cod ffmpeg err -22: Invalid argument
vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)



To Reproduce
Steps to reproduce the behavior :


- 

- run
vid_streamutil.exe
with parameter :--codec=H264 --remote=127.0.0.1:5000 --play-file=test.avi --send-only

(test.avi file being a sample file)




Expected behavior
Get some RTP packets in wireshark while listening to ports 4000 and 5000 maybe ? I dont know whats the expected behaviour, documentation dosent say anything about this :(


Logs/Screenshots
Couldn't catch anything on Wireshark.
Console log of vid_streamutil.exe is


vid_streamutil.exe --codec=H264 --remote=127.0.0.1:5000 --send-only --play-file=test.avi
10:25:24.757 os_core_win32. !pjlib 2.10 for win32 initialized
 
10:25:24.840 wmme_dev.c WMME found 12 devices:
10:25:24.858 wmme_dev.c dev_id 0: Wave mapper (in=2, out=2)
10:25:24.860 wmme_dev.c dev_id 1: Headset Microphone (Arctis 7 Ch (in=2, out=0)
10:25:24.860 wmme_dev.c dev_id 2: Microphone (AMM Virtual Audio D (in=2, out=0)
10:25:24.861 wmme_dev.c dev_id 3: CABLE Output (VB-Audio Virtual (in=2, out=0)
10:25:24.864 wmme_dev.c dev_id 4: VoiceMeeter Output (VB-Audio Vo (in=2, out=0)
10:25:24.864 wmme_dev.c dev_id 5: Microphone (Realtek Audio) (in=2, out=0)
10:25:24.865 wmme_dev.c dev_id 6: Headphones (Arctis 7 Game) (in=0, out=2)
10:25:24.866 wmme_dev.c dev_id 7: Speakers / Headphones (Realtek (in=0, out=2)
10:25:24.867 wmme_dev.c dev_id 8: VoiceMeeter Input (VB-Audio Voi (in=0, out=2)
10:25:24.884 wmme_dev.c dev_id 9: Headset Earphone (Arctis 7 Chat (in=0, out=2)
10:25:24.885 wmme_dev.c dev_id 10: Speakers (AMM Virtual Audio Dev (in=0, out=2)
10:25:24.887 wmme_dev.c dev_id 11: Speakers (VB-Audio Virtual Cabl (in=0, out=2)
10:25:24.887 wmme_dev.c WMME initialized
10:25:24.890 pjlib select() I/O Queue created (0000016B2C5F9608)
10:25:24.892 colorbar_dev.c Colorbar video src initialized with 2 device(s):
10:25:24.915 colorbar_dev.c 0: Colorbar generator
10:25:24.935 colorbar_dev.c 1: Colorbar-active
10:25:24.956 avi_player.c The AVI file has 2 streams.
10:25:24.976 avi_player.c AVI file player 'test.avi' created with 2 media ports
10:25:24.994 vid_streamutil Reading video stream 1280x720 H264 @30.00fps
10:25:25.033 rtp.c pjmedia_rtp_session_init: ses=0000016B2C6793C8, default_pt=97, ssrc=0x294823
10:25:25.053 vstdec0000016B Decoding channel created 720x480 I420<-H264 22/1(~22)fps
10:25:25.054 rtp.c pjmedia_rtp_session_init: ses=0000016B2C62DF1C, default_pt=97, ssrc=0x294823
10:25:25.057 vstenc0000016B Encoding channel created 1280x720 I420->H264 30/1(~30)fps
10:25:25.060 udp0000016B2C6 SO_RCVBUF set to 65536
10:25:25.061 udp0000016B2C6 SO_SNDBUF set to 65536
10:25:25.062 vid_stream.c Video stream vstrm0000016B2C678508 created
10:25:25.086 vstenc0000016B Encoder stream started
10:25:25.104 vstdec0000016B Decoder stream paused
 [VID_STEAMUTIL] Stream is active, dir is send-only, sending to 127.0.0.1:5000
10:25:25.114 vid_streamutil Sending 1280x720 H264 @30.00fps

Commands:
 q Quit

Command: 10:25:25.147 ffmpeg_vid_cod !ffmpeg err -22: Invalid argument
10:25:25.222 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.237 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.250 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.251 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.287 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.311 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.316 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.341 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.353 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.369 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.386 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.387 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.411 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.415 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.452 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.469 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.486 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.496 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.506 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.527 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.547 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.568 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.576 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.604 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.606 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.627 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.648 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.668 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.686 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.711 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.731 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.752 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.769 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.778 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.804 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.827 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.833 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.868 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.886 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.895 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.921 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.923 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.943 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:25.963 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:25.983 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.003 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.019 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.038 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.041 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.060 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.081 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.086 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.109 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.130 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.138 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.162 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.183 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.202 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.220 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.228 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.260 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.281 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.312 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.321 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.321 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.322 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.323 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.323 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.324 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.324 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.333 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.353 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.353 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.381 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.401 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.414 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.429 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.449 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.469 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.480 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.510 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.531 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.553 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.571 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.594 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.615 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.636 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.653 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.671 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.678 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.714 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.736 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.754 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.777 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.781 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
10:25:26.816 ffmpeg_vid_cod ffmpeg err -22: Invalid argument
10:25:26.836 vstenc0000016B Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)
EOF while reading stdin, will quit now..

Commands:
 q Quit

^C



Desktop information :


- 

- OS, Distribution & Version : MS Windows 10 Home, 1909
- PJSIP

- 

- version : 2.10
- applied patch(es) : Nothing Extra
configure
script params : Defaultconfig_site.h
contents : Aforementioned- related third party libraries & versions :
FFMPEG 4.3


















#define LIBAVCODEC_VERSION_MAJOR 58
#define LIBAVCODEC_VERSION_MINOR 91
#define LIBAVCODEC_VERSION_MICRO 100



Additional context
I didnt change the default program that must except adding some printf's when program goes to exit label, without this it will be very difficult to know which part of the program jumped to exit : label. Anyways, here is the full code,


vid_streamutil.c (with printfs)


Any help is appreciated ^^'
Thanks.


- run
-
Open VideoStream using OpenCV 4.5.1 works on Windows but fails on Docker python:3.9.2-slim-buster for specific IP cam
18 mai 2021, par Qua285I have 2 ip cameras - one of Hikvision and another of Provision ISR. Both use Onvif and work on VLC.
I've written a simple python script to record images every 5 sec from their video stream.
On Windows 10, using VSCode they both work as expected. Once deployed to a Docker container, my script works as expected with the Hikvision but fails with the Provision ISR - it doesn't open the stream.


Running
python -c "import cv2; print(cv2.getBuildInformation())"
on windows (venv 3.9.2) and on docker machine bring slightly different results but it's beyond my understanding to take something out of it...
Here is the Windows one :

General configuration for OpenCV 4.5.1 =====================================
 Version control: 4.5.1

 Platform:
 Timestamp: 2021-01-02T14:30:58Z
 Host: Windows 6.3.9600 AMD64
 CMake: 3.18.4
 CMake generator: Visual Studio 14 2015 Win64
 CMake build tool: C:/Program Files (x86)/MSBuild/14.0/bin/MSBuild.exe
 MSVC: 1900

 CPU/HW features:
 Baseline: SSE SSE2 SSE3
 requested: SSE3
 Dispatched code generation: SSE4_1 SSE4_2 FP16 AVX AVX2
 requested: SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX
 SSE4_1 (15 files): + SSSE3 SSE4_1
 SSE4_2 (1 files): + SSSE3 SSE4_1 POPCNT SSE4_2
 FP16 (0 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX
 AVX (4 files): + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
 AVX2 (29 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2

 C/C++:
 Built as dynamic libs?: NO
 C++ standard: 11
 C++ Compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe (ver 19.0.24241.7)
 C++ flags (Release): /DWIN32 /D_WINDOWS /W4 /GR /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 
/MP /MT /O2 /Ob2 /DNDEBUG
 C++ flags (Debug): /DWIN32 /D_WINDOWS /W4 /GR /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 
/MP /MTd /Zi /Ob0 /Od /RTC1
 C Compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
 C flags (Release): /DWIN32 /D_WINDOWS /W3 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /MP /MT /O2 /Ob2 /DNDEBUG
 C flags (Debug): /DWIN32 /D_WINDOWS /W3 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /MP /MTd /Zi /Ob0 /Od /RTC1
 Linker flags (Release): /machine:x64 /NODEFAULTLIB:atlthunk.lib /INCREMENTAL:NO /NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:libcpmtd.lib /NODEFAULTLIB:msvcrtd.lib
 Linker flags (Debug): /machine:x64 /NODEFAULTLIB:atlthunk.lib /debug /INCREMENTAL /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libcpmt.lib /NODEFAULTLIB:msvcrt.lib
 ccache: NO
 Precompiled headers: YES
 Extra dependencies: ade wsock32 comctl32 gdi32 ole32 setupapi ws2_32
 3rdparty dependencies: ittnotify libprotobuf zlib libjpeg-turbo libwebp libpng libtiff libopenjp2 IlmImf quirc ippiw ippicv

 OpenCV modules:
 To be built: calib3d core dnn features2d flann gapi highgui imgcodecs imgproc ml objdetect photo python3 stitching video videoio
 Disabled: world
 Disabled by dependency: -
 Unavailable: java python2 ts
 Applications: -
 Documentation: NO
 Non-free algorithms: NO

 Windows RT support: NO

 GUI:
 Win32 UI: YES
 VTK support: NO

 Media I/O:
 ZLib: build (ver 1.2.11)
 JPEG: build-libjpeg-turbo (ver 2.0.6-62)
 WEBP: build (ver encoder: 0x020f)
 PNG: build (ver 1.6.37)
 TIFF: build (ver 42 - 4.0.10)
 JPEG 2000: build (ver 2.3.1)
 OpenEXR: build (ver 2.3.0)
 HDR: YES
 SUNRASTER: YES
 PXM: YES
 PFM: YES

 Video I/O:
 DC1394: NO
 FFMPEG: YES (prebuilt binaries)
 avcodec: YES (58.91.100)
 avformat: YES (58.45.100)
 avutil: YES (56.51.100)
 swscale: YES (5.7.100)
 avresample: YES (4.0.0)
 GStreamer: NO
 DirectShow: YES
 Media Foundation: YES
 DXVA: NO

 Parallel framework: Concurrency

 Trace: YES (with Intel ITT)

 Other third-party libraries:
 Intel IPP: 2020.0.0 Gold [2020.0.0]
 at: C:/Users/appveyor/AppData/Local/Temp/1/pip-req-build-wvn_it83/_skbuild/win-amd64-3.9/cmake-build/3rdparty/ippicv/ippicv_win/icv
 Intel IPP IW: sources (2020.0.0)
 at: C:/Users/appveyor/AppData/Local/Temp/1/pip-req-build-wvn_it83/_skbuild/win-amd64-3.9/cmake-build/3rdparty/ippicv/ippicv_win/iw
 Lapack: NO
 Eigen: NO
 Custom HAL: NO
 Protobuf: build (3.5.1)

 OpenCL: YES (NVD3D11)
 Include path: C:/Users/appveyor/AppData/Local/Temp/1/pip-req-build-wvn_it83/opencv/3rdparty/include/opencl/1.2
 Link libraries: Dynamic load

 Python 3:
 Interpreter: C:/Python39-x64/python.exe (ver 3.9)
 Libraries: C:/Python39-x64/libs/python39.lib (ver 3.9.0)
 numpy: C:/Users/appveyor/AppData/Local/Temp/1/pip-build-env-sk7r7w_5/overlay/Lib/site-packages/numpy/core/include (ver 1.19.3)
 install path: python

 Python (for build): C:/Python27-x64/python.exe

 Java:
 ant: NO
 JNI: C:/Program Files/Java/jdk1.8.0/include C:/Program Files/Java/jdk1.8.0/include/win32 C:/Program Files/Java/jdk1.8.0/include
 Java wrappers: NO
 Java tests: NO

 Install to: C:/Users/appveyor/AppData/Local/Temp/1/pip-req-build-wvn_it83/_skbuild/win-amd64-3.9/cmake-install
-----------------------------------------------------------------



this is the Docker one (python:3.9.2-slim-buster) :


General configuration for OpenCV 4.5.1 =====================================
 Version control: 4.5.1-dirty

 Platform:
 Timestamp: 2021-01-02T13:04:10Z
 Host: Linux 4.15.0-1077-gcp x86_64
 CMake: 3.18.4
 CMake generator: Unix Makefiles
 CMake build tool: /bin/gmake
 Configuration: Release

 CPU/HW features:
 Baseline: SSE SSE2 SSE3
 requested: SSE3
 Dispatched code generation: SSE4_1 SSE4_2 FP16 AVX AVX2 AVX512_SKX
 requested: SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX
 SSE4_1 (15 files): + SSSE3 SSE4_1
 SSE4_2 (1 files): + SSSE3 SSE4_1 POPCNT SSE4_2
 FP16 (0 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX
 AVX (4 files): + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
 AVX2 (29 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2
 AVX512_SKX (4 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2 AVX_512F AVX512_COMMON AVX512_SKX

 C/C++:
 Built as dynamic libs?: NO
 C++ standard: 11
 C++ Compiler: /usr/lib/ccache/compilers/c++ (ver 9.3.1)
 C++ flags (Release): -Wl,-strip-all -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG
 C++ flags (Debug): -Wl,-strip-all -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -g -O0 -DDEBUG -D_DEBUG
 C Compiler: /usr/lib/ccache/compilers/cc
 C flags (Release): -Wl,-strip-all -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Wno-comment -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -O3 -DNDEBUG -DNDEBUG
 C flags (Debug): -Wl,-strip-all -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Wno-comment -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -g -O0 -DDEBUG -D_DEBUG
 Linker flags (Release): -Wl,--exclude-libs,libippicv.a -Wl,--exclude-libs,libippiw.a -L/root/ffmpeg_build/lib -Wl,--gc-sections -Wl,--as-needed
 Linker flags (Debug): -Wl,--exclude-libs,libippicv.a -Wl,--exclude-libs,libippiw.a -L/root/ffmpeg_build/lib -Wl,--gc-sections -Wl,--as-needed
 ccache: YES
 Precompiled headers: NO
 Extra dependencies: ade Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Test Qt5::Concurrent /lib64/libpng.so /lib64/libz.so dl m pthread rt
 3rdparty dependencies: ittnotify libprotobuf libjpeg-turbo libwebp libtiff libopenjp2 IlmImf quirc ippiw ippicv

 OpenCV modules:
 To be built: calib3d core dnn features2d flann gapi highgui imgcodecs imgproc ml objdetect photo python3 stitching video videoio
 Disabled: world
 Disabled by dependency: -
 Unavailable: java python2 ts
 Applications: -
 Documentation: NO
 Non-free algorithms: NO

 GUI:
 QT: YES (ver 5.15.0)
 QT OpenGL support: NO
 GTK+: NO
 VTK support: NO

 Media I/O:
 ZLib: /lib64/libz.so (ver 1.2.7)
 JPEG: libjpeg-turbo (ver 2.0.6-62)
 WEBP: build (ver encoder: 0x020f)
 PNG: /lib64/libpng.so (ver 1.5.13)
 TIFF: build (ver 42 - 4.0.10)
 JPEG 2000: build (ver 2.3.1)
 OpenEXR: build (ver 2.3.0)
 HDR: YES
 SUNRASTER: YES
 PXM: YES
 PFM: YES

 Video I/O:
 DC1394: NO
 FFMPEG: YES
 avcodec: YES (58.109.100)
 avformat: YES (58.61.100)
 avutil: YES (56.60.100)
 swscale: YES (5.8.100)
 avresample: NO
 GStreamer: NO
 v4l/v4l2: YES (linux/videodev2.h)

 Parallel framework: pthreads

 Trace: YES (with Intel ITT)

 Other third-party libraries:
 Intel IPP: 2020.0.0 Gold [2020.0.0]
 at: /tmp/pip-req-build-ddpkm6fn/_skbuild/linux-x86_64-3.9/cmake-build/3rdparty/ippicv/ippicv_lnx/icv
 Intel IPP IW: sources (2020.0.0)
 at: /tmp/pip-req-build-ddpkm6fn/_skbuild/linux-x86_64-3.9/cmake-build/3rdparty/ippicv/ippicv_lnx/iw
 Lapack: NO
 Eigen: NO
 Custom HAL: NO
 Protobuf: build (3.5.1)

 OpenCL: YES (no extra features)
 Include path: /tmp/pip-req-build-ddpkm6fn/opencv/3rdparty/include/opencl/1.2
 Link libraries: Dynamic load

 Python 3:
 Interpreter: /opt/python/cp39-cp39/bin/python (ver 3.9)
 Libraries: libpython3.9.a (ver 3.9.0)
 numpy: /tmp/pip-build-env-jqrfyj0w/overlay/lib/python3.9/site-packages/numpy/core/include (ver 1.19.3)
 install path: python

 Python (for build): /bin/python2.7

 Java:
 ant: NO
 JNI: NO
 Java wrappers: NO
 Java tests: NO

 Install to: /tmp/pip-req-build-ddpkm6fn/_skbuild/linux-x86_64-3.9/cmake-install
-----------------------------------------------------------------



If relevant, the docker is installed on an Intel NUC with Ubuntu Desktop 20.04


If relevant, this is the dockerfile I've used to build the image :


FROM python:3.9.2-slim-buster as builder

# Keeps Python from generating .pyc files in the container
ENV PYTHONDONTWRITEBYTECODE=1
# Without this setting, Python never prints anything out.
ENV PYTHONUNBUFFERED=1

RUN pip install --upgrade pip
COPY ./Cam/requirements.txt .
RUN pip install -r requirements.txt
RUN apt-get update
RUN apt-get install ffmpeg libsm6 libxext6 -y

WORKDIR /app

FROM builder
COPY ./Cam .
CMD ["python", "camStreamer.py"]



and last, this is the script code (simplified) :


import os, logging, threading
from os.path import join
import sys, inspect, datetime, time
from pathlib import Path
import cv2
import imutils
from imutils.video import VideoStream

def StartRecording(showVideoWindow, interval, imagePath):
 key = None
 cam = VideoStream(os.getenv("CAM_RTSP")).start()
 counter = 0
 try:
 while True:
 ## 2 min retry to connect if frame is None
 if counter > 60/interval*2: break

 ts = time.time()
 ## Wait for [interval] seconds
 while ts + interval > time.time():
 continue
 print(f"Counter: {counter}, ts: {str(ts)}")

 frame = cam.read()
 if frame is None:
 counter += 1
 continue
 counter = 0

 print("frame is valid")
 if showVideoWindow:
 frame = imutils.resize(frame, width=1200)
 cv2.imshow('VIDEO', frame)

 imageName = f"{datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%dT%H_%M_%S')}.jpg"
 cv2.imwrite(join(imagePath, imageName), frame)
 print("saved image to disk")

 key = cv2.waitKey(1) & 0xFF
 if key == ord('q') or key == ord('r'):
 break

 except Exception as e:
 exc_tb = sys.exc_info()[2]
 extra = ""
 print(f"{inspect.stack()[0][3]}: {e} (lineno: {exc_tb.tb_lineno}) {extra}")
 finally:
 if showVideoWindow: cv2.destroyAllWindows()
 cam.stop()
 return key


while True:
 log.warning(f"Starting {Name}")
 key = StartRecording(
 showVideoWindow=(Env.startswith("development") and os.getenv("SHOW_VIDEO") == "True"),
 interval=int(os.getenv("SAVE_IMAGE_INTERVAL")),
 imagePath=os.getenv('CAPTURE_FOLDER')
 )
 if key == ord('q'):
 break



I apologize for the very long post. Hopefully someone can put me on the right direction...


-
The Ultimate Guide to HeatMap Software