Recherche avancée

Médias (0)

Mot : - Tags -/xmlrpc

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

Autres articles (102)

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • 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 (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (10229)

  • ffmpeg - maintain video quality as I apply multi-pass workflow, each includes decoding and encoding again, in video editing

    27 septembre 2020, par QRrabbit

    I'm using FFMPEG libraries do do some video manipulation, and due to complexity of filters and image overlaying, I have to run the process in multiple passes.
This means, my process is as such :
Open original video, decode it, run -complex_filter, recompress the video in whichever format the original video was encoded.
Open the output from the first pass, run another -complex_filter, etc-etc.
Sometimes I have to do the above 3-4 times. My concern is that the video, with every compression is losing quality - obvious signs of that is the file is shrinking in size with every pass.

    


    With the above, I have two questions :

    


      

    1. Would it make sense to, after first manipulation, instead of saving the video in its original format, I chose some format that is lossless, and then perform my passes one after the other, knowing that the quality remains the same, then on the final pass I recompress one-time into the format of the source. If so, what format of a video would you recommend ? ProRes 4444 ? Any other formats I shell consider ? Any parameters I should set and carry-over from encoding to encoding ?

      


    2. 


    3. With every step I carry over all extra streams of audio and other meta data.
Wouldn't it be more efficient to strip everything except the video, run my video passages over and over and not to need for adding -c:a copy and c:s copy ? Then on my final run, merge all streams from the original source to the output file ? If yes, how will I carry the ffmpeg command specifically ? I have a video that has 1 video stream + 15 audio streams + some extra tmcd which my ffmpeg cannot read.

      


    4. 


    


    Thank you.

    


    Edit 1 :

    


    if the input video has a video codec = dvvideo, and if dimensions of the video is 1280x1080, that means the video doesn't have a typical square pixels.
I first need to resize the video, in doing so I scale the video up. Then I can run my filters :

    


    pass-1 : -vf scale=1920x1080 (this step is skipped if the video is of a normal x to y ratio)
pass-2 : -filter_complex : which calls my special filter that adds some proprietary watermark to a video
pass-3 : -filter_complex : "0overlay=5:21:enable='between(t,2,3)+between(t,4,5)+between(t,6,8)'" (sole objective is to inserts an icon.png at a location near where the watermark was placed in previous step.)
pass-4 : -vf scale=1280x1080 (this step scales the video back, if pass-1 was executed)

    


    I could probably rewrite my 'C' filter code at some point in the future to accommodate this logic of checking for 1280x1080, as well as inserting this icon.png, and do it all in one step, but for right now, I thought just using 2-step process if a normal video, or a 4 passes if needs scaling, and utilize something of a lossless format as a temp file solution (I arbitrary chose ProRes 4444 v5, but open to suggestions), should minimize the losses during recompression to the video.

    


    Steps 1 and 4 are conditional, and only applicable if :&#xA;if vcodec == 'dvvideo' and aspect_ratio < 1.2 : # 1280x1080 ratio has about 1.16&#xA;I run steps 1->4. Otherwise only steps 2 & 3 :

    &#xA;

    Step1 :

    &#xA;

    ffmpeg -i in.mov -vf scale=1920x1080 -map 0:v? -map 0:a? -map 0:s? -map_metadata 0 -b:v 115084915 -maxrate 115084915 -minrate 115084915 -c:v prores_ks -profile:v 5 -preset ultrafast -crf 0 -c:a copy -timecode 00:00:00.00 -c:s copy -y step2.mov&#xA;

    &#xA;

    Step2 :

    &#xA;

    ffmpeg -i step2.mov -filter_complex " myFilter=enable=&#x27;between(t,0,30)&#x27;:x=15:y=25:size=95:etc-etc..." -map 0:v? -map 0:a? -map 0:s? -map_metadata 0 -b:v 115084915 -maxrate 115084915 -minrate 115084915 -c:v prores_ks -profile:v 5 -preset ultrafast -crf 0 -c:a copy -timecode 00:00:00.00 -c:s copy -y step3.mov&#xA;

    &#xA;

    Step3 :

    &#xA;

    ffmpeg -i step3.mov -i icon.png -filter_complex "[0][1]overlay=15:20:enable=&#x27;between(t,1,3.600)&#x2B;between(t,4,5.500)&#x2B;between(t,6,20)&#x27; " -map 0:v? -map 0:a? -map 0:s? -map_metadata 0 -b:v 115084915 -maxrate 115084915 -minrate 115084915 -c:v prores_ks -profile:v 5 -preset ultrafast -crf 0 -c:a copy -timecode 00:00:00.00 -c:s copy -y step4.mov&#xA;

    &#xA;

    Step4 :

    &#xA;

    ffmpeg -i step4.mov -map 0:v? -vf scale=1280x1080 -map 0:a? -map 0:s? -c:v dvvideo -pix_fmt yuv422p -b:v 115084915 -maxrate 115084915 -minrate 115084915 -r 29.97 -top 1 -color_primaries bt709 -color_trc bt709 -colorspace bt709 -vtag dvh6 -map_metadata 0 -c:a copy -timecode 00:00:00.00 -c:s copy -y final-output.mov&#xA;

    &#xA;

    Since I post my entire set of ffmpeg commands, maybe someone could recommend how to make my output match input so that I don't lose timecode entry :input is on the left panel, my output is on the right

    &#xA;

  • Add specific image files to ffmpeg video with fluent-ffmpeg

    8 septembre 2020, par lowcrawler

    My nodejs program has an array of (full path) filenames for a few hundred jpegs. These files are not all in the same directory (but they all sort correctly). These are all located on various network shares that the host has access to.

    &#xA;

    I'd like to turn these into timelapse videos, but I'm not entirely sure how to do this. Note, some videos will be 400+ images.

    &#xA;

    I have thought of brute-force copy the the files across the network into sequential filenames on the local system, then run ffmpeg using an image pattern ... but I will need to do this hundreds of times per hour, 24/7 and I'd rather not needlessly make file copies (nor do I wish to delve into deep use of the local file system by nodejs).

    &#xA;

    I have tried doing multiple .addInput(&#x27;path/to/file&#x27;) - chaining a hundred of them together and I seem to only get a single frame video.

    &#xA;

    The question Add multiple images to video fluent-ffmpeg appears close, but is too opaque for me to know if it's on the right track.

    &#xA;

    The question fluent-ffmpeg from an array of input files gives me hope but I keep getting errors. (I will keep digging on this path unless someone has other input)

    &#xA;

    given FFMPEG can work with a readable stream, I also wondered if there would simply be a way to create a readable stream from the array of image files ?

    &#xA;

  • FFmpeg continues to process after time specified at "-to"

    4 août 2020, par Yamahabest

    I have a video, where I want to cut a part from the beginning, and from the end. And I want to apply some fade ins/fade outs, and add some text.

    &#xA;

    So, I came up with the following syntax :

    &#xA;

    -ss 10 -to 40 &#xA;-i "D:\DATA\Software\VideoProcessor_Files\20171015 Zelhem Tandem Frans met Mirthe.MP4" &#xA;-loop 1 -i "Input_Files\logo maurik large.png" &#xA;-loop 1 -i "Input_Files\logo maurik small.png" &#xA;-filter_complex "&#xA;    color=0x7F7F7F@0.95:1920x1080[grey_for_fade_out];&#xA;    [grey_for_fade_out]fade=t=out:st=12:d=2:alpha=1[grey_fade_out];&#xA;    [0:v][grey_fade_out]overlay[video_grey_fade_out];&#xA;    color=0x7F7F7F@0.95:1920x1080[grey_for_fade_in];&#xA;    [grey_for_fade_in]fade=t=in:st=37:d=2:alpha=1[grey_fade_in];&#xA;    [video_grey_fade_out][grey_fade_in]overlay[video_grey_fade_out_in];&#xA;    [1:v]fade=t=out:st=13:d=2:alpha=1[over];&#xA;    [over]scale=iw/1.5:-1[scaled];&#xA;    [video_grey_fade_out_in][scaled]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/10[video_grey_fade_out_in_logo];&#xA;    [1:v]fade=t=in:st=36:d=2:alpha=1[over2];&#xA;    [over2]scale=iw/1.5:-1[scaled2];&#xA;    [video_grey_fade_out_in_logo][scaled2]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2[video_grey_fade_out_in_logo2];&#xA;    [2:v]colorchannelmixer=aa=0.5,fade=t=in:st=14:d=2:alpha=1,fade=t=out:st=35:d=2:alpha=1[over3];&#xA;    [over3]scale=iw/10:-1[scaled3];&#xA;    [video_grey_fade_out_in_logo2][scaled3]overlay=10:10[video_complete];&#xA;    [video_complete]drawtext=fontfile=Input_Files/Sansation-Bold.ttf:text=&#x27;Tandemvlucht met Mirthe&#x27;:fontsize=96:fontcolor=white:alpha=&#x27;if(lt(t,11),1,(2-(t-11))/2)&#x27;:x=(w-text_w)/2:y=((h-text_h)/2)&#x2B;125,drawtext=fontfile=Input_Files/Sansation-Bold.ttf:text=&#x27;Zeddam&#x27;:fontsize=96:fontcolor=white:alpha=&#x27;if(lt(t,11),1,(2-(t-11))/2)&#x27;:x=(w-text_w)/2:y=((h-text_h)/2)&#x2B;250,drawtext=fontfile=Input_Files/Sansation-Bold.ttf:text=&#x27;4 augustus 2020&#x27;:fontsize=96:fontcolor=white:alpha=&#x27;if(lt(t,11),1,(2-(t-11))/2)&#x27;:x=(w-text_w)/2:y=((h-text_h)/2)&#x2B;375,drawtext=fontfile=Input_Files/Sansation-Bold.ttf:text=&#x27;Ook een keer meevliegen?&#x27;:fontsize=96:fontcolor=white:alpha=&#x27;if(lt(t,37),0,(t-37)/2)&#x27;:x=(w-text_w)/2:y=((h-text_h)/6),drawtext=fontfile=Input_Files/Sansation-Bold.ttf:text=&#x27;Of bel 085 - 049 55 69&#x27;:fontsize=96:fontcolor=white:alpha=&#x27;if(lt(t,37),0,(t-37)/2)&#x27;:x=(w-text_w)/2:y=((h-text_h)/2)&#x2B;350"&#xA;-preset medium &#xA;-crf 18 &#xA;-c:a copy &#xA;-y ".\Output_Files\Video\Zeddam\2020-08-04\Mirthe\27ed390a-8497-4550-b93f-4f87d9f2c9f0\MP_Tandemvlucht met_Mirthe_Zeddam_2020-08-04.mp4"&#xA;

    &#xA;

    I am quite sure this has worked in the past, but now FFmpeg just keeps on processing endlessly. If I then stop the FFmpeg process, and look at the resulting file, I see that the last frame (of the end of the specified period) just keeps on duplicating.

    &#xA;

    The drop counter in the console output of FFmpeg also starts increasing at the end of the specified period :

    &#xA;

    frame=  987 fps= 15 q=-1.0 Lsize=   31357kB time=00:00:41.04 bitrate=6259.0kbits/s dup=0 drop=10 speed=0.644x&#xA;

    &#xA;

    I am kind of lost on why this doesn't work anymore. I might have upgraded the FFmpeg executable in the mean time. Maybe my syntax was/is not correct, but I believe it just worked.

    &#xA;

    It has to be in the complex filter, because when I remove that, it works alright.&#xA;It is not in the drawtext part of the complex filter, because it still occurs when I remove that. And when I only do the drawtext, FFmpeg stops correctly at the specified time.

    &#xA;

    I have tried this, but then it still occurs :

    &#xA;

    -filter_complex "&#xA;    color=0x7F7F7F@0.95:1920x1080[grey_for_fade_out];&#xA;    [grey_for_fade_out]fade=t=out:st=12:d=2:alpha=1[grey_fade_out];&#xA;    [0:v][grey_fade_out]overlay[video_grey_fade_out];&#xA;    color=0x7F7F7F@0.95:1920x1080[grey_for_fade_in];&#xA;    [grey_for_fade_in]fade=t=in:st=37:d=2:alpha=1[grey_fade_in];&#xA;    [video_grey_fade_out][grey_fade_in]overlay"&#xA;

    &#xA;

    Also with this, it still occurs :

    &#xA;

    -filter_complex "&#xA;    [1:v]fade=t=out:st=13:d=2:alpha=1[over];&#xA;    [over]scale=iw/1.5:-1[scaled];&#xA;    [0:v][scaled]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/10[video_grey_fade_out_in_logo];&#xA;    [1:v]fade=t=in:st=36:d=2:alpha=1[over2];&#xA;    [over2]scale=iw/1.5:-1[scaled2];&#xA;    [video_grey_fade_out_in_logo][scaled2]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2[video_grey_fade_out_in_logo2];&#xA;    [2:v]colorchannelmixer=aa=0.5,fade=t=in:st=14:d=2:alpha=1,fade=t=out:st=35:d=2:alpha=1[over3];&#xA;    [over3]scale=iw/10:-1[scaled3];&#xA;    [video_grey_fade_out_in_logo2][scaled3]overlay=10:10"&#xA;

    &#xA;

    I just don't understand. All my fade-ins/-outs seem to be within the specified range :

    &#xA;

      &#xA;
    • fade=t=out:st=12:d=2 : start at 12 seconds, duration 2 seconds. This ends at 14 seconds, which is smaller than 40 seconds.
    • &#xA;

    • fade=t=in:st=37:d=2 : start at 37 seconds, duration 2 seconds. This ends at 39 seconds, which is smaller than 40 seconds.
    • &#xA;

    • fade=t=out:st=13:d=2 : start at 13 seconds, duration 2 seconds. This ends at 15 seconds, which is smaller than 40 seconds.
    • &#xA;

    • fade=t=in:st=36:d=2 : start at 36 seconds, duration 2 seconds. This ends at 38 seconds, which is smaller than 40 seconds.
    • &#xA;

    &#xA;

    It is just like some sequence is not ended properly, which is causing FFmpeg to just continue.

    &#xA;