
Recherche avancée
Autres articles (17)
-
Use, discuss, criticize
13 avril 2011, parTalk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
A discussion list is available for all exchanges between users. -
MediaSPIP Player : problèmes potentiels
22 février 2011, parLe lecteur ne fonctionne pas sur Internet Explorer
Sur Internet Explorer (8 et 7 au moins), le plugin utilise le lecteur Flash flowplayer pour lire vidéos et son. Si le lecteur ne semble pas fonctionner, cela peut venir de la configuration du mod_deflate d’Apache.
Si dans la configuration de ce module Apache vous avez une ligne qui ressemble à la suivante, essayez de la supprimer ou de la commenter pour voir si le lecteur fonctionne correctement : /** * GeSHi (C) 2004 - 2007 Nigel McNie, (...) -
MediaSPIP Player : les contrôles
26 mai 2010, parLes contrôles à la souris du lecteur
En plus des actions au click sur les boutons visibles de l’interface du lecteur, il est également possible d’effectuer d’autres actions grâce à la souris : Click : en cliquant sur la vidéo ou sur le logo du son, celui ci se mettra en lecture ou en pause en fonction de son état actuel ; Molette (roulement) : en plaçant la souris sur l’espace utilisé par le média (hover), la molette de la souris n’exerce plus l’effet habituel de scroll de la page, mais diminue ou (...)
Sur d’autres sites (5798)
-
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.
-
rtpdec : Don’t pass non-const pointers to fmtp attribute parsing functions
24 février 2015, par Martin Storsjörtpdec : Don’t pass non-const pointers to fmtp attribute parsing functions
This makes it clear that the individual parsing functions can’t
touch the parsed out value.Signed-off-by : Martin Storsjö <martin@martin.st>