
Recherche avancée
Médias (91)
-
Spoon - Revenge !
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
My Morning Jacket - One Big Holiday
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Zap Mama - Wadidyusay ?
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
David Byrne - My Fair Lady
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Beastie Boys - Now Get Busy
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Granite de l’Aber Ildut
9 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
Autres articles (10)
-
Contribute to a better visual interface
13 avril 2011MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community. -
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 (...) -
Gestion générale des documents
13 mai 2011, parMédiaSPIP ne modifie jamais le document original mis en ligne.
Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)
Sur d’autres sites (4249)
-
libavcodec : how to encode raw video (YUV420P) frame to the valid bitmap for saving to the ".bmp" file ?
26 octobre 2020, par Joe DudinskiI'm trying to save random video frames into the '.bmp' files by encoding raw video (
YUV420P
) intoAV_CODEC_ID_BMP
format using libavcodec, but result is broken image, contains 3 RGB channels :











My code to get current yuv frame and encode it is into BMP :


int __create_bmp(AVPacket *pkt, AVCodecContext *video_dec_ctx, int video_stream_idx) {
 int err = 0;
 int got_frame = 0;
 static int vfnum = 0; //current v.frame num

 if (pkt->stream_index == video_stream_idx) {

 fprintf(stderr, "AVCodecContext codec: (name: %s), ID %d\n",
 video_dec_ctx->codec->name, video_dec_ctx->codec_id);

 /* decode video frame */
 AVFrame *frame = av_frame_alloc();

 // !!! 'avcodec_decode_video2' IS DEPRECATED !!!
 err = avcodec_decode_video2(video_dec_ctx, frame, got_frame, pkt);
 if (err < 0) {
 fprintf(stderr, "Error decoding video frame (%s)\n", av_err2str(err));
 return err;
 }
 if(got_frame == 0) return 1;

 // !!! this dbg func save mjpeg YUV420P into '.jpg' file FINE !!!
 __encode_image_frame(frame);

 AVCodec *bmpc = avcodec_find_encoder(AV_CODEC_ID_BMP);
 if(bmpc == NULL){
 fprintf(stderr, "'AV_CODEC_ID_BMP' encoder NOT FOUND!.\n");
 exit(-1);
 }
 AVCodecContext *__bmpcc = avcodec_alloc_context3(bmpc);
 __bmpcc->width = frame->width;
 __bmpcc->height = frame->height;
 __bmpcc->pix_fmt = AV_PIX_FMT_BGR24;
 __bmpcc->time_base = (AVRational){1,1};

 err = avcodec_open2(__bmpcc, bmpc, NULL);
 if(err == 0){
 fprintf(stderr, "avcodec_open2 success.\n");
 }else{
 fprintf(stderr, "avcodec_open2 ERROR!\n");
 }

 err = avcodec_send_frame(__bmpcc, frame);
 if(err == 0){
 fprintf(stderr, "avcodec_send_frame success.\n");
 }
 else{
 fprintf(stderr, "avcodec_send_frame ERROR! (code: %d)\n",err);
 }

 AVPacket *bmp_pkt = av_packet_alloc();
 err = avcodec_receive_packet(__bmpcc, bmp_pkt);
 if(err == 0){
 fprintf(stderr, "avcodec_receive_packet success.\n");
 }
 else{
 fprintf(stderr, "avcodec_receive_packet ERROR! (code: %d)\n",err);
 }
 av_frame_unref(frame);

 /* write to bitmap file */
 char outimg[2048] = {0};
 snprintf(outimg, 2048,"out-%06d.bmp", vfnum);
 FILE *outf = fopen(outimg, "wb");
 vfnum++;
 if (!outf) {
 fprintf(stderr, "Could not open destination file %s\n", outimg);
 }else{
 fwrite(bmp_pkt->data, 1, bmp_pkt->size , outf);
 fclose(outf);
 }
 av_packet_unref(bmp_pkt);
 return 0;
 }
 return 1;
}



Does anyone know how to do this correctly ?


-
FFMPEG "Could not allocate memory" Errors through php
10 décembre 2019, par ApplepieeI’ve tried to find a solution online for days now but cannot find any solution.
I just switched server (Intel Xeon to AMD) and since the switch I’ve not been able to get ffmpeg conversions working through the php script. ffmpeg was the exact same version and all php settings are set.
All commands that the script executes (copied from log files) were tried in shell and executed with no problems.
The errors look like this :
[124] => handler_name : Video Media Handler
[125] => Stream #8:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default)
[126] => Metadata:
[127] => handler_name : Sound Media Handler
[128] => Stream mapping:
[129] => Stream #0:0 (h264) -> concat:in0:v0
[130] => Stream #1:0 (h264) -> concat:in1:v0
[131] => Stream #2:0 (h264) -> concat:in2:v0
[132] => Stream #3:0 (h264) -> concat:in3:v0
[133] => Stream #4:0 (h264) -> concat:in4:v0
[134] => Stream #5:0 (h264) -> concat:in5:v0
[135] => Stream #6:0 (h264) -> concat:in6:v0
[136] => Stream #7:0 (h264) -> concat:in7:v0
[137] => scale -> Stream #0:0 (libvpx)
[138] => Press [q] to stop, [?] for help
[139] => [h264 @ 0x34f1dc0] get_buffer() failed
[140] => [h264 @ 0x34f1dc0] thread_get_buffer() failed
[141] => [h264 @ 0x34f1dc0] decode_slice_header error
[142] => [h264 @ 0x34f1dc0] no frame!
[143] => [h264 @ 0x350e680] Error splitting the input into NAL units.
[144] => [h264 @ 0x352af40] Cannot allocate memory.
[145] => [h264 @ 0x352af40] Could not allocate memory
[146] => [h264 @ 0x352af40] h264_slice_header_init() failedError while decoding stream #0:0: Cannot allocate memory
[147] => [h264 @ 0x352af40] Cannot allocate memory.
[148] => [h264 @ 0x352af40] Could not allocate memory
[149] => [h264 @ 0x352af40] h264_slice_header_init() failedError while decoding stream #0:0: Cannot allocate memory
[150] => [h264 @ 0x352af40] Cannot allocate memory.
[151] => [h264 @ 0x352af40] Could not allocate memory
[152] => [h264 @ 0x352af40] h264_slice_header_init() failedError while decoding stream #0:0: Cannot allocate memory
[153] => [h264 @ 0x352af40] Cannot allocate memory.
[154] => [h264 @ 0x352af40] Could not allocate memory
[155] => [h264 @ 0x352af40] h264_slice_header_init() failedError while decoding stream #0:0: Cannot allocate memory
[156] => [h264 @ 0x352af40] Cannot allocate memory.
[157] => [h264 @ 0x352af40] Could not allocate memory
...
..
[211519] => [h264 @ 0x886a3c0] h264_slice_header_init() failedToo many errors when draining, this is a bug. Stop draining and force EOF.
[211520] => Error while decoding stream #7:0: Internal bug, should not have happened
[211521] => Cannot allocate memory.
[211522] => sws: initFilter failed
[211523] => [Parsed_scale_1 @ 0x8e0be40] Failed to configure output pad on Parsed_scale_1
[211524] => Error reinitializing filters!
[211525] => Error while filtering: Operation not permitted
[211526] => Finishing stream 0:0 without any data written to it.
[211527] => [libvpx @ 0x6f4c600] v1.8.1-301-g89375f031
[211528] => Output #0, webm, to '/home/website/public_html/media/videos/tmb/2420/video_copy.webm':
[211529] => Metadata:
[211530] => major_brand : isom
[211531] => minor_version : 512
[211532] => compatible_brands: isomiso2avc1mp41
[211533] => title : Aibeya The Animation
[211534] => encoder : Lavf58.35.100
[211535] => Chapter #0:0: start 0.000000, end 102.102000
[211536] => Metadata:
[211537] => title : Intro
[211538] => Chapter #0:1: start 102.102000, end 110.369000
[211539] => Metadata:
[211540] => title : Title
[211541] => Chapter #0:2: start 110.369000, end 312.179000
[211542] => Metadata:
[211543] => title : Part 1
[211544] => Chapter #0:3: start 312.179000, end 548.415000
[211545] => Metadata:
[211546] => title : Part 2
[211547] => Chapter #0:4: start 548.415000, end 706.831000
[211548] => Metadata:
[211549] => title : Part 3
[211550] => Chapter #0:5: start 706.831000, end 1011.052000
[211551] => Metadata:
[211552] => title : Part 4
[211553] => Chapter #0:6: start 1011.052000, end 1198.823000
[211554] => Metadata:
[211555] => title : Part 5
[211556] => Chapter #0:7: start 1198.823000, end 1501.408000
[211557] => Metadata:
[211558] => title : Part 6
[211559] => Chapter #0:8: start 1501.408000, end 1579.945000
[211560] => Metadata:
[211561] => title : Part 7
[211562] => Chapter #0:9: start 1579.945000, end 1654.293000
[211563] => Metadata:
[211564] => title : Ending
[211565] => Stream #0:0: Video: vp8 (libvpx), yuv420p, 400x240 [SAR 837:785 DAR 279:157], q=10-42, 250 kb/s, 23.98 fps, 1k tbn, 23.98 tbc (default)
[211566] => Metadata:
[211567] => encoder : Lavc58.64.101 libvpx
[211568] => Side data:
[211569] => cpb: bitrate max/min/avg: 0/0/0 buffer size: 600000 vbv_delay: N/A
[211570] => frame= 0 fps=0.0 q=0.0 Lsize= 1kB time=00:00:00.00 bitrate=N/A speed= 0x
[211571] => video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[211572] => Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)
[211573] => Conversion failed!
)Command example used :
ffmpeg_command is /usr/local/bin/ffmpeg -ss 100 -t 1 -i /home/website/public_html/media/videos/iphone/2407.mp4 -ss 197 -t 2 -i /home/website/public_html/media/videos/iphone/2407.mp4 -ss 294 -t 3 -i /home/website/public_html/media/videos/iphone/2407.mp4 -ss 391 -t 3 -i /home/website/public_html/media/videos/iphone/2407.mp4 -ss 488 -t 3 -i /home/website/public_html/media/videos/iphone/2407.mp4 -ss 585 -t 3 -i /home/website/public_html/media/videos/iphone/2407.mp4 -ss 682 -t 3 -i /home/website/public_html/media/videos/iphone/2407.mp4 -ss 779 -t 3 -i /home/website/public_html/media/videos/iphone/2407.mp4 -ss 876 -t 3 -i /home/website/public_html/media/videos/iphone/2407.mp4 -filter_complex "[0][1][2][3][4][5][6][7]concat=n=8:v=1:a=0",scale=400:240 -codec:v libx264 -unsharp -b:v 250k -maxrate 250k -bufsize 600k -qmin 10 -qmax 42 -threads 4 -an -y /home/website/public_html/media/videos/tmb/2407/video_copy.mp4
PHP Info :
PHP 5.6
memory_limit 2001M
max_execution_time 7200
upload_max_filesize 2000M
post_max_size 2000M
max_input_time 7200
exec is not disabledServer info
CentOS Linux 7 (Core)
ADVANCE-4 - AMD Epyc 7351P - 128GB DDR4 ECC 2400MHz - 2x HDD SATA 4TB Datacenter Class + 2x SSD NVMe 500GB Enterprise Class Soft RAIDAll help is really appreciated ! Thanks in advance
-
"Smooth" the ffmpeg showwaves video filter output
24 décembre 2019, par goodytxI think I’m close to what I’m after, thanks to excellent answers like : FFMPEG : Fill/Change (part of) audio waveform color as per actual progress with respect to time progress ...but not quite there !
I’m scripting the generation of a waveform video with
showwaves
, and overlaying that onto a static image background, turning the whole thing into video. All is well, except I’d like to "smooth" the waveform. In most tutorials/answers you will see jagged "peaks" in the waveform animation, as of course the audio data varies widely into peaks and troughs. (The differences expressed between the lowest and highest amplitude (I think) in each audio frame sample.) I’d like to get more of a consistent "flowing wave", without the sharp spikes up and down.Currently using the filter much as described in the previous link :
[1:a]aformat=channel_layouts=mono,asplit[red][white]; \
[red]showwaves=s=1280x100:rate=15:mode=cline:scale=sqrt:colors=0xff0000[red]; \Which results in the following (ignoring the red on white overlay, which I may drop) :
This generates the type of wave plot I want (solid vs a sine, for example), but I think I need to either tweak the audio stream or...possibly post filter the
showwaves
video stream (but I think the former) to get the effect I want. I tried to reduce therate
ofshowwaves
but that just results in juddery video. So to me that feels like the audio data needs to be the changed factor.My limited audio knowledge leads me to think I should gain, compress, normalize, or all of the above, the audio input, which I have tried, but can’t seem to nail it. Keep in mind the audio stream in this filter chain is purely feeding the
showwaves
filter, so I can "trash" it as much as needed in order to get the visualization I want.I hope this all makes sense, and if I need to provide more info, please let me know. Thanks !