
Recherche avancée
Autres articles (77)
-
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...) -
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...) -
Automated installation script of MediaSPIP
25 avril 2011, parTo overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
The documentation of the use of this installation script is available here.
The code of this (...)
Sur d’autres sites (6714)
-
Premium Plugins now available on the Piwik Analytics Marketplace
2 novembre 2016, par Piwik Core Team — Community, Press ReleasesWe are super excited to announce the launch of three new premium plugins which are now available on the Piwik Marketplace : A/B Testing, Media Analytics, and Activity Log.
All three plugins are easy to use and come with 100% data ownership, documentation, integration with Piwik, powerful data exports and no data limits.
These first premium plugins and the new Marketplace capabilities have been designed and built with love by InnoCraft – the new company brought to you by the makers of Piwik.
1. A/B Testing
A/B Testing helps you grow your business by comparing different versions of your website or app to detect the most successful version that increases your sales, revenue, conversions, pageviews, and more.
A/B tests are also known as experiments or split tests. In an A/B test you show two or more different variations to your users (visitors) and the variation that performs better wins. When a user enters the experiment, a variation will be randomly chosen and the user will see this variation for all subsequent visits. Piwik A/B testing uses advanced statistical analysis to detect which variation performs better for your conversion goals and success metrics. Even small tests can increase your sales and conversions massively !
Learn more here :
- A/B Testing – Experiments (website).
- List of all features on the Marketplace : A/B Testing Plugin.
-
The A/B Testing User Guide and the A/B Testing FAQ help you getting started in running A/B tests. The A/B Testing developer guides help you embedding and implementing A/B tests into your project.
- A/B Testing Platform for Piwik Analytics (blog post).
2. Media Analytics
Do you have videos or audio on your website, or in an app ? Media Analytics gives you powerful insights into how your audience watches your videos and listens to your audio, to ultimately maximize your success.
Learn all about your audience. Which media your users are playing, for how long, how often, and where they dropped off ? Where are your users located around the world ? Who your audience are and what did people do before and after watching a video or listening to audio ? Many of the reports are also available in Real time, so you can gain insights and react quickly.
Learn more here :
- Media Analytics (website).
- List of all features on the Marketplace : Media Analytics plugin.
- Screenshots for Media Analytics.
-
The Media Analytics User Guide and the Media Analytics FAQ cover on how to get the most out of this plugin. The Media Analytics developer guides help you setting up the tracking of your video and audio.
Powerful Video Analytics and Audio Analytics for Piwik
(blog post).
3. Activity log
Keep an eye on everything that is happening on your Piwik platform with the Activity Log plugin.
The activity log, also known as audit log or audit trail, improves your Piwik’s security and diagnostic by showing a chronological set of entries that provides documentary evidence of activities that happened in your Piwik. It allows Piwik Super Users to quickly review the actions performed by members of your organization or clients, and also lets every user review details of their own actions.
Learn more in the Activity Log FAQ or see a list of all the features on the Marketplace : Activity Log plugin.
The Piwik Marketplace guarantees
Purchasing on the Piwik Marketplace is easy and safe. Check out our guarantees :
- Marketplace refund policy : 14 Day Money Back Guarantee.
- Safe & Secure Payments.
- 1-click Installation & Update.
Why premium plugins ?
Researching, building, documenting, testing and maintaining quality products take years of experience and months of work. When you purchase a premium plugin from the Marketplace, you get a fully working product, with free updates for the duration of the license and you stay in full control of your analytics data. When purchasing premium plugins you also directly help the Piwik core engineers to continue to grow and innovate ! That’s because a % of earnings on premium plugin license sales directly fund new Piwik versions and more amazing features. Learn more in the FAQ : What are premium plugins ?.
About InnoCraft
These first three premium plugins have been designed and built with love by InnoCraft. InnoCraft is a new company founded by the creator of Piwik along with the lead engineers of Piwik based in Wellington, New Zealand. At InnoCraft, product experts, designers and engineers are passionate about crafting high quality and innovative products to help grow your business and to maximize your success.
Learn more on the company website : www.innocraft.com
To stay updated on their releases, follow InnoCraftHQ on Twitter or Like InnoCraft on Facebook.
Is the Piwik Marketplace open to all ?
Yes, our marketplace allows other companies and developers to sell their plugins to all Piwik Analytics users. If you are a developer or a company interested in selling your plugin(s) on our Marketplace please contact us. As a developer selling plugins, you will get paid every month for your earnings, and you will be able to see detailed reports about your sales, upload new plugin updates, respond to pre-sales enquiries, etc.
Resources
Learn more :
- The Piwik.org Privacy Policy has been updated (a new “Scope” and “Contact us” sections).
- New Terms and Conditions for the Piwik Marketplace (plugins.piwik.org).
- New Piwik Marketplace FAQs.
- What are premium plugins and how do they differ from free plugins ?.
We are looking forward to your continued support with the Piwik project as we expand and offer you more ways to maximize your success.
Please contact the Marketplace team with any questions or feedback.
Wishing you a warm : Happy Analytics !
-
OpenCV and Network Cameras
10 mai 2014, par Alexander
So as a bit of context ; this program was built originally to work with USB cameras - but a few things changed. Now I’m trying to convert it to work with networked cameras, but my presence here should make it quite apparent what my level of success has been so far.
I’m using :
- OpenCV v2.4.6.0
- C++
- D-Link Cloud Camera 7100 (Installer is DCS-7010L, according to the instructions.)
I am trying to access the DLink camera’s video feed through OpenCV.
I can access the camera through it’s IP address with a browser without any issues. Unfourtunately ; my program is less cooperative. When attempting to access the camera the program gives the OpenCV-generated error :
warning : Error opening file (../../modules/highgui/src/cap_ffmpeg_impl.hpp:529)
This error occurs with just about everything I try that doesn’t somehow generate more problems.
For reference - the code in OpenCV’s cap_ffmpeg_impl.hpp around line 529 is as follows :
522 bool CvCapture_FFMPEG::open( const char* _filename )
523 {
524 unsigned i;
525 bool valid = false;
526
527 close();
528
529 #if LIBAVFORMAT_BUILD >= CALC_FFMPEG_VERSION(52, 111, 0)
530 int err = avformat_open_input(&ic, _filename, NULL, NULL);
531 #else
532 int err = av_open_input_file(&ic, _filename, NULL, 0, NULL);
533 #endif
...
616 }...for which I have no idea what I’m looking at. It seems to be looking for the ffmpeg version - but I’ve already installed the latest ffmpeg on that computer, so that shouldn’t be the issue.
This is the edited down version I tried to use as per Sebastian Schmitz’s recommendation :
1 #include <fstream> // File input/output
2 #include <iostream> // cout / cin / etc
3 #include // Windows API stuff
4 #include // More input/output stuff
5 #include <string> // "Strings" of characters strung together to form words and stuff
6 #include <cstring> // "Strings" of characters strung together to form words and stuff
7 #include <streambuf> // For buffering load files
8 #include <array> // Functions for working with arrays
9 #include <opencv2></opencv2>imgproc/imgproc.hpp> // Image Processor
10 #include <opencv2></opencv2>core/core.hpp> // Basic OpenCV structures (cv::Mat, Scalar)
11 #include <opencv2></opencv2>highgui/highgui.hpp> // OpenCV window I/O
12 #include "opencv2/calib3d/calib3d.hpp"
13 #include "opencv2/features2d/features2d.hpp"
14 #include "opencv2/opencv.hpp"
15 #include "resource.h" // Included for linking the .rc file
16 #include // For sleep()
17 #include <chrono> // To get start-time of program.
18 #include <algorithm> // For looking at whole sets.
19
20 #ifdef __BORLANDC__
21 #pragma argsused
22 #endif
23
24 using namespace std; // Standard operations. Needed for most basic functions.
25 using namespace std::chrono; // Chrono operations. Needed getting starting time of program.
26 using namespace cv; // OpenCV operations. Needed for most OpenCV functions.
27
28 string videoFeedAddress = "";
29 VideoCapture videoFeedIP = NULL;
30 Mat clickPointStorage; //Artifact from original program.
31
32 void displayCameraViewTest()
33 {
34 VideoCapture cv_cap_IP;
35 Mat color_img_IP;
36 int capture;
37 IplImage* color_img;
38 cv_cap_IP.open(videoFeedAddress);
39 Sleep(100);
40 if(!cv_cap_IP.isOpened())
41 {
42 cout << "Video Error: Video input will not work.\n";
43 cvDestroyWindow("Camera View");
44 return;
45 }
46 clickPointStorage.create(color_img_IP.rows, color_img_IP.cols, CV_8UC3);
47 clickPointStorage.setTo(Scalar(0, 0, 0));
48 cvNamedWindow("Camera View", 0); // create window
49 IplImage* IplClickPointStorage = new IplImage(clickPointStorage);
50 IplImage* Ipl_IP_Img;
51
52 for(;;)
53 {
54 cv_cap_IP.read(color_img_IP);
55 IplClickPointStorage = new IplImage(clickPointStorage);
56 Ipl_IP_Img = new IplImage(color_img_IP);
57 cvAdd(Ipl_IP_Img, IplClickPointStorage, color_img);
58 cvShowImage("Camera View", color_img); // show frame
59 capture = cvWaitKey(10); // wait 10 ms or for key stroke
60 if(capture == 27 || capture == 13 || capture == 32){break;} // if ESC, Return, or space; close window.
61 }
62 cv_cap_IP.release();
63 delete Ipl_IP_Img;
64 delete IplClickPointStorage;
65 cvDestroyWindow("Camera View");
66 return;
67 }
68
69 int main()
70 {
71 while(1)
72 {
73 cout << "Please Enter Video-Feed Address: ";
74 cin >> videoFeedAddress;
75 if(videoFeedAddress == "exit"){return 0;}
76 cout << "\nvideoFeedAddress: " << videoFeedAddress << endl;
77 displayCameraViewTest();
78 if(cvWaitKey(10) == 27){return 0;}
79 }
80 return 0;
81 }
</algorithm></chrono></array></streambuf></cstring></string></iostream></fstream>Using added ’cout’s I was able to narrow it down to line 38 : "cv_cap_IP.open(videoFeedAddress) ;"
No value I enter for the videoFeedAddress variable seems to get a different result. I found THIS site that lists a number of possible addresses to connect to it. Since there exists no 7100 anywhere in the list & considering that the install is labeled "DCS-7010L" I used the addresses found next to the DCS-7010L listings. When trying to access the camera most of them can be reached through the browser, confirming that they reach the camera - but they don’t seem to affect the outcome when I use them in the videoFeedAddress variable.
I’ve tried many of them both with and without username:password, the port number (554), and variations on ?.mjpg (the format) at the end.
I searched around and came across a number of different "possible" answers - but none of them seem to work for me. Some of them did give me the idea for including the above username:password, etc stuff, but it doesn’t seem to be making a difference. Of course, the number of possible combinations is certainly rather large- so I certainly have not tried all of them (more direction here would be appreciated). Here are some of the links I found :
- This is one of the first configurations my code was in. No dice.
- This one is talking about files - not cameras. It also mentions codecs - but I wouldn’t be able to watch it in a web browser if that were the problem, right ? (Correct me if I’m wrong here...)
- This one has the wrong error code/points to the wrong line of code !
- This one mentions compiling OpenCV with ffmpeg support - but I believe 2.4.6.0 already comes with that all set and ready ! Otherwise it’s not that different from what I’ve already tried.
- Now THIS one appears to be very similar to what I have, but the only proposed solution doesn’t really help as I had already located a list of connections. I do not believe this is a duplicate, because as per THIS meta discussion I had a lot more information and so didn’t feel comfortable taking over someone else’s question - especially if I end up needing to add even more information later.
Thank you for reading this far. I realize that I am asking a somewhat specific question - although I would appreciate any advice you can think of regarding OpenCV & network cameras or even related topics.
TLDR : Network Camera and OpenCV are not cooperating. I’m unsure if
it’s the address I’m using to direct the program to the camera or the
command I’m using - but no adjustment I make seems to improve the
result beyond what I’ve already done ! -
ffmpeg doesn't record RTSP stream
7 août 2023, par zcoderI'm trying to record RTSP stream from Dahua IP camera which is located on 10.10.10.10 (for example purpose), on Windows it works well and on previous ubuntu version I had (18) it was also working well.
However on Ubuntu Server 22.04 it runs but ends without any error.


My command :

ffmpeg -loglevel debug -i rtsp://admin:admin@10.10.10.10:554/cam/realmonitor?channel=1"&"subtype=1 -movflags +frag_keyframe+separate_moof+omit_tfhd_offset+empty_moov -acodec copy -vcodec copy out.mp4


And debug output of the ffmpeg is :


ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
 built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)
 configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
 libavutil 56. 70.100 / 56. 70.100
 libavcodec 58.134.100 / 58.134.100
 libavformat 58. 76.100 / 58. 76.100
 libavdevice 58. 13.100 / 58. 13.100
 libavfilter 7.110.100 / 7.110.100
 libswscale 5. 9.100 / 5. 9.100
 libswresample 3. 9.100 / 3. 9.100
 libpostproc 55. 9.100 / 55. 9.100
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-i' ... matched as input url with argument 'rtsp://admin:admin@10.10.10.10:554/cam/realmonitor?channel=1&subtype=1'.
Reading option '-movflags' ... matched as AVOption 'movflags' with argument '+frag_keyframe+separate_moof+omit_tfhd_offset+empty_moov'.
Reading option '-acodec' ... matched as option 'acodec' (force audio codec ('copy' to copy stream)) with argument 'copy'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'copy'.
Reading option '123.mp4' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url rtsp://admin:admin@10.10.10.10:554/cam/realmonitor?channel=1&subtype=1.
Successfully parsed a group of options.
Opening an input file: rtsp://admin:admin@10.10.10.10:554/cam/realmonitor?channel=1&subtype=1.
[tcp @ 0x55c812986800] No default whitelist set
[tcp @ 0x55c812986800] Original list of addresses:
[tcp @ 0x55c812986800] Address 10.10.10.10 port 554
[tcp @ 0x55c812986800] Interleaved list of addresses:
[tcp @ 0x55c812986800] Address 10.10.10.10 port 554
[tcp @ 0x55c812986800] Starting connection attempt to 10.10.10.10 port 554
[tcp @ 0x55c812986800] Successfully connected to 10.10.10.10 port 554
[rtsp @ 0x55c812983740] SDP:
v=0
o=- 2252669512 2252669512 IN IP4 0.0.0.0
s=Media Server
c=IN IP4 0.0.0.0
t=0 0
a=control:*
a=packetization-supported:DH
a=rtppayload-supported:DH
a=range:npt=now-
m=video 0 RTP/AVP 98
a=control:trackID=0
a=framerate:25.000000
a=rtpmap:98 H265/90000
a=fmtp:98 profile-id=1;sprop-sps=QgEBAUAAAAMAAAMAAAMAAAMAmaAFggCQf5a7kbBrlUE=;sprop-pps=RAHAc8BMkA==;sprop-vps=QAEMAf//AUAAAAMAAAMAAAMAAAMAmawJ
a=recvonly

[rtsp @ 0x55c812983740] video codec set to: hevc
[rtp @ 0x55c8129899c0] No default whitelist set
[udp @ 0x55c81298a480] No default whitelist set
[udp @ 0x55c81298a480] end receive buffer size reported is 425984
[udp @ 0x55c812989e00] No default whitelist set
[udp @ 0x55c812989e00] end receive buffer size reported is 425984
[rtsp @ 0x55c812983740] setting jitter buffer size to 500
[rtsp @ 0x55c812983740] hello state=0
Failed to parse interval end specification ''
[hevc @ 0x55c812989100] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0
[hevc @ 0x55c812989100] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0
[hevc @ 0x55c812989100] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0
[hevc @ 0x55c812989100] Decoding VPS
[hevc @ 0x55c812989100] Main profile bitstream
[hevc @ 0x55c812989100] Decoding SPS
[hevc @ 0x55c812989100] Main profile bitstream
[hevc @ 0x55c812989100] Decoding PPS
[hevc @ 0x55c812989100] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0
[hevc @ 0x55c812989100] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0
[hevc @ 0x55c812989100] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0
[hevc @ 0x55c812989100] Decoding VPS
[hevc @ 0x55c812989100] Main profile bitstream
[hevc @ 0x55c812989100] Decoding SPS
[hevc @ 0x55c812989100] Main profile bitstream
[hevc @ 0x55c812989100] Decoding PPS
Input #0, rtsp, from 'rtsp://admin:admin@10.10.10.10:554/cam/realmonitor?channel=1&subtype=1':
 Metadata:
 title : Media Server
 Duration: N/A, bitrate: N/A
 Stream #0:0, 0, 1/90000: Video: hevc (Main), 1 reference frame, yuv420p(tv, left), 704x576, 0/1, 90k tbr, 90k tbn, 90k tbc
Successfully opened the file.
Parsing a group of options: output url out.mp4.
Applying option acodec (force audio codec ('copy' to copy stream)) with argument copy.
Applying option vcodec (force video codec ('copy' to copy stream)) with argument copy.
Successfully parsed a group of options.
Opening an output file: out.mp4.
File '123.mp4' already exists. Overwrite? [y/N] y
[file @ 0x55c8129ba9c0] Setting default whitelist 'file,crypto,data'
Successfully opened the file.
[mp4 @ 0x55c8129bb800] Empty MOOV enabled; disabling automatic bitstream filtering
Output #0, mp4, to 'out.mp4':
 Metadata:
 title : Media Server
 encoder : Lavf58.76.100
 Stream #0:0, 0, 1/90000: Video: hevc (Main), 1 reference frame (hev1 / 0x31766568), yuv420p(tv, left), 704x576 (0x0), 0/1, q=2-31, 90k tbr, 90k tbn, 90k tbc
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
No more output streams to write to, finishing.e=00:00:00.00 bitrate=N/A speed= 0x
frame= 0 fps=0.0 q=-1.0 Lsize= 1kB time=00:00:00.00 bitrate=N/A speed= 0x
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (rtsp://admin:admin@10.10.10.10:554/cam/realmonitor?channel=1&subtype=1):
 Input stream #0:0 (video): 0 packets read (0 bytes);
 Total: 0 packets (0 bytes) demuxed
Output file #0 (123.mp4):
 Output stream #0:0 (video): 0 packets muxed (0 bytes);
 Total: 0 packets (0 bytes) muxed
0 frames successfully decoded, 0 decoding errors




I would like to record stream to mp4 file. Any ideas ?