
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (74)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...) -
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)
Sur d’autres sites (9103)
-
Accessing web content with ffmpeg on android
9 janvier 2017, par Pure_eyesI’m using ffmpeg inside my xamarin.android project,by accessing a statically build version for the corresponding architecture of the device.
I’m using https://www.johnvansickle.com/ffmpeg/, static builds which support https protocol.
I’m calling ffmpeg by starting a new process and passing the arguments.Here is a pseudo code for the operation :arguments = {'-i',inputFileName,...}
run('./ffmpeg',arguments,redirectOutput = true,...)
.OnOutput(s) => log(s)Now,I want to access a file in the web, directly with ffmpeg, since from my testing it is more efficient in term of bandwidth, and speed.
The problem i’m facing is that because i’m using a static build of ffmpeg, we need to statically link gclib, which results loss of dns resolution as stated in the readme :
A limitation of statically linking glibc is the loss of DNS resolution. Installing
nscd through your package manager will fix this or you can use
"ffmpeg -i http://<ip address="address" here="here">/"</ip>
instead of"ffmpeg -i http://example.com/"
But the content that i’m trying to get provides strictly only through HTTPS,so there is no way to access it via the ip.
But on Linux systems i had no problem accessing the content(With the same command as for android), thanks to nscd, which isn’t present in android.- Is there anyway to use android’s dns resolution ?
- Or compile ffmpeg
differently, as stated in this
question ?Maybe using android
NDK would default this ?Would ffmpeg even work then ? - Or somehow pipe the content, to
ffmpeg’s stdin, and tell it to input from pipe (Would it still be
more efficient, than downloading and saving the file, then running
ffmpeg ) ?
All suggestions are welcomed !
EDIT
As for SushiHangover advice, i was able to implement it via piping,i came up with two ways :
Process ffmpegProcess = new Process();
ffmpegProcess.StartInfo.FileName = "ffmpeg";
ffmpegProcess.StartInfo.Arguments = ....
ffmpegProcess.StartInfo.UseShellExecute = false;
ffmpegProcess.StartInfo.RedirectStandardInput = true;
ffmpegProcess.Start();
//Way 1
var data = await GetBytesAsync();
await ffmpegProcess.StandardInput.BaseStream.WriteAsync(b, 0,b.Length);
// Way 2
await (await GetStreamAsync()).CopyToAsync(ffmpegProcess.StandardInput.BaseStream);Which both work, but they aren’t efficient in term of bandwidth as ffmpeg itself, i tested the network traffic with NetBalancer.
Way 1 (Fresh Data - First time running program) : 401 KB Upload/ 19.7 MB Download
Way 1 (Second time running program) : 334.3 KB Upload/ 17.7 MB Download
Way 2 (Second time running program) : 370 KB Upload/ 16.6 MB Download
Through FFmpeg Only (Fresh Data - First time running program) : 142.4 KB Upload / 5.3 MB Download
Through FFmpeg Only (Second time running program) : 67.5 KB Upload / 3.7 MB DownloadWho can i overcome the gap ? I speculate that ffmpeg only reads the headers, and able to download only the needed audio stream based on my arguments, rather than the whole video as my snippets do.
-
sometimes failed to read frame from rtsp with opencv
7 novembre 2018, par jonI got a strange issue.
my code is quite simple, just read frame from RTSP and do some processing.for (;;)
{
cap >> frame;
if (frame.empty()) {
break;
}
// heavy_processing(frame) //
imshow("cam",frame);
}the rtsp streaming is a webcam with 1920x1080P, network traffic is arround 4Mb/s
without "heavy_processing()" function, basically it runs good. CPU is 45% (i7-7700)
with "heavy_processing()" function, it will read an empty frame after couple seconds then exit. I can see CPU surge to 95%+ before it exit.
I built opencv(3.4.3) myself with mostly default option.
so far I suspect the videocap device shutdown when there are too much frames in the buffer, but it doesn’t make sense.shouldn’t it drop the earliest frame ? or is it possible the frame is corrupted inside ’heavy_processing()’ ?
ffmpeg probably is 2.8.15, ubuntu 16.04
ldd result :
linux-vdso.so.1 => (0x00007ffeb5f9b000)
libopencv_dnn.so.3.4 => /usr/local/lib/libopencv_dnn.so.3.4 (0x00007fe5fd796000)
libprotobuf.so.9 => /usr/lib/x86_64-linux-gnu/libprotobuf.so.9 (0x00007fe5fd454000)
libcppkafka.so.0.2 => /usr/local/lib/libcppkafka.so.0.2 (0x00007fe5fd18c000)
libopencv_highgui.so.3.4 => /usr/local/lib/libopencv_highgui.so.3.4 (0x00007fe5fcf74000)
libopencv_videoio.so.3.4 => /usr/local/lib/libopencv_videoio.so.3.4 (0x00007fe5fcd27000)
libopencv_imgcodecs.so.3.4 => /usr/local/lib/libopencv_imgcodecs.so.3.4 (0x00007fe5fc664000)
libopencv_imgproc.so.3.4 => /usr/local/lib/libopencv_imgproc.so.3.4 (0x00007fe5f9d50000)
libopencv_core.so.3.4 => /usr/local/lib/libopencv_core.so.3.4 (0x00007fe5f8e49000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fe5f8ac7000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe5f87bd000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe5f85a7000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe5f81dd000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe5f7fbf000)
/lib64/ld-linux-x86-64.so.2 (0x0000563d8f116000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fe5f7da5000)
librdkafka.so.1 => /usr/local/lib/librdkafka.so.1 (0x00007fe5f7a9d000)
libgtk-x11-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 (0x00007fe5f7451000)
libgdk-x11-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 (0x00007fe5f719c000)
libcairo.so.2 => /usr/lib/x86_64-linux-gnu/libcairo.so.2 (0x00007fe5f6e88000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x00007fe5f6c65000)
libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007fe5f6a12000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fe5f6701000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe5f64f8000)
libdc1394.so.22 => /usr/lib/x86_64-linux-gnu/libdc1394.so.22 (0x00007fe5f6282000)
libavcodec.so.58 => /usr/local/lib/libavcodec.so.58 (0x00007fe5f4d93000)
libavformat.so.58 => /usr/local/lib/libavformat.so.58 (0x00007fe5f494b000)
libavutil.so.56 => /usr/local/lib/libavutil.so.56 (0x00007fe5f46d7000)
libswscale.so.5 => /usr/local/lib/libswscale.so.5 (0x00007fe5f4458000)
libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007fe5f41fe000)
libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007fe5f3fd9000)
libtiff.so.5 => /usr/lib/x86_64-linux-gnu/libtiff.so.5 (0x00007fe5f3d65000)
libjasper.so.1 => /usr/lib/x86_64-linux-gnu/libjasper.so.1 (0x00007fe5f3b0f000) -
How should I write my privacy notice for Matomo Analytics under GDPR ?
24 avril 2018, par InnoCraftImportant note : this blog post has been written by digital analysts, not lawyers. The purpose of this article is to show you an example of a privacy notice for Matomo under GDPR. This work comes from our interpretation of the UK privacy commission : ICO. It cannot be considered as professional legal advice. So as GDPR, this information is subject to change. We strongly advise you to have a look at the different privacy authorities in order to have up to date information.
A basic rule of thumb is that if you are not processing personal data, then you do not need to show any privacy notice. But if you are doing so, such as processing full IP addresses, then a privacy notice is required at the time of the data collection. Please note that personal data may also be hidden, for example, in page titles or page URLs.
In this blog post, we will define what a privacy notice is according to GDPR and how to write it if you are using Matomo and you are processing personal data.
What is a privacy notice under GDPR ?
One of the most important rights that a data subject has under GDPR, is the right to be informed about the collection and use of their personal data.
Here is what ICO is saying about the privacy notice :
“You must provide individuals with information including : your purposes for processing their personal data, your retention periods for that personal data, and who it will be shared with. We call this ‘privacy information’.”
“When you collect personal data from the individual it relates to, you must provide them with privacy information at the time you obtain their data.”
Note that a privacy notice is different from a privacy policy.
The privacy notice has to include :
- the reasons why you are processing the personal data
- for how long
- who the different parties you are going to share them with are
So whatever lawful basis you are using (explicit consent or legitimate interest), you need to have a privacy notice if you collect personal data.
What does this privacy notice look like ?
ICO is providing best practices in order to display the information :
- a layered approach
- dashboards
- just-in-time notices
- icons
- mobile and smart device functionalities
Once more, it really depends on the data you are processing with Matomo. If you wish to track personal data on the entire website, you will probably have an upper or footer privacy notice such as :
If you wish to process specific data, you could also insert just-in-time notices such as :
What is the information you need to disclose to the final user ?
To us, there are two things to distinguish between the privacy notice and the privacy policy.
According to ICO, the privacy notice needs to include the 3 following elements :
- the reasons why you are processing the personal data
- for how long
- who are the different parties you are going to share them with
But you also need to inform them about :
- The name and contact details of your organisation.
- The name and contact details of your representative (if applicable).
- The contact details of your data protection officer (if applicable).
- The purposes of the processing.
- The lawful basis for the processing.
- The legitimate interests for the processing (if applicable).
- The categories of personal data obtained (if the personal data is not obtained from the individual it relates to).
- The recipients or categories of recipients of the personal data.
- The details of transfers of the personal data to any third countries or international organisations (if applicable).
- The retention periods for the personal data.
- The rights available to individuals in respect of the processing.
- The right to withdraw consent (if applicable).
- The right to lodge a complaint with a supervisory authority.
- The source of the personal data (if the personal data is not obtained from the individual it relates to).
- The details of whether individuals are under a statutory or contractual obligation to provide the personal data (if applicable, and if the personal data is collected from the individual it relates to).
- The details of the existence of automated decision-making, including profiling (if applicable).
Pretty long, don’t you think ? In order to reduce it, you can either adopt a layered approach where your “pop-up” window will act as a drop down menu. Or from what we understood, page 5 of this document provided by ICO, a privacy notice can link to a more detailed document, such as a privacy policy page.
Examples
Let’s take the example of a website which tracks the non-anonymised full IP address, and using User ID functionality to keep track of logged-in users. Under GDPR, the owner of the website will have to choose either to process personal data based on “Legitimate interests” or on “Consent”. Here is how it will look like :
Example of a privacy notice under GDPR Legitimate interests
This site uses Matomo to analyze traffic and help us to improve your user experience.
We process your email address and IP address and cookies are stored on your browser for 13 months. This data is only processed by us and our web hosting platform. Please read our Privacy Policy to learn more.
Example of a privacy notice under GDPR Consent
This site uses Matomo to analyze traffic and help us to improve your user experience.
We process your email address and IP address and cookies are stored on your browser for 13 months. This data is only processed by us and our web hosting platform.
[Accept] or [Opt-out]
Please read our Privacy Policy to learn more.
Once that information is provided to the user, you can then link it to your privacy policy where you will provide more details about it. Soon we will issue a blog post dealing with how to write a privacy policy page for Matomo.
The post How should I write my privacy notice for Matomo Analytics under GDPR ? appeared first on Analytics Platform - Matomo.