Recherche avancée

Médias (1)

Mot : - Tags -/portrait

Autres articles (45)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (7923)

  • How to use ffmpeg to upscale video resolution with anime4k ?

    29 juillet 2023, par Ironbox

    In Vapoursynth, it is convenient to download and use plugins to change the frame rate of videos. However, it seems that using FFmpeg has more limitations (or maybe I haven't found the right method). Anime4K is a video enhancement algorithm suitable for anime and similar videos. In MPV, their plugins can be imported and used for real-time frame rate conversion.

    


    In FFmpeg, how can I use the algorithms in glsl files to change the video frame rate, instead of using FFmpeg's built-in algorithms ?

    


    In FFmpeg, i can use libplacebo filters can also be used to apply GLSL shaders. In my tests, using command like :

    


    libplacebo=custom_shader_path=Anime4K_Upscale_CNN_x2_VL.glsl


    


    this leads to noticeable GPU usage, but the output video resolution remains the same as the original.

    


    I can pass in the w and h parameters when calling the libplacebo filter :

    


    libplacebo=w=iw*2:h=ih*2:custom_shader_path=shaders/Anime4K_Upscale_CNN_x2_VL.glsl


    


    This achieves the purpose of super resolution, but is it essentially using anime4k for upscaling behind the processing ?
Is it using the upscaling algorithm in libplacebo first, before applying anime4k ? How can I achieve my original goal that only use anime4k to upscale ?
here's my full command (in python) :

    


    [
    'ffmpeg -hide_banner',
    '-hwaccel', 'cuda',
    '-i', '"{input_ab_path}"',
    '-filter_complex',
    '"[0:v]libplacebo=custom_shader_path=libplacebo=custom_shader_path=shaders/Anime4K_Upscale_CNN_x2_VL.glsl,subtitles="{sub_file}":si=0[out]"',
    '-map', '0:a',
    '-map', '"[out]"',
    '-c:v', 'libsvtav1',
    '-svtav1-params', 'scm=2:scd=1:enable-overlays=1:enable-tf=0:tune=0:preset=7:crf=18',
    '-c:a', 'libvorbis',
    '-qscale:a', '10',
    '-pix_fmt', 'yuv420p10le',
    '-y', '"{output_ab_path}"'
]


    


  • FFmpeg - How to choose video stream based on resolution

    23 septembre 2023, par Sylven

    I want to choose the video stream based on it's quality, let's say I want to choose one video stream with certain resolution.

    


    Manually selecting the video stream is not good enough for me because I want to process many files in bulk and they have the video streams in different order, so always going for certain position would make me end up with different resolutions.

    


    I don't want to use filters as that would make me reencode which I don't need and would make it way slower.

    


    I've tried using the -map with metadata but the only key that is different is "variant_bitrate" which has slightly different values everytime, so unless I can use some wildcard or conditionals, I guess it won't work either.

    


    What I want to try now is to obtain the exact bitrate of the stream using ffmpeg or ffprobe and then pass it to the ffmpeg command so it ends in something like this :

    


    ffmpeg -i <url> -map m:variant_bitrate:1760000 ...</url>

    &#xA;

    PD : I've been reading the FFmpeg documentation and browsing the whole internet without luck.

    &#xA;

    Edit :&#xA;I managed to make it work by first using ffprobe to obtain stream info in json format (easier to parse), then I search for the string "height": 540 and extract next 50 lines (counted them manually so I'm sure I'll pick the value I need), then I search for the string variant_bitrate and then I use a regular expression to extract the bitrate. Once I have the bitrate I make use of the MacOS clipboard (with pbcopy and pbpaste) to pass the value to the final ffmpeg command through the -map option using a metadata selector.

    &#xA;

    ffprobe -v error -show_streams -of json "https://streamlink.com/master.m3u8?f=dash"&#xA;| grep -A 50 &#x27;"height": 540&#x27; &#xA;| grep variant_bitrate&#xA;| grep -oe &#x27;\([0-9.]*\)&#x27; &#xA;| pbcopy&#xA;&amp;&amp; ffmpeg -protocol_whitelist file,http,https,tcp,tls,crypto -i "https://streamlink.com/master.m3u8?f=dash" -map "0:a:0" -map "m:variant_bitrate:$(pbpaste)" -c copy "Output.mp4"&#xA;

    &#xA;

    (added line breaks for readability)

    &#xA;

    I know it looks kinda dirty but I didn't find any other way to achieve my requirement.

    &#xA;

  • ffmpeg padding doesn't scale when changing resolution

    5 mars 2023, par Martin

    I have a ffmpeg command which takes a bunch of audio files, 3 image files, and renders a video with them.

    &#xA;

    Image Input Dimmensions :

    &#xA;

      &#xA;
    • 1_front.jpg 600w x 593h
    • &#xA;

    • 2_back.jpg 600w x 466h
    • &#xA;

    • 3_cd.jpg 600w x 598h
    • &#xA;

    &#xA;

    The video has a resolution of w=600 h=593, which is the resolution of the first img.

    &#xA;

    Here's the full command

    &#xA;

    ffmpeg&#xA; -r 2 -i "E:\filepath\10. Deejay Punk-Roc - Knock &#x27;em All The Way Out.aiff"&#xA; -r 2 -i "E:\filepath\11. Deejay Punk-Roc - Spring Break.aiff" -r 2 -i "E:\filepath\12. Deejay Punk-Roc - Fat Gold Chain.aiff" &#xA; -r 2 -i "E:\filepath\1_front.jpg" -r 2 -i "E:\filepath\2_back.jpg" -r 2 -i "E:\filepath\3_cd.jpg" &#xA; &#xA; -filter_complex &#xA; "&#xA; [0:a][1:a][2:a]concat=n=3:v=0:a=1[a]; &#xA; &#xA; [3:v]scale=w=600:h=593,setsar=1,loop=580.03:580.03[v3]; &#xA;&#xA; [4:v]pad=600:593:0:63:color=pink,setsar=1,loop=580.03:580.03[v4];&#xA; &#xA; [5:v]scale=w=600:h=593,setsar=1,loop=580.03:580.03[v5];&#xA; &#xA; [v3][v4][v5]concat=n=3:v=1:a=0,pad=ceil(iw/2)*2:ceil(ih/2)*2[v]"&#xA; &#xA;  -map "[v]" -map "[a]" -c:a pcm_s32le -c:v libx264 -bufsize 3M -crf 18 -pix_fmt yuv420p -tune stillimage -t 870.04 &#xA;  "E:\filepath\vidOutPutCorrect.mkv"&#xA;&#xA;

    &#xA;

    For filter_complex this second part will add padding to the second image so that it does not get stretched or cropped.

    &#xA;

    [4:v]pad=600:593:0:63:color=pink,setsar=1,loop=580.03:580.03[v4];&#xA;

    &#xA;

    Specifically this part

    &#xA;

    pad=600:593:0:63:color=pink&#xA;

    &#xA;

    Which I understand means w=600 and h=593, but i dont know that the last part 0:63 means.

    &#xA;

    You can see the output has the pink padding correctly&#xA;enter image description here

    &#xA;

    but i want to render the video with a resolution of w=1920 h=1898 instead of w=600 h=593.

    &#xA;

    So i update the command to have this new resolution :

    &#xA;

    ffmpeg -r 2 -i "E:\filepath\10. Deejay Punk-Roc - Knock &#x27;em All The Way Out.aiff" -r 2 -i "E:\filepath\11. Deejay Punk-Roc - Spring Break.aiff" -r 2 -i "E:\filepath\12. Deejay Punk-Roc - Fat Gold Chain.aiff" -r 2 -i "E:\filepath\1_front.jpg" -r 2 -i "E:\filepath\2_back.jpg" -r 2 -i "E:\filepath\3_cd.jpg" &#xA;&#xA;-filter_complex "&#xA;[0:a][1:a][2:a]concat=n=3:v=0:a=1[a];&#xA;&#xA;[3:v]scale=w=1920:h=1898,setsar=1,loop=580.03:580.03[v3];&#xA;&#xA;[4:v]pad=1920:1898:0:63:color=pink,setsar=1,loop=580.03:580.03[v4];&#xA;&#xA;[5:v]scale=w=1920:h=1898,setsar=1,loop=580.03:580.03[v5];&#xA;&#xA;[v3][v4][v5]concat=n=3:v=1:a=0,pad=ceil(iw/2)*2:ceil(ih/2)*2[v]"&#xA;&#xA; -map "[v]" -map "[a]" -c:a pcm_s32le -c:v libx264 -bufsize 3M -crf 18 -pix_fmt yuv420p -tune stillimage -t 870.04 "E:\filepath\slidet.mkv"&#xA;

    &#xA;

    my video does in fact now have a resolution of 1920x1798 which is great, but the 2nd image padding portion has the image super small and in a corner

    &#xA;

    enter image description here

    &#xA;

    So this line works :

    &#xA;

    pad=600:593:0:63:color=pink&#xA;

    &#xA;

    but with a different resolution is looks bad with the image in the top left corner

    &#xA;

    pad=1920:1898:0:63:color=pink&#xA;

    &#xA;

    What do I need to change 0:63 to in order to have the image be centered ?

    &#xA;

    Download files : http://www.mediafire.com/folder/e8ja1n8elszk1lu,dxw4vglrz7polyh,ojjx6kcqruksv5r,lah9rano4svj46o,q5jg0083vbj9y1p,d3pt8ydf3ulqm5m/shared

    &#xA;