
Recherche avancée
Médias (91)
-
DJ Z-trip - Victory Lap : The Obama Mix Pt. 2
15 septembre 2011
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Matmos - Action at a Distance
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
DJ Dolores - Oslodum 2004 (includes (cc) sample of “Oslodum” by Gilberto Gil)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Danger Mouse & Jemini - What U Sittin’ On ? (starring Cee Lo and Tha Alkaholiks)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Cornelius - Wataridori 2
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Rapture - Sister Saviour (Blackstrobe Remix)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (107)
-
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela. -
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Other interesting software
13 avril 2011, parWe don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
We don’t know them, we didn’t try them, but you can take a peek.
Videopress
Website : http://videopress.com/
License : GNU/GPL v2
Source code : (...)
Sur d’autres sites (18435)
-
FFMPEG on AWS Lambda Only outputs half a second of video when converting video from mobile safari
18 août 2023, par user1825257I am running FFMPEG on AWS Lambda using nodejs and fluent-ffmpeg. I am able to convert videos recorded on most devices / browsers, but when I attempt to convert videos recorded on Mobile Safari, the length of the output video is 1/2 a second regardless of the input length.


My Typescript code is :


import * as ffmpeg from 'fluent-ffmpeg';
 public static StandardizeVideoFormat(
 inputSignedUrl: string,
 filename: string,
 ): Promise<string> {
 const localFilePath = `/tmp/${Date.now()}_${filename}.mp4`;
 
 return new Promise((resolve, reject) => {
 ffmpeg(inputSignedUrl)
 .outputOptions([
 '-crf',
 '18',
 '-vcodec',
 'libx264',
 '-codec:a',
 'aac',
 '-preset',
 'medium',
 ])
 .output(localFilePath)
 .on('start', function (commandLine) {
 console.log('Spawned Ffmpeg with command: ' + commandLine);
 })
 .on('error', function (err) {
 reject(err);
 })
 .on('progress', function (progress) {
 console.log('progress', progress);
 })
 .on('end', function () {
 resolve(localFilePath);
 })
 .run();
 });
 }
</string>


Using FFprobe, The metadata of the input file is :


{
 streams: [
 {
 index: 0,
 codec_name: 'h264',
 codec_long_name: 'H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10',
 profile: 'Baseline',
 codec_type: 'video',
 codec_tag_string: 'avc1',
 codec_tag: '0x31637661',
 width: 1920,
 height: 1080,
 coded_width: 1920,
 coded_height: 1080,
 closed_captions: 0,
 film_grain: 0,
 has_b_frames: 0,
 sample_aspect_ratio: 'N/A',
 display_aspect_ratio: 'N/A',
 pix_fmt: 'yuvj420p',
 level: 40,
 color_range: 'pc',
 color_space: 'unknown',
 color_transfer: 'unknown',
 color_primaries: 'unknown',
 chroma_location: 'left',
 field_order: 'progressive',
 refs: 1,
 is_avc: 'true',
 nal_length_size: 4,
 id: '0x1',
 r_frame_rate: '30000/1001',
 avg_frame_rate: '60000/1991',
 time_base: '1/600',
 start_pts: 26,
 start_time: 0.043333,
 duration_ts: 4008,
 duration: 6.68,
 bit_rate: 10175170,
 max_bit_rate: 'N/A',
 bits_per_raw_sample: 8,
 nb_frames: 'N/A',
 nb_read_frames: 'N/A',
 nb_read_packets: 'N/A',
 extradata_size: 31,
 side_data_type: 'Display Matrix',
 displaymatrix: '',
 rotation: '-90',
 tags: [Object],
 disposition: [Object]
 },
 {
 index: 1,
 codec_name: 'aac',
 codec_long_name: 'AAC (Advanced Audio Coding)',
 profile: 'LC',
 codec_type: 'audio',
 codec_tag_string: 'mp4a',
 codec_tag: '0x6134706d',
 sample_fmt: 'fltp',
 sample_rate: 48000,
 channels: 1,
 channel_layout: 'mono',
 bits_per_sample: 0,
 initial_padding: 0,
 id: '0x2',
 r_frame_rate: '0/0',
 avg_frame_rate: '0/0',
 time_base: '1/48000',
 start_pts: 0,
 start_time: 0,
 duration_ts: 319488,
 duration: 6.656,
 bit_rate: 181302,
 max_bit_rate: 'N/A',
 bits_per_raw_sample: 'N/A',
 nb_frames: 'N/A',
 nb_read_frames: 'N/A',
 nb_read_packets: 'N/A',
 extradata_size: 2,
 tags: [Object],
 disposition: [Object]
 }
 ],
 format: {
 filename: 'input.mp4',
 nb_streams: 2,
 nb_programs: 0,
 format_name: 'mov,mp4,m4a,3gp,3g2,mj2',
 format_long_name: 'QuickTime / MOV',
 start_time: 0,
 duration: 6.723333,
 size: 8651792,
 bit_rate: 10294646,
 probe_score: 100,
 tags: {
 major_brand: 'iso5',
 minor_version: '1',
 compatible_brands: 'isomiso5hlsf',
 creation_time: '2023-08-05T19:03:15.000000Z'
 }
 },
 chapters: []
}



Any ideas on why the output of my command on this file always results in a 0.5 second long output ?


-
libav C++ sw_scale returns variable byte size of BGR24 buffer
6 mars 2021, par igorI'm trying to convert my local /dev/video0 cam to BGR24 format. It works if I resize the image (although not 100% of the time, more like 85% of the time), but I'd like to keep the same size as input video.


I initialize BGR image like so including the sws context :


AVPixelFormat outputPixFormat = AV_PIX_FMT_BGR24;

 AVFrame* pFrameBGR = av_frame_alloc();
 pFrameBGR->width = decoder->video_codec_context->width;
 pFrameBGR->height = decoder->video_codec_context->height;
 pFrameBGR->format = outputPixFormat;

 int alloRet = av_image_alloc(pFrameBGR->data, pFrameBGR->linesize, decoder->video_codec_context->width, decoder->video_codec_context->height, outputPixFormat, 1);
 if (alloRet < 0) {
 logging("failed to allocate image");
 return -1;
 }

 struct SwsContext *sws_ctx = NULL;

 sws_ctx = sws_getContext(decoder->video_codec_context->width,
 decoder->video_codec_context->height,
 decoder->video_codec_context->pix_fmt,
 decoder->video_codec_context->width,
 decoder->video_codec_context->height,
 outputPixFormat,
 SWS_DIRECT_BGR,
 0,
 0,
 0
 );



This is the portion of my decoding loop :


int response = avcodec_send_packet(pCodecContext, pPacket);
 if (response < 0) {
 logging("Error while sending a packet to decoder: %s", av_err2str(response));
 return response;
 }

 while (response >= 0) {
 response = avcodec_receive_frame(pCodecContext, pFrame);
 if (response == AVERROR(EAGAIN) || response == AVERROR_EOF) {
 break;
 } else if (response < 0) {
 logging("Error while receiving a frame from the decoder: %s", av_err2str(response));
 return response;
 }
 if (response >= 0) {

 sws_scale(sws_ctx, (uint8_t const * const *)pFrame->data, pFrame->linesize, 0, pCodecContext->height, pFrameBGR->data, pFrameBGR->linesize);




THe question is how to copy the plane of AVFrame into a buffer
:

size_t rgb_size = av_image_get_buffer_size(AV_PIX_FMT_BGR24, bgrFrame->width, bgrFrame->height, 1);

 uint8_t *dst_data;
 dst_data = (uint8_t *)(av_malloc(rgb_size));

 av_image_copy_to_buffer(dst_data, rgb_size, (const uint8_t* const *)bgrFrame->data, bgrFrame->linesize, AV_PIX_FMT_BGR24, bgrFrame->width, bgrFrame->height, 1);




If I try to save to file the BGR image is correctly copied :


char filebuf[256];
snprintf(filebuf, sizeof filebuf, "%s%d%s", "out_", pPacket->dts, ".rgb");
std::FILE *output=fopen(filebuf,"wb+"); 

fwrite(bgrFrame->data[0],(pFrame->width)*(pFrame->height)*3,1,output); 
std::fclose(output);



So it looks like my copy to buffer function is faulty, but I can figure out what's wrong with it :


uint8_t *dst_data;
 dst_data = (uint8_t *)(av_malloc(rgb_size));

 av_image_copy_to_buffer(dst_data, rgb_size, (const uint8_t* const *)bgrFrame->data, bgrFrame->linesize, AV_PIX_FMT_BGR24, bgrFrame->width, bgrFrame->height, 1);



-
ffmpeg returns "Invalid data found when processing input" when creating RTSP stream from H.264
22 mars 2019, par Ahm23I’m trying to create an RTSP stream from an H.264 source on Ubuntu using ffmpeg, however, I keep getting the error prompt "Invalid data found when processing input". I’m working on an AWS DeepLens.
There seem to be some solutions on the internet for similar problems but none of them seem to be working.
Executed Command :
ffmpeg -loglevel error -re -f concat -safe 0 -i /opt/awscam/out/ch1_out.h264 -c:v copy -flags +global_header -rtsp_transport tcp -f rtsp "RTSP"
Where "RTSP" is the rtsp path/url.