
Recherche avancée
Médias (1)
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
Autres articles (45)
-
MediaSPIP Core : La Configuration
9 novembre 2010, parMediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...) -
Les statuts des instances de mutualisation
13 mars 2010, parPour des raisons de compatibilité générale du plugin de gestion de mutualisations avec les fonctions originales de SPIP, les statuts des instances sont les mêmes que pour tout autre objets (articles...), seuls leurs noms dans l’interface change quelque peu.
Les différents statuts possibles sont : prepa (demandé) qui correspond à une instance demandée par un utilisateur. Si le site a déjà été créé par le passé, il est passé en mode désactivé. publie (validé) qui correspond à une instance validée par un (...) -
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, (...)
Sur d’autres sites (6902)
-
FFMPEG : alphaextract+split create transparent video in 1080 x 1920 pixels not working
30 juin 2021, par Karim ElhalloumiCreate your transparent video :
i found a solution to a problem of creating alpha from a video then put it next to original as an output it give one video with original+alpha
using this ffmpeg cmd :


ffmpeg -i video_name.video_extension -vf "split [a], pad=iw*2:ih [b], [a] alphaextract, [b] overlay=w" -y final_name_alpha.mp4



source :https://docs.minsar.app/create/howtos/transparentvideos/
the problem is This operation with Ffmpeg will not work if your video is not in 16:9 format, or has no alpha background.


Result :
CMD Result 
iwant put as input a template for phone size with black background and generate the 2 video in one


what Iam trying to get is video.mp4 :
Process here


I'm new to ffmpeg, is there any cmd to generate alpha next to original without having only black back ground and with 9:16 instead ?



ffmpeg version 4.4-essentials_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers
 built with gcc 10.2.0 (Rev6, Built by MSYS2 project)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
 libavutil 56. 70.100 / 56. 70.100
 libavcodec 58.134.100 / 58.134.100
 libavformat 58. 76.100 / 58. 76.100
 libavdevice 58. 13.100 / 58. 13.100
 libavfilter 7.110.100 / 7.110.100
 libswscale 5. 9.100 / 5. 9.100
 libswresample 3. 9.100 / 3. 9.100
 libpostproc 55. 9.100 / 55. 9.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf57.83.100
 Duration: 00:00:14.02, start: 0.000000, bitrate: 797 kb/s
 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc), 540x960, 662 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
 Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[Parsed_alphaextract_2 @ 000001a9dae4bdc0] Requested planes not available.
[Parsed_alphaextract_2 @ 000001a9dae4bdc0] Failed to configure input pad on Parsed_alphaextract_2
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #0:0
[aac @ 000001a9dadd4280] Qavg: 6441.061
[aac @ 000001a9dadd4280] 2 frames left in the queue on closing
Conversion failed!



cmd I'm using to merge video :


- filter_complexe "[2]split=2[color][alpha];[color]crop=iw/2:ih:0:0[color];[alpha]crop=iw/2:ih:iw/2:0[alpha];[color][alpha]alphamerge[ovrly];[0]scale=460:505,setsar=1[0_scaled];[1]scale=460:505,setsar=1[1_scaled];[3][0_scaled]overlay=x=80:y=175[base_img_1];[3][1_scaled]overlay=x=80:y=175[base_img_2];[base_img_1]zoompan=z='if(lte(zoom,1.0),1.2,max(1.001,zoom-0.0006))':d=25*14:s=540x960,fade=out:st=6:d=1:alpha=1,fade=t=in:st=0:d=1[video1];[base_img_2]zoompan=z='if(lte(on,25*6),1,if(lte(zoom,-1.0),1.2,min(zoom+0.0006,1.2)))':d=25*14:s=540x960[video2];[video2][video1]overlay[overlay_video1];[overlay_video1][ovrly]overlay=0:0[base_video];[base_video][4]overlay=enable='between(t,0,7)':x=30:y=30[watermarked_part1];[watermarked_part1][4]overlay=enable='between(t,7,14)':x=(main_w-overlay_w-30):y=(main_h-overlay_h-10)[final_video]"



-
Unable to allocate 47.5 MiB for an array with shape (1080, 1920, 3) and data type float64
21 août 2022, par eragonIam try to create a large video(longer than 3h)by CompositeVideoClip using moviepy.
The problem is it take too much ram (i have 32gb ram).It takes the whole ram (99%) by create a bunch of ffmpeg-win64-v4.2.2.exe ffmpeg-win64-v4.2.2.exe





after it a while it said Unable to allocate 47.5 MiB for an array with shape (1080, 1920, 3) and data type float64.
here is my code :


def CombieVideo():
 global curentVideoLengt
 masterVideo = NULL
 for videoUrl in videoFiles:
 print(videoUrl)
 video = VideoFileClip(videoUrl).fx(vfx.fadein,1).fx(vfx.fadeout,1)
 curentVideoLengt += video.duration
 if curentVideoLengt >= (audioLen*60*60):
 break
 if masterVideo== NULL:
 masterVideo= video
 else:
 masterVideo = CompositeVideoClip([masterVideo,video])
 
 if curentVideoLengt < (audioLen*60*60):
 videoUrl=random.choice(videoFiles)
 print(videoUrl)
 video =video(videoUrl).fx(vfx.fadein,1).fx(vfx.fadeout,1)
 curentVideoLengt= curentVideoLengt+video.duration
 masterVideo = CompositeVideoClip([masterVideo,video])
 CombieVideo()
 else:
 masterVideo.audio = CompositeAudioClip(audios)
 masterVideo.write_videofile('./MasterVideo/output_video.avi', fps=30, threads=4, codec="png")
 
CombieVideo()



-
libswscale error Slice Parameters 0, 1080 are invalid
3 mai 2023, par lokit khemkaI am trying to scale a video from 1080p to 480p. For that, I have setup swscaler context as :


encoder_sc->sws_ctx = sws_getContext(1920, 1080,
 AV_PIX_FMT_YUV420P, 
 854, 480, AV_PIX_FMT_YUV420P, SWS_BICUBIC, NULL, NULL, NULL );



However, when I am calling the scale frame function as


sws_scale_frame(encoder->sws_ctx, input_frame, input_frame);



However, when I do that I am getting the error
Slice parameter 0, 1080 are in valid
. I am very new to FFMPEG and video processing in general. I could not find any solution while searching. Any help is greatly appreciated.

EDIT : I am including the entire source code because I cannot seem to solve the issue.




typedef struct StreamingContext{
 AVFormatContext* avfc;
 AVCodec *video_avc;
 AVCodec *audio_avc;
 AVStream *video_avs;
 AVStream *audio_avs;
 AVCodecContext *video_avcc;
 AVCodecContext *audio_avcc;
 int video_index;
 int audio_index;
 char* filename;
 struct SwsContext *sws_ctx;
}StreamingContext;


typedef struct StreamingParams{
 char copy_video;
 char copy_audio;
 char *output_extension;
 char *muxer_opt_key;
 char *muxer_opt_value;
 char *video_codec;
 char *audio_codec;
 char *codec_priv_key;
 char *codec_priv_value;
}StreamingParams;


int prepare_video_encoder(StreamingContext *encoder_sc, AVCodecContext *decoder_ctx, AVRational input_framerate,
 StreamingParams sp)
{
 encoder_sc->video_avs = avformat_new_stream(encoder_sc->avfc, NULL);
 encoder_sc->video_avc = avcodec_find_encoder_by_name(sp.video_codec);
 if (!encoder_sc->video_avc)
 {
 logging("Cannot find the Codec.");
 return -1;
 }

 encoder_sc->video_avcc = avcodec_alloc_context3(encoder_sc->video_avc);
 if (!encoder_sc->video_avcc)
 {
 logging("Could not allocate memory for Codec Context.");
 return -1;
 }

 av_opt_set(encoder_sc->video_avcc->priv_data, "preset", "fast", 0);
 if (sp.codec_priv_key && sp.codec_priv_value)
 av_opt_set(encoder_sc->video_avcc->priv_data, sp.codec_priv_key, sp.codec_priv_value, 0);

 encoder_sc->video_avcc->height = decoder_ctx->height;
 encoder_sc->video_avcc->width = decoder_ctx->width;
 encoder_sc->video_avcc->sample_aspect_ratio = decoder_ctx->sample_aspect_ratio;

 if (encoder_sc->video_avc->pix_fmts)
 encoder_sc->video_avcc->pix_fmt = encoder_sc->video_avc->pix_fmts[0];
 else
 encoder_sc->video_avcc->pix_fmt = decoder_ctx->pix_fmt;

 encoder_sc->video_avcc->bit_rate = 2 * 1000 * 1000;
 encoder_sc->video_avcc->rc_buffer_size = 4 * 1000 * 1000;
 encoder_sc->video_avcc->rc_max_rate = 2 * 1000 * 1000;
 encoder_sc->video_avcc->rc_min_rate = 2.5 * 1000 * 1000;

 encoder_sc->video_avcc->time_base = av_inv_q(input_framerate);
 encoder_sc->video_avs->time_base = encoder_sc->video_avcc->time_base;

 //Creating Scaling Context
 encoder_sc->sws_ctx = sws_getContext(1920, 1080,
 decoder_ctx->pix_fmt, 
 854, 480, encoder_sc->video_avcc->pix_fmt, SWS_BICUBIC, NULL, NULL, NULL );
 if (!encoder_sc->sws_ctx){logging("Cannot Create Scaling Context."); return -1;}

 if (avcodec_open2(encoder_sc->video_avcc, encoder_sc->video_avc, NULL) < 0)
 {
 logging("Could not open the Codec.");
 return -1;
 }
 avcodec_parameters_from_context(encoder_sc->video_avs->codecpar, encoder_sc->video_avcc);
 return 0;
}



int transcode_video(StreamingContext *decoder, StreamingContext *encoder, AVPacket *input_packet, AVFrame *input_frame, AVFrame *scaled_frame)
{
 int response = avcodec_send_packet(decoder->video_avcc, input_packet);
 if (response < 0)
 {
 logging("Error while sending the Packet to Decoder: %s", av_err2str(response));
 return response;
 }

 while (response >= 0)
 {
 response = avcodec_receive_frame(decoder->video_avcc, input_frame);
 
 if (response == AVERROR(EAGAIN) || response == AVERROR_EOF)
 {
 break;
 }
 else if (response < 0)
 {
 logging("Error while receiving frame from Decoder: %s", av_err2str(response));
 return response;
 }
 if (response >= 0)
 {
 scaled_frame->format = encoder->video_avcc->pix_fmt;
 scaled_frame->width = 854;
 scaled_frame->height = 480;
 sws_scale_frame(encoder->sws_ctx, scaled_frame, input_frame);
 //ERROR is in the scaled_frame
 if (encode_video(decoder, encoder, scaled_frame)) 
 return -1;
 }

 av_frame_unref(input_frame);
 }
 return 0;
}