
Recherche avancée
Médias (91)
-
Spitfire Parade - Crisis
15 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Wired NextMusic
14 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
-
Sintel MP4 Surround 5.1 Full
13 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (47)
-
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Submit bugs and patches
13 avril 2011Unfortunately a software is never perfect.
If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
You may also (...)
Sur d’autres sites (3466)
-
How to verify signatures for Piwik release packages
19 novembre 2014, par Piwik Core Team — SecurityWe are proud to announce that Piwik project now cryptographically signs the Piwik releases using PGP following requests from several community members. In this post we will explain how you can verify the signatures of the Piwik release you downloaded, with instructions for Windows, Mac OS X and Linux.
What is a signature and why should I check it ?
How do you know that the Piwik platform you have is really the one we made ? Some software sites list sha1 hashes alongside the software on their website, so users can verify that they downloaded the file without any errors. These “checksums” help you answer the question “Did I download this file correctly from whoever sent it to me ?” They do a good job at making sure you didn’t have any random errors in your download, but they don’t help you figure out whether you were downloading it from a compromised server. The better question to answer is : “Is this file that I just downloaded the file that Piwik intended me to get ?”. Over the years several Piwik users have requested that we start signing our releases.
Where do I get the signatures and the keys that made them ?
Each file on our release server builds.piwik.org is accompanied by a file with the same name as the package and the extension
.asc
. These .asc files are GPG signatures. They allow you to verify the file you’ve downloaded is exactly the one that we intended you to get. For example,piwik-2.9.0.zip
is accompanied bypiwik-2.9.0.zip.asc<code>
.Currently Matthieu Aubry is the release manager and signs the Piwik releases. His signature can be found here : builds.piwik.org/signature.asc
How to verify signatures on Windows
You need to have GnuPG installed before you can verify signatures. Download it from http://gpg4win.org/download.html.
Once it’s installed, use GnuPG to import the key that signed your package. Since GnuPG for Windows is a command-line tool, you will need to use cmd.exe. Unless you edit your PATH environment variable, you will need to tell Windows the full path to the GnuPG program. If you installed GnuPG with the default values, the path should be something like this : C :\Program Files\Gnu\GnuPg\gpg.exe.
Import Piwik Release manager Matthieu’s key (0x416F061063FEE659) by starting cmd.exe and typing :
"C :\Program Files\Gnu\GnuPg\gpg.exe" —keyserver keys.gnupg.net —recv-keys 814E346FA01A20DBB04B6807B5DBD5925590A237
After importing the key, you can verify that the fingerprint is correct :
"C :\Program Files\Gnu\GnuPg\gpg.exe" —fingerprint 814E346FA01A20DBB04B6807B5DBD5925590A237
You should see :
pub 4096R/5590A237 2013-07-24 Key fingerprint = 814E 346F A01A 20DB B04B 6807 B5DB D592 5590 A237 uid Matthieu Aubry <matt@piwik.org> uid Matthieu Aubry <matthieu.aubry@gmail.com> uid Matthieu Aubry <matt@piwik.pro> sub 4096R/43F0D330 2013-07-24
To verify the signature of the package you downloaded, you will need to download the ".asc" file as well. Assuming you downloaded the package and its signature to your Desktop, run :
"C :\Program Files\Gnu\GnuPg\gpg.exe" —verify C :\Users\Alice\Desktop\piwik-2.9.0.zip.asc C :\Users\Alice\Desktop\piwik-2.9.0.zip
The output should say "Good signature" :
gpg : Signature made Thu 13 Nov 2014 17:42:18 NZDT using RSA key ID 5590A237 gpg : Good signature from "Matthieu Aubry <matt@piwik.org>" gpg : aka "Matthieu Aubry <matthieu.aubry@gmail.com>" gpg : aka "Matthieu Aubry <matt@piwik.pro>"
Notice that there may be a warning in case you haven’t assigned a trust index to this person. This means that GnuPG verified that the key made that signature, but it’s up to you to decide if that key really belongs to the developer. The best method is to meet the developer in person and exchange key fingerprints.
Mac OS X and Linux
On Linux GnuPG is usually installed by default. On Mac OS X, you need to have GnuPG installed before you can verify signatures. You can install it from http://www.gpgtools.org/.
Once it’s installed, use GnuPG to import the key that signed your package. Matthieu Aubry signs the Piwik releases. Import his key (814E346FA01A20DBB04B6807B5DBD5925590A237) by starting the terminal (under "Applications") and typing :
gpg —keyserver keys.gnupg.net —recv-keys 814E346FA01A20DBB04B6807B5DBD5925590A237
After importing the key, you can verify that the fingerprint is correct :
gpg —fingerprint 814E346FA01A20DBB04B6807B5DBD5925590A237
You should see :
pub 4096R/5590A237 2013-07-24 Key fingerprint = 814E 346F A01A 20DB B04B 6807 B5DB D592 5590 A237 uid Matthieu Aubry <matt@piwik.org> uid Matthieu Aubry <matthieu.aubry@gmail.com> uid Matthieu Aubry <matt@piwik.pro> sub 4096R/43F0D330 2013-07-24
To verify the signature of the package you downloaded, you will need to download the ".asc" file as well. Assuming you downloaded the package and its signature to your Desktop, run :
gpg —verify /Users/Alice/piwik-2.9.0.zip.asc*,
The output should say "Good signature" :
gpg : Signature made Thu 13 Nov 2014 17:42:18 NZDT using RSA key ID 5590A237 gpg : Good signature from "Matthieu Aubry <matt@piwik.org>" gpg : aka "Matthieu Aubry <matthieu.aubry@gmail.com>" gpg : aka "Matthieu Aubry <matt@piwik.pro>"
Notice that there may be a warning in case you haven’t assigned a trust index to this person. This means that GnuPG verified that the key made that signature, but it’s up to you to decide if that key really belongs to the developer. The best method is to meet the developer in person and exchange key fingerprints.
That’s it ! In this article you have learnt how you can verify that the Piwik package you have downloaded on your computer was the same as the one Piwik team has officially created. We hope this helps you use Piwik with more security.
Source : this article was copied and adapted from the great Tor Browser project website page How to verify signatures for Tor packages
-
Decoding an mp3 file using FFmpeg but sound is glitchy
28 avril 2017, par satyresAfter successfuly compiling the latest version of FFmpeg library and generated .a library in Ubuntu I’ve been struggling now for more than a week to play a simple mp3 file in Android without a success !
The sound on my S4 working but it’s glitchy and stuttering
I’ve followed this tutorial given by FFmpeg team in Github i’ve tried to use it in Android but no luck !
here is the Native code.void Java_com_example_home_hellondk_MainActivity_audio_1decode_1example(JNIEnv * env, jobject obj, jstring file, jbyteArray array) {
jboolean isfilenameCopy;
const char * filename = (*env)->GetStringUTFChars(env, file,
&isfilenameCopy);
jclass cls = (*env)->GetObjectClass(env, obj);
jmethodID play = (*env)->GetMethodID(env, cls, "playSound", "([BI)V");
AVCodec *codec;
AVCodecContext *c= NULL;
int len;
FILE *f, *outfile;
uint8_t inbuf[AUDIO_INBUF_SIZE + AV_INPUT_BUFFER_PADDING_SIZE];
AVPacket avpkt;
AVFrame *decoded_frame = NULL;
AVFormatContext* container=NULL;
av_init_packet(&avpkt);
printf("Decode audio file %s \n", filename);
LOGE("Decode audio file %s\n", filename);
/* find the MPEG audio decoder */
/* codec = avcodec_find_decoder(AV_CODEC_ID_MP3);
if (!codec) {
fprintf(stderr, "Codec not found\n");
LOGE("Codec not found\n");
exit(1);
}*/
int lError;
if ((lError = avformat_open_input(&container, filename, NULL, NULL))
!= 0) {
LOGE("Error open source file: %d", lError);
exit(1);
}
if ((lError = avformat_find_stream_info(container,NULL)) < 0) {
LOGE("Error find stream information: %d", lError);
exit(1);
}
LOGE("Stage 1.5");
LOGE("audio format: %s", container->iformat->name);
LOGE("audio bitrate: %llu", container->bit_rate);
int stream_id = -1;
// To find the first audio stream. This process may not be necessary
// if you can gurarantee that the container contains only the desired
// audio stream
LOGE("nb_streams: %d", container->nb_streams);
int i;
for (i = 0; i < container->nb_streams; i++) {
if (container->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
stream_id = i;
LOGE("stream_id: %d", stream_id);
break;
}
}
AVCodecContext* codec_context = container->streams[stream_id]->codec;
codec = avcodec_find_decoder(codec_context->codec_id);
LOGE("stream_id: %d", stream_id);
LOGE("codec %s", codec->name);
if (!codec) {
fprintf(stderr, "codec not found\n");
exit(1);
}
c = avcodec_alloc_context3(codec);
if (!c) {
fprintf(stderr, "Could not allocate audio codec context\n");
LOGE("Could not allocate audio codec context\n");
exit(1);
}
/* open it */
if (avcodec_open2(c, codec, NULL) < 0) {
fprintf(stderr, "Could not open codec\n");
LOGE("Could not open codec\n");
exit(1);
}
f = fopen(filename, "rb");
if (!f) {
fprintf(stderr, "Could not open %s\n", filename);
LOGE("Could not open %s\n",filename);
exit(1);
}
avpkt.data = inbuf;
avpkt.size = fread(inbuf, 1, AUDIO_INBUF_SIZE, f);
LOGE("Stage 5");
/* decode until eof */
while (1) {
if ((len = av_read_frame(container, &avpkt)) < 0)
break;
if (avpkt.stream_index == stream_id)
{
if (!decoded_frame) {
if (!(decoded_frame = av_frame_alloc())) {
fprintf(stderr, "Could not allocate audio frame\n");
LOGE("Could not allocate audio frame\n");
exit(1);
}
}
int got_frame = 0;
len = avcodec_decode_audio4(c, decoded_frame, &got_frame, &avpkt);
LOGE("len=%d",len);
if (len < 0)
{
LOGE("Error decoding audio\n");
continue;
}
if (got_frame)
{
LOGE("begin frame decode\n");
int data_size = av_samples_get_buffer_size(NULL, c->channels,decoded_frame->nb_samples,c->sample_fmt, 1);
if (data_size>0)
{
LOGE("after frame decode %d\n",data_size);
jbyte *bytes = (*env)->GetByteArrayElements(env, array, NULL);
memcpy(bytes, decoded_frame->data[0], data_size);
(*env)->ReleaseByteArrayElements(env, array, bytes, 0);
(*env)->CallVoidMethod(env, obj, play, array, data_size);
}
else
{
fprintf(stderr, "Failed to calculate data size\n");
exit(1);
}
}
avpkt.size -= len;
avpkt.data += len;
avpkt.pts = AV_NOPTS_VALUE;
if (avpkt.size < AUDIO_REFILL_THRESH)
{
memmove(inbuf, avpkt.data, avpkt.size);
avpkt.data = inbuf;
len = fread(avpkt.data + avpkt.size, 1, AUDIO_INBUF_SIZE - avpkt.size, f);
if (len > 0)
avpkt.size += len;
}
}
}
fclose(f);
avcodec_free_context(&c);
av_frame_free(&decoded_frame);
}The Java code :
package com.example.home.hellondk;
import android.media.AudioFormat;
import android.media.AudioManager;
import android.media.AudioTrack;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class MainActivity extends AppCompatActivity {
static {
System.loadLibrary("MyLibraryPlayer");
}
public native void createEngine();
public native void audio_decode_example(String outfilename, byte[] array);
private AudioTrack track;
private FileOutputStream os;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
createEngine();
/* MediaPlayer mp = new MediaPlayer();
mp.start();*/
int bufSize = AudioTrack.getMinBufferSize(32000,
AudioFormat.CHANNEL_CONFIGURATION_STEREO,
AudioFormat.ENCODING_PCM_16BIT);
track = new AudioTrack(AudioManager.STREAM_MUSIC,
32000,
AudioFormat.CHANNEL_CONFIGURATION_STEREO,
AudioFormat.ENCODING_PCM_16BIT,
bufSize,
AudioTrack.MODE_STREAM);
byte[] bytes = new byte[bufSize];
audio_decode_example("/storage/emulated/0/test.mp3", bytes);
}
void playSound(byte[] buf, int size) {
//android.util.Log.v("ROHAUPT", "RAH Playing");
if (track.getPlayState() != AudioTrack.PLAYSTATE_PLAYING)
track.play();
track.write(buf, 0, size);
}
}Thank you so much for your help.
Kind regards -
French CNIL recommends Piwik : the only analytics tool that does not require Cookie Consent
29 octobre 2014, par Matthieu Aubry — Press ReleasesThere has been recent and important changes in France regarding data privacy and the use of cookies. This blog post will introduce you to these changes and explain how you make your website compliant.
Cookie Consent in the data freedom law
Since the adoption of the EU Directive 2009/136/EC “Telecom Package”, Internet users must be informed and provide their prior consent to the storage of cookies on their computer. The use of cookies for advertising, analytics and social share buttons require the user’s consent :
It is necessary to inform users of the presence, purpose and duration of the cookies placed in their browsers, and the means at their disposal to oppose it.
What is a cookie ?
Cookies are tracers placed on Internet users’ hard drives by the web hosts of the visited website. They allow the website to identify a single user across multiple visits with a unique identifier. Cookies may be used for various purposes : building up a shopping cart, storing a website’s language settings, or targeting advertising by monitoring the user’s web-browsing.
Which cookies are exempt from the Cookie Consent rule ?
France has exempted certain cookies from the cookie consent rule : for those cookies that are strictly necessary to offer the service sought after by the user you do not need to ask consent to user. Examples of such cookies are :
- the shopping cart cookie,
- authentication cookies,
- short lived session cookies,
- load balancer cookies,
- certain first party analytics (such as Piwik cookies),
- persistent cookies for interface personalisation.
Asking users for consent for Analytics (tracking) Cookies
For all cookies that are not exempted from the Cookie Consent then you will need to :
- obtain consent from web users before placing or reading cookies and similar technologies,
- clearly inform web users of the different purposes for which the cookies and similar technologies will be used,
- propose a real choice to web users between accepting or refusing cookies and similar technologies.
You don’t need Cookie Consent with Piwik
The excellent news is that there is a way to bypass the Cookie Consent banner on your website :
If you are using another analytics solution other than Piwik then you will need to ask users for consent. If you do not want to ask for consent then download and install Piwik or signup to Piwik Cloud to get started.
If you are already using Piwik you need to do two simple things : (1) anonymise visitor IP addresses (at least two bytes) and (2) include the opt-out iframe solution in your website (learn more).
Note that these recommendations currently only apply in France, but because the law is European we can expect similar findings in other European countries.
CNIL recommends Piwik
We are proud that the CNIL has identified Piwik as the only tool that respects all privacy requirements set by the European Telecom law.
About the CNIL
The CNIL is an independent administrative body that operates in accordance with the French data protection legislation. The CNIL has been entrusted with the general duty to inform people of the rights that the data protection legislation allows them.
The role and responsabilities of the CNIL are :
- to protect citizens and their data
- to regulate and control processing of personal data
- to inspect the security of data processing systems and applications, and impose penalties
Piwik and Privacy
At Piwik we love Privacy – our open analytics platform comes with built-in Privacy.
Future of Privacy at Piwik
Piwik is already the leader when it comes to respecting user privacy but we plan to continue improving privacy within the open analytics platform. For more information and specific ideas see Privacy enhancing issues in our issue tracker.
References
Learn more in these articles in French [fr] or English :
- [fr] Sites web, cookies et autres traceurs
- [fr] Comment me mettre en conformité avec la recommandation “Cookies” de la CNIL ?
- [fr] Recommandation sur les cookies : obligations pour les responsables de sites ?
- CNIL Starts Controlling Cookie Settings in October 2014
- CNIL recommends Piwik for compliance with data protection laws
Contact
To learn more about Piwik, please visit piwik.org,
Get in touch with the Piwik team : Contact information,
For professional support contact Piwik PRO.