Recherche avancée

Médias (0)

Mot : - Tags -/xmlrpc

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (78)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • Qu’est ce qu’un masque de formulaire

    13 juin 2013, par

    Un masque de formulaire consiste en la personnalisation du formulaire de mise en ligne des médias, rubriques, actualités, éditoriaux et liens vers des sites.
    Chaque formulaire de publication d’objet peut donc être personnalisé.
    Pour accéder à la personnalisation des champs de formulaires, il est nécessaire d’aller dans l’administration de votre MediaSPIP puis de sélectionner "Configuration des masques de formulaires".
    Sélectionnez ensuite le formulaire à modifier en cliquant sur sont type d’objet. (...)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

Sur d’autres sites (14126)

  • FFmpeg image2pipe write buffer wait until done

    20 décembre 2020, par Michael Joseph Aubry

    I'm extracting frames from an external source and passing it in as a buffer to FFMPEG using image2pipe and -i -

    


    const childProcess = spawn(ffmpeg, [
  "-y",
  "-f",
  "image2pipe",
  "-i",
  "-",
  "-vcodec",
  "libx264",
  "-pix_fmt",
  "yuv420p",
  output
]);


    


    Then I have a loop that does the job.

    


    for (let i = 0; i < 250; i++) {
  // ...await
}


    


    Inside the promise

    


    // ... do the job to get buffer

childProcess.stdin.write(frame); // frame === buffer

// frame done
resolve("success!");


    


    The problem is in some videos the frames jump and is janky. This is because FFmpeg is not fully done writing to the file before moving onto the next frame.

    


    Is there a way to write a buffer to a file through FFmpeg and make sure the frame is done writing before moving on ?

    


    Some more information

    


    Here is the source file https://s3.us-west-2.amazonaws.com/storycreator.v2.uploads/ckigi4kro00160vlfjmt74afp

    


    Here is the rendered file https://s3.us-west-2.amazonaws.com/storycreator.testing/607715f0-3ab9-11eb-a139-3bb84618c6c5.mp4?t=1607585343922

    


    Here are logs

    


    2020-12-10T07:28:48.942Z    0ae0c435-54d3-416f-9d1a-8ddf595a7e83    INFO    frame=  130 fps= 16 q=-1.0 Lsize=      83kB time=00:00:05.08 bitrate= 133.6kbits/s speed=0.641x    video:80kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.928688%


    


    2020-12-10T07:28:48.942Z    0ae0c435-54d3-416f-9d1a-8ddf595a7e83    INFO    [libx264 @ 0x640d6c0] frame I:1     Avg QP:15.47  size: 68227[libx264 @ 0x640d6c0] frame P:33    Avg QP:15.07  size:   246[libx264 @ 0x640d6c0] frame B:96    Avg QP:18.75  size:    56[libx264 @ 0x640d6c0] consecutive B-frames:  1.5%  0.0%  0.0% 98.5%


    


    2020-12-10T07:28:48.943Z    0ae0c435-54d3-416f-9d1a-8ddf595a7e83    INFO    [libx264 @ 0x640d6c0] mb I  I16..4: 24.6% 60.5% 14.9%[libx264 @ 0x640d6c0] mb P  I16..4:  0.0%  0.2%  0.0%  P16..4:  0.8%  0.0%  0.0%  0.0%  0.0%    skip:98.9%[libx264 @ 0x640d6c0] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.3%  0.0%  0.0%  direct: 0.0%  skip:99.7%  L0:26.7% L1:73.3% BI: 0.0%[libx264 @ 0x640d6c0] 8x8 transform intra:62.0% inter:83.6%[libx264 @ 0x640d6c0] coded y,uvDC,uvAC intra: 49.2% 44.3% 32.1% inter: 0.0% 0.2% 0.0%[libx264 @ 0x640d6c0] i16 v,h,dc,p: 53% 38%  7%  2%[libx264 @ 0x640d6c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 24% 29%  3%  3%  3%  5%  3%  4%[libx264 @ 0x640d6c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 37% 26% 14%  3%  4%  5%  4%  4%  3%[libx264 @ 0x640d6c0] i8c dc,h,v,p: 57% 27% 13%  3%[libx264 @ 0x640d6c0] Weighted P-Frames: Y:0.0% UV:0.0%[libx264 @ 0x640d6c0] ref P L0: 95.1%  1.2%  3.1%  0.6%[libx264 @ 0x640d6c0] ref B L0: 48.1% 51.3%  0.7%[libx264 @ 0x640d6c0] ref B L1: 97.3%  2.7%[libx264 @ 0x640d6c0] kb/s:125.75


    


    2020-12-10T07:28:48.944Z    0ae0c435-54d3-416f-9d1a-8ddf595a7e83    INFO    [cache @ 0x5f57940] Statistics, cache hits:0 cache misses:3551


    


  • Getting "Buffer queue overflow, dropping" while concatenation in ffmpeg

    19 août 2020, par Yevhenii Molodtsov

    I have a python script that generates the FFmpeg command to concatenate the video clips.
Here is the script :

    


            ffmpeg 
        -i /tmp/media/import-2020-Aug-19-Wednesday-08-08-26/temp_eba59811-bb5c-4e36-aa7d-b1731e70432c.mp4 
        -i /tmp/media/import-2020-Aug-19-Wednesday-08-08-26/temp_2a6d7907-7cad-4f38-ae82-4b475546d3e0.mp4 
        -i /tmp/media/import-2020-Aug-19-Wednesday-08-08-26/temp_d7371ecb-01df-4199-951f-336fa475998f.mp4 
        -i /tmp/media/import-2020-Aug-19-Wednesday-08-08-26/temp_cc5de0f1-84b4-47bc-b390-45b5f8711914.mp4 
        -i /tmp/media/import-2020-Aug-19-Wednesday-08-08-26/temp_bf796e0d-135f-40fd-ab8e-4780da6973fd.mp4  
        -filter_complex 
        "[0:v]trim=start=0:end=8.032,setpts=PTS-STARTPTS[clip0];
        [1:v]trim=start=2:end=13.047,setpts=PTS-STARTPTS[clip1];
        [2:v]trim=start=2:end=13.558,setpts=PTS-STARTPTS[clip2];
        [3:v]trim=start=2:end=13.186,setpts=PTS-STARTPTS[clip3];
        [4:v]trim=start=2,setpts=PTS-STARTPTS[clip4];
        [0:v]trim=start=9.032:end=10.032,setpts=PTS-STARTPTS[out0];
        [1:v]trim=start=14.047:end=15.047,setpts=PTS-STARTPTS[out1];
        [2:v]trim=start=14.558:end=15.558,setpts=PTS-STARTPTS[out2];
        [3:v]trim=start=14.186:end=15.186,setpts=PTS-STARTPTS[out3];
        [1:v]trim=start=0:end=2,setpts=PTS-STARTPTS[in1];
        [2:v]trim=start=0:end=2,setpts=PTS-STARTPTS[in2];
        [3:v]trim=start=0:end=2,setpts=PTS-STARTPTS[in3];
        [4:v]trim=start=0:end=2,setpts=PTS-STARTPTS[in4];
        [in1]format=pix_fmts=yuva420p,fade=t=in:st=0:d=2:alpha=1[fadein1];
        [in2]format=pix_fmts=yuva420p,fade=t=in:st=0:d=2:alpha=1[fadein2];
        [in3]format=pix_fmts=yuva420p,fade=t=in:st=0:d=2:alpha=1[fadein3];
        [in4]format=pix_fmts=yuva420p,fade=t=in:st=0:d=2:alpha=1[fadein4];
        [out0]format=pix_fmts=yuva420p,fade=t=out:st=0:d=2:alpha=1[fadeout0];
        [out1]format=pix_fmts=yuva420p,fade=t=out:st=0:d=2:alpha=1[fadeout1];
        [out2]format=pix_fmts=yuva420p,fade=t=out:st=0:d=2:alpha=1[fadeout2];
        [out3]format=pix_fmts=yuva420p,fade=t=out:st=0:d=2:alpha=1[fadeout3];
        [fadein1]fifo[fadein1fifo];
        [fadein2]fifo[fadein2fifo];
        [fadein3]fifo[fadein3fifo];
        [fadein4]fifo[fadein4fifo];
        [fadeout0]fifo[fadeout0fifo];
        [fadeout1]fifo[fadeout1fifo];
        [fadeout2]fifo[fadeout2fifo];
        [fadeout3]fifo[fadeout3fifo];
        [fadeout0fifo][fadein1fifo]overlay[crossfade0];
        [fadeout1fifo][fadein2fifo]overlay[crossfade1];
        [fadeout2fifo][fadein3fifo]overlay[crossfade2];
        [fadeout3fifo][fadein4fifo]overlay[crossfade3];
        [clip0][crossfade0][clip1][crossfade1][clip2][crossfade2][clip3][crossfade3][clip4]concat=n=9[output];
         [0:a][1:a]acrossfade=d=10:c1=tri:c2=tri[A1];
         [A1][2:a]acrossfade=d=10:c1=tri:c2=tri[A2];
         [A2][3:a]acrossfade=d=10:c1=tri:c2=tri[A3];
         [A3][4:a]acrossfade=d=10:c1=tri:c2=tri[audio] " -map "[output]" -map "[audio]" /tmp/media/final/some_filename_587463a2-e3ca-436a-874b-a72e295e46ac.mp4


    


    But I get the following error : Buffer queue overflow, dropping.
I read that to solve this I need to use fifo, but I can't figure out where should I place it. I addition, it seems like fifo works only with video streams.
I would much appreciate any help !

    


  • FFmpeg : concatenate m4v-files while preserving vobsub subtitles ?

    27 octobre 2020, par Nick

    I'm trying to concatenate two h.264-m4v files using ffmpeg. At least one of the source files (at least the second, not necessarily the first) contains subtitles in the vobsub format. The source files were created using HandBrake which allows for vobsub inclusion in m4v-containers. The files are exactly the same codec, same resolution, same type.

    


    Let's suppose the source files are called 1.m4v and 2.m4v. The 2.m4v-file contains the following streams which I want to have included in the output file :

    


        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt470bg), 702x574 [SAR 16:15 DAR 1872:1435], 607 kb/s, 25 fps, 25 tbr, 90k tbn, 180k tbc (default)
    Metadata:
      creation_time   : 2020-10-11T16:02:38.000000Z
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 350 kb/s (default)
    Metadata:
      creation_time   : 2020-10-11T16:02:38.000000Z
      handler_name    : Stereo
    Stream #0:2(eng): Subtitle: dvd_subtitle (mp4s / 0x7334706D), 720x576, 3 kb/s (default)
    Metadata:
      creation_time   : 2020-10-11T16:02:38.000000Z
      handler_name    : SubtitleHandler
    Stream #0:3(eng): Data: bin_data (text / 0x74786574)
    Metadata:
      creation_time   : 2020-10-11T16:02:38.000000Z
      handler_name    : SubtitleHandler


    


    The two files are included in a sources.txt file containing the following lines :

    


    file '1.m4v'
file '2.m4v'


    


    The command in ffmpeg is then executed as follows :

    


    $ ffmpeg -f concat -safe 0 -i sources.txt -c copy output.m4v


    


    The resulting file correctly combines 1 and 2 with all their audio and video streams. However, the subtitle streams are omitted by ffmpeg. The output.m4v file does not contain them (Stream #0:2(eng) and Stream #0:3(eng) are not present) :

    


        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt470bg), 702x576 [SAR 16:15 DAR 13:10], 626 kb/s, 25 fps, 25 tbr, 90k tbn, 180k tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 349 kb/s (default)
    Metadata:
      handler_name    : Stereo


    


    This also happens if I alter the command to use -scodec copy as an option. In this case, the joining-process fails with the following error :

    


    [ipod @ 0x7f7faa00c000] Could not find tag for codec dvd_subtitle in stream #2, codec not currently supported in container
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:0 -- 


    


    Any idea on how to join the two files while preserving the vobsubs in the resulting m4v-container ?