
Recherche avancée
Autres articles (36)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
Contribute to documentation
13 avril 2011Documentation is vital to the development of improved technical capabilities.
MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
To contribute, register to the project users’ mailing (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
Sur d’autres sites (6983)
-
It’s January 28th : Let’s celebrate Data Privacy !
29 janvier 2018, par Matomo Core TeamIt is a special Sunday here for us at Matomo, as today is international Data Privacy Day. The day was created in 2007 to raise awareness of the importance of data privacy for people and businesses worldwide.
What is data privacy about ?
Personal data refers to any data which is collected and can be linked to an individual human being such as phone records, credit card transactions, GPS position, IP addresses, browsing history… So basically, personal data refers to your identity online. That is why you should be highly concerned about sending your personal data (or your customers’ personal data) away. It is important to be aware of who is collecting the information and how it is being used.
What big changes are happening in 2018 ?
New privacy regulations GDPR comes into play next May 2018 : GDPR will bring about some changes (in the right direction) by making people and businesses aware of what data privacy means, and what they should be doing to protect their customers’ privacy. With these new regulations, data privacy awareness is reaching a critical milestone this year.
How can I protect my privacy ?
Here are a few tips to protect your privacy :
- Educate yourself on the importance of privacy : the more informed you are the better.
- Use open source solutions where you can keep full control of your own data (such as NextCloud instead of Dropbox and of course Matomo instead of Google Analytics),
- Experiment with different online services to protect your data privacy, for example using an alternative search engine (such as DuckDuckGo instead of Google) or an alternative email provider (such as ProtonMail).
What’s coming next for Matomo and Privacy ?
Here at Matomo, we are building the leading decentralised open web analytics platform. We’re currently working on new sets of privacy features to make compliance with GDPR a breeze. Stay tuned here to be notified when we launch the new privacy compliance tools !
And in case you’ve missed this important info, you may be interested in :
- Configure Privacy Settings in Matomo
- 11 ways Matomo Analytics helps you to protect your visitors privacy
The post It’s January 28th : Let’s celebrate Data Privacy ! appeared first on Analytics Platform - Matomo.
-
Extract all audio from a mov file into a aac file [closed]
5 février 2024, par Sushrut KaulI have a video which contains several streams as shown below :


Stream #0:0[0x1](eng): Video: prores (XQ) (ap4x / 0x78347061), yuv444p12le(bt709/smpte432/smpte2084, progressive), 3840x2160, 1222881 kb/s, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 24k tbn (default)
 Metadata:
 creation_time : 2022-08-26T22:20:26.000000Z
 handler_name : Apple Video Media Handler
 vendor_id : appl
 encoder : Apple ProRes 4444 XQ
 timecode : 00:59:59:00
 Side data:
 Content Light Level Metadata, MaxCLL=726, MaxFALL=93
 Stream #0:1[0x2](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (FL), s32 (24 bit), 1152 kb/s (default)
 Metadata:
 creation_time : 2022-08-26T22:20:26.000000Z
 handler_name : Apple Sound Media Handler
 vendor_id : [0][0][0][0]
 Stream #0:2[0x3](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (FR), s32 (24 bit), 1152 kb/s (default)
 Metadata:
 creation_time : 2022-08-26T22:20:26.000000Z
 handler_name : Apple Sound Media Handler
 vendor_id : [0][0][0][0]
 Stream #0:3[0x4](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32 (24 bit), 1152 kb/s (default)
 Metadata:
 creation_time : 2022-08-26T22:20:26.000000Z
 handler_name : Apple Sound Media Handler
 vendor_id : [0][0][0][0]
 Stream #0:4[0x5](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (LFE), s32 (24 bit), 1152 kb/s (default)
 Metadata:
 creation_time : 2022-08-26T22:20:26.000000Z
 handler_name : Apple Sound Media Handler
 vendor_id : [0][0][0][0]
 Stream #0:5[0x6](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (BL), s32 (24 bit), 1152 kb/s (default)
 Metadata:
 creation_time : 2022-08-26T22:20:26.000000Z
 handler_name : Apple Sound Media Handler
 vendor_id : [0][0][0][0]
 Stream #0:6[0x7](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (BR), s32 (24 bit), 1152 kb/s (default)
 Metadata:
 creation_time : 2022-08-26T22:20:26.000000Z
 handler_name : Apple Sound Media Handler
 vendor_id : [0][0][0][0]
 Stream #0:7[0x8](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (DL), s32 (24 bit), 1152 kb/s (default)
 Metadata:
 creation_time : 2022-08-26T22:20:26.000000Z
 handler_name : Apple Sound Media Handler
 vendor_id : [0][0][0][0]
 Stream #0:8[0x9](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (DR), s32 (24 bit), 1152 kb/s (default)
 Metadata:
 creation_time : 2022-08-26T22:20:26.000000Z
 handler_name : Apple Sound Media Handler
 vendor_id : [0][0][0][0]



As you can see, these audio streams are single channel as each stream is mapping to a unique channel.


I want to combine these audio streams into a aac file such that the output has the channel information retained.


I use the following command to do this :


ffmpeg -i -filter _complex "[0:a:0][0:a:1][0:a:2][0:a:3][0:a:4][0:a:5][0:a:6][0:a:7]join=inputs=8:channel_layout=7.1[aout]" -map "[aout]" -c:a aac output_audio_join.aac


The individual audio streams were having a duration of duration=103.728625 seconds.


The output however is 862.207660 seconds. Why ?


-
Encoding raw YUV420P to h264 with AVCodec on iOS
4 janvier 2013, par WadeI am trying to encode a single YUV420P image gathered from a
CMSampleBuffer
to anAVPacket
so that I can send h264 video over the network with RTMP.The posted code example seems to work as
avcodec_encode_video2
returns0
(Success) howevergot_output
is also0
(AVPacket
is empty).Does anyone have any experience with encoding video on iOS devices that might know what I am doing wrong ?
- (void) captureOutput:(AVCaptureOutput *)captureOutput
didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
fromConnection:(AVCaptureConnection *)connection {
// sampleBuffer now contains an individual frame of raw video frames
CVPixelBufferRef pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);
CVPixelBufferLockBaseAddress(pixelBuffer, 0);
// access the data
int width = CVPixelBufferGetWidth(pixelBuffer);
int height = CVPixelBufferGetHeight(pixelBuffer);
int bytesPerRow = CVPixelBufferGetBytesPerRowOfPlane(pixelBuffer, 0);
unsigned char *rawPixelBase = (unsigned char *)CVPixelBufferGetBaseAddressOfPlane(pixelBuffer, 0);
// Convert the raw pixel base to h.264 format
AVCodec *codec = 0;
AVCodecContext *context = 0;
AVFrame *frame = 0;
AVPacket packet;
//avcodec_init();
avcodec_register_all();
codec = avcodec_find_encoder(AV_CODEC_ID_H264);
if (codec == 0) {
NSLog(@"Codec not found!!");
return;
}
context = avcodec_alloc_context3(codec);
if (!context) {
NSLog(@"Context no bueno.");
return;
}
// Bit rate
context->bit_rate = 400000; // HARD CODE
context->bit_rate_tolerance = 10;
// Resolution
context->width = width;
context->height = height;
// Frames Per Second
context->time_base = (AVRational) {1,25};
context->gop_size = 1;
//context->max_b_frames = 1;
context->pix_fmt = PIX_FMT_YUV420P;
// Open the codec
if (avcodec_open2(context, codec, 0) < 0) {
NSLog(@"Unable to open codec");
return;
}
// Create the frame
frame = avcodec_alloc_frame();
if (!frame) {
NSLog(@"Unable to alloc frame");
return;
}
frame->format = context->pix_fmt;
frame->width = context->width;
frame->height = context->height;
avpicture_fill((AVPicture *) frame, rawPixelBase, context->pix_fmt, frame->width, frame->height);
int got_output = 0;
av_init_packet(&packet);
avcodec_encode_video2(context, &packet, frame, &got_output)
// Unlock the pixel data
CVPixelBufferUnlockBaseAddress(pixelBuffer, 0);
// Send the data over the network
[self uploadData:[NSData dataWithBytes:packet.data length:packet.size] toRTMP:self.rtmp_OutVideoStream];
}Note : It is known that this code has memory leaks because I am not freeing the memory that is dynamically allocated.
UPDATE
I updated my code to use @pogorskiy method. I only try to upload the frame if got output returns 1 and clear the buffer once I am done encoding video frames.