Recherche avancée

Médias (1)

Mot : - Tags -/illustrator

Autres articles (63)

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

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

Sur d’autres sites (7143)

  • Getting realtime output of ffmpeg with pexpect

    27 février 2014, par Shuman

    hi i'm trying to get the progress info when calling ffmpeg command line tool, with pexpect, i can get the progress with regex, but the problem is after a few seconds, maybe 20 or 10sec, pexpect stops getting new print outs from ffmpeg, it's still running, i saw the output file size growing. am i doing something wrong ?

    cmd = 'ffmpeg -i rtmp://xxxx -c copy -absf aac_adtstoasc /usr/tmp/tmp/out.mp4'

    import os
    import re
    import time
    import subprocess


    import pexpect

    thread = pexpect.spawn(cmd)

    print 'started'

    reo = re.compile("""\S+\s+(?P\d+)  # frame
                        \s\S+\s+(?P<fps>\d+)           # fps
                        \sq=(?P<q>\S+)                    # q
                        \s\S+\s+(?P<size>\S+)          # size
                        \stime=(?P<time>\S+)           # time
                        \sbitrate=(?P<bitrate>[\d\.]+) # bitrate
                        """, re.X)

    durationReo = (&#39;(?&lt;=Duration:\s)\S+(?=,)&#39;)

    cpl = thread.compile_pattern_list([
       pexpect.EOF,
       reo,
       durationReo
    ])


    while True:
       i = thread.expect_list(cpl, timeout=None)
       if i == 0: # EOF
           print "the sub process exited"
           break
       elif i == 1:
           frame_number = thread.match.group(0)
           print frame_number
       elif i == 2:
           durationLine = thread.match.group(0).strip()
           print &#39;Duration:&#39;, durationLine
    </bitrate></time></size></q></fps>

    the output is

    started                                                                                  
    Duration: 03:55:42.00                                                                    
    frame=   74 fps= 55 q=-1.0 size=     984kB time=00:00:06.17 bitrate=1304.5                
    frame=   89 fps= 43 q=-1.0 size=    1197kB time=00:00:07.43 bitrate=1319.8                
    frame=  113 fps= 41 q=-1.0 size=    1407kB time=00:00:09.33 bitrate=1234.8
    frame=  125 fps= 32 q=-1.0 size=    1613kB time=00:00:10.35 bitrate=1275.6
    frame=  132 fps= 29 q=-1.0 size=    1705kB time=00:00:10.95 bitrate=1274.7
    frame=  135 fps= 26 q=-1.0 size=    1825kB time=00:00:11.23 bitrate=1330.6
    frame=  140 fps= 24 q=-1.0 size=    2022kB time=00:00:11.60 bitrate=1426.5
    frame=  140 fps= 21 q=-1.0 size=    2097kB time=00:00:11.70 bitrate=1467.7
    frame=  142 fps= 19 q=-1.0 size=    2224kB time=00:00:11.79 bitrate=1544.4
    frame=  143 fps= 17 q=-1.0 size=    2447kB time=00:00:11.98 bitrate=1672.8
    frame=  145 fps= 16 q=-1.0 size=    2687kB time=00:00:12.07 bitrate=1822.8
    frame=  155 fps= 15 q=-1.0 size=    2780kB time=00:00:12.95 bitrate=1757.6
    frame=  163 fps= 15 q=-1.0 size=    2940kB time=00:00:13.65 bitrate=1764.2
    frame=  167 fps= 14 q=-1.0 size=    3062kB time=00:00:13.83 bitrate=1812.3
    frame=  168 fps= 13 q=-1.0 size=    3149kB time=00:00:14.02 bitrate=1839.4
    frame=  190 fps= 14 q=-1.0 size=    3322kB time=00:00:15.78 bitrate=1723.6
    frame=  213 fps= 15 q=-1.0 size=    3481kB time=00:00:17.78 bitrate=1603.4
    frame=  235 fps= 16 q=-1.0 size=    3671kB time=00:00:19.59 bitrate=1534.3
    frame=  244 fps= 16 q=-1.0 size=    3790kB time=00:00:20.29 bitrate=1530.0
    frame=  256 fps= 16 q=-1.0 size=    3909kB time=00:00:21.31 bitrate=1502.1
    frame=  276 fps= 16 q=-1.0 size=    4029kB time=00:00:22.94 bitrate=1438.8
    frame=  299 fps= 17 q=-1.0 size=    4177kB time=00:00:24.93 bitrate=1372.1
    frame=  339 fps= 19 q=-1.0 size=    4388kB time=00:00:28.28 bitrate=1270.9
    frame=  363 fps= 19 q=-1.0 size=    4557kB time=00:00:30.18 bitrate=1236.8
    frame=  405 fps= 20 q=-1.0 size=    4587kB time=00:00:33.76 bitrate=1113.1
    frame=  421 fps= 20 q=-1.0 size=    4598kB time=00:00:35.15 bitrate=1071.4

    it stops here but the code is still running. the file size is still growing and the code didn't exit, so it's not because of the timeout bug in pexpect.

    and also , if user press ctrl+c to terminate the main program, ffmpeg still runs in the bg, how do i also tell it to exit ?

    edit : i found that the culprit might be ffmpeg is not printing out all the info after 10 lines or so. it only update the display where it needs to be changed.so the regex is not matching, so what to do now , make 6 seperate regex ?

    edit2 : it seems if i use this regex, it works...

    reo = re.compile("""frame=\s*(?P\d+)  # frame
                        \sfps=\s*(?P<fps>\d+)           # fps
                        \sq=\s*(?P<q>\S+)                    # q
                        \ssize=\s*(?P<size>\S+)          # size
                        \stime=\s*(?P<time>\S+)           # time
                        \sbitrate=\s*(?P<bitrate>[\d\.]+) # bitrate
                        """, re.X)
    </bitrate></time></size></q></fps>

    it's saying only match when frame number is updated, ( maybe this implies all the other text are also updated ? )

  • lavc/vorbisdsp : unroll RISC-V V inverse_coupling

    13 juillet 2023, par Rémi Denis-Courmont
    lavc/vorbisdsp : unroll RISC-V V inverse_coupling
    

    This increases the group multiplier as per T-Head C910 benchmarks :

    inverse_coupling_c : 4597.0
    inverse_coupling_rvv_i32 : 1312.7 (m1)
    inverse_coupling_rvv_i32 : 1116.7 (m2)
    inverse_coupling_rvv_i32 : 732.2 (m4)
    inverse_coupling_rvv_i32 : 898.0 (m8)

    • [DH] libavcodec/riscv/vorbisdsp_rvv.S
  • ffmpeg output gives file not found error in python

    20 octobre 2022, par Batuhan Yılmaz

    Trying to build an auto subtitled video generator in Python. But couldn't generate the subtitled video of the input video using ffmpeg. Getting an error saying there is no output.mp4. FileNotFoundError : [Errno 2] No such file or directory : 'C :\Users\batuh\Desktop\auto-multipage\output.mp4'

    &#xA;

    Can you help me out ? Full code is here : https://github.com/BatuhanYilmaz26/auto-sub-exp/blob/main/pages/02_up3.py

    &#xA;

    Here's the parts where I used ffmpeg :

    &#xA;

    def inferecence(loaded_model, uploaded_file, task):&#xA;    with open(f"{save_dir}/audio.mp3" , "wb") as f:&#xA;            f.write(uploaded_file.read())&#xA;        audio = ffmpeg.input(f"{save_dir}/audio.mp3")&#xA;        audio = ffmpeg.output(audio, f"{save_dir}/output.wav", acodec="pcm_s16le", ac=1, ar="16k")&#xA;        ffmpeg.run(audio, overwrite_output=True)&#xA;    if task == "Transcribe":&#xA;            options = dict(task="transcribe", best_of=5)&#xA;            results = loaded_model.transcribe(f"{save_dir}/output.wav", **options)&#xA;            vtt = getSubs(results["segments"], "vtt", 80)&#xA;            srt = getSubs(results["segments"], "srt", 80)&#xA;            lang = results["language"]&#xA;    return results["text"], vtt, srt, lang&#xA;    elif task == "Translate":&#xA;            options = dict(task="translate", best_of=5)&#xA;            results = loaded_model.transcribe(f"{save_dir}/output.wav", **options)&#xA;            vtt = getSubs(results["segments"], "vtt", 80)&#xA;            srt = getSubs(results["segments"], "srt", 80)&#xA;            lang = results["language"]&#xA;    return results["text"], vtt, srt, lang&#xA;    else:&#xA;    raise ValueError("Task not supported")&#xA;    &#xA;    results = inferecence(loaded_model, input_file, task)&#xA;    &#xA;    subprocess.run(shlex.split(f"ffmpeg -i {save_dir}/input.mp4 -i {save_dir}/output.wav -i transcript.srt -c:v copy -c:a copy -c:s copy -map 0:a -map 1:v -map 2:s -metadata:s:a:0 language={results[3]} -y {save_dir}/output.mp4"))&#xA;    #subprocess.run(shlex.split(f"ffmpeg -i {save_dir}/input.mp4 -vf {save_dir}/transcript.srt -y {save_dir}/output.mp4"))&#xA;    with open(os.path.join(os.getcwd(), "output.mp4"), "rb") as f:&#xA;                        data = f.read()&#xA;                    st.video(data)&#xA;                    st.download_button(label="Download Subtitled Video",&#xA;                                        data=data,&#xA;                                        file_name="output.mp4")&#xA;

    &#xA;

    sorry about the indentations

    &#xA;

    Logfile :

    &#xA;

    ffmpeg started on 2022-10-20 at 23:43:53&#xA;Report written to "ffmpeg-20221020-234353.log"&#xA;Command line:&#xA;ffmpeg -i C:UsersbatuhDesktopauto-multipagepageslocaloutput/input.mp4 -i C:UsersbatuhDesktopauto-multipagepageslocaloutput/output.wav -i transcript.srt -c:v copy -c:a copy -c:s copy -map 0:a -map 1:v -map 2:s -metadata:s:a:0 "language=eng" -y C:UsersbatuhDesktopauto-multipagepageslocaloutput/output.mp4 -report&#xA;ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers&#xA;  built with gcc 9.3.1 (GCC) 20200523&#xA;  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt&#xA;  libavutil      56. 31.100 / 56. 31.100&#xA;  libavcodec     58. 54.100 / 58. 54.100&#xA;  libavformat    58. 29.100 / 58. 29.100&#xA;  libavdevice    58.  8.100 / 58.  8.100&#xA;  libavfilter     7. 57.100 /  7. 57.100&#xA;  libswscale      5.  5.100 /  5.  5.100&#xA;  libswresample   3.  5.100 /  3.  5.100&#xA;  libpostproc    55.  5.100 / 55.  5.100&#xA;Splitting the commandline.&#xA;Reading option &#x27;-i&#x27; ... matched as input url with argument &#x27;C:UsersbatuhDesktopauto-multipagepageslocaloutput/input.mp4&#x27;.&#xA;Reading option &#x27;-i&#x27; ... matched as input url with argument &#x27;C:UsersbatuhDesktopauto-multipagepageslocaloutput/output.wav&#x27;.&#xA;Reading option &#x27;-i&#x27; ... matched as input url with argument &#x27;transcript.srt&#x27;.&#xA;Reading option &#x27;-c:v&#x27; ... matched as option &#x27;c&#x27; (codec name) with argument &#x27;copy&#x27;.&#xA;Reading option &#x27;-c:a&#x27; ... matched as option &#x27;c&#x27; (codec name) with argument &#x27;copy&#x27;.&#xA;Reading option &#x27;-c:s&#x27; ... matched as option &#x27;c&#x27; (codec name) with argument &#x27;copy&#x27;.&#xA;Reading option &#x27;-map&#x27; ... matched as option &#x27;map&#x27; (set input stream mapping) with argument &#x27;0:a&#x27;.&#xA;Reading option &#x27;-map&#x27; ... matched as option &#x27;map&#x27; (set input stream mapping) with argument &#x27;1:v&#x27;.&#xA;Reading option &#x27;-map&#x27; ... matched as option &#x27;map&#x27; (set input stream mapping) with argument &#x27;2:s&#x27;.&#xA;Reading option &#x27;-metadata:s:a:0&#x27; ... matched as option &#x27;metadata&#x27; (add metadata) with argument &#x27;language=eng&#x27;.&#xA;Reading option &#x27;-y&#x27; ... matched as option &#x27;y&#x27; (overwrite output files) with argument &#x27;1&#x27;.&#xA;Reading option &#x27;C:UsersbatuhDesktopauto-multipagepageslocaloutput/output.mp4&#x27; ... matched as output url.&#xA;Reading option &#x27;-report&#x27; ... matched as option &#x27;report&#x27; (generate a report) with argument &#x27;1&#x27;.&#xA;Finished splitting the commandline.&#xA;Parsing a group of options: global .&#xA;Applying option y (overwrite output files) with argument 1.&#xA;Applying option report (generate a report) with argument 1.&#xA;Successfully parsed a group of options.&#xA;Parsing a group of options: input url C:UsersbatuhDesktopauto-multipagepageslocaloutput/input.mp4.&#xA;Successfully parsed a group of options.&#xA;Opening an input file: C:UsersbatuhDesktopauto-multipagepageslocaloutput/input.mp4.&#xA;[NULL @ 000001fba186b9c0] Opening &#x27;C:UsersbatuhDesktopauto-multipagepageslocaloutput/input.mp4&#x27; for reading&#xA;[file @ 000001fba186c140] Setting default whitelist &#x27;file,crypto&#x27;&#xA;C:UsersbatuhDesktopauto-multipagepageslocaloutput/input.mp4: No such file or directory&#xA;

    &#xA;