Recherche avancée

Médias (1)

Mot : - Tags -/Rennes

Autres articles (87)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

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

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

  • ffmpeg -i an incoming file upload ? [closed]

    29 août 2020, par David542

    I'm not sure if this is more a JavaScript question or ffmpeg, but suppose I have a scenario where a user is uploading a 100GB file. And, before they upload it (or actually, as soon as we detect the first few frames or whatever), we want to make sure that it is a "valid" file — let's say for this question we want to verify that it is :

    


      

    • 29.97 fps
    • 


    • Video bitrate > X
    • 


    • Codec of com.apple.finalcutstudio.prores
    • 


    


    What would be the best way to do this ? I was thinking something like :

    


      

    1. A user clicks the upload button and selects their file.
    2. 


    3. We upload the first 1MB of that file to our server — check that using ffmpeg (how to ignore errors or something with ffmpeg ?)
    4. 


    5. If the file passes our initial checks we upload the entire video file. If not, we raise a warning to the end user and stop the upload.
    6. 


    


    How could this process be done ? I am seeking a JavaScript snippet (JS Fiddle ?) and a backend snippet (to receive the partial input and issue the ffmpeg commands).

    


  • avformat/ftp: use correct enum type

    20 août 2015, par Ganesh Ajjanagadde
    avformat/ftp: use correct enum type
    

    Fixes -Wenum-conversion from
    http://fate.ffmpeg.org/report.cgi?time=20150820031140&slot=arm64-darwin-clang-apple-5.1

    Signed-off-by : Ganesh Ajjanagadde <gajjanagadde@gmail.com>
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavformat/ftp.c
  • Search For Specific Values Result in Python

    5 mai 2020, par jamlot

    I am attempting to write a Python script that looks for black video and silent audio in a file, and returns only the time instances when they occur.

    &#xA;&#xA;

    I have the following code working using the ffmpeg-python wrapper, but I can't figure out an efficient way to parse the stdout or stderror to return only the instances of black_start, black_end, black_duration, silence_start, silence_end, silence_duration.

    &#xA;&#xA;

    Putting ffmpeg aside for those who are not experts, how can I use re.findall or similar to define the regex to return only the above values ?

    &#xA;&#xA;

    import ffmpeg &#xA;&#xA;input = ffmpeg.input(source)&#xA;video = input.video.filter(&#x27;blackdetect&#x27;, d=0, pix_th=0.00)&#xA;audio = input.audio.filter(&#x27;silencedetect&#x27;, d=0.1, n=&#x27;-60dB&#x27;)&#xA;out = ffmpeg.output(audio, video, &#x27;out.null&#x27;, format=&#x27;null&#x27;)&#xA;run = out.run_async(pipe_stdout=True, pipe_stderr=True)&#xA;result = run.communicate()&#xA;&#xA;print(result)&#xA;

    &#xA;&#xA;

    This results in the ffmpeg output, which contains the results I need. Here is the output (edited for brevity) :

    &#xA;&#xA;

    (b&#x27;&#x27;, b"ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers&#xA;  built with Apple clang version 11.0.0 (clang-1100.0.33.17)&#xA;  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.2_3 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags=-fno-stack-check --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack&#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;  libavresample   4.  0.  0 /  4.  0.  0&#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;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;/Users/otoolej/Documents/_lab/source/black-silence-detect/AUUV71900381_test.mov&#x27;:&#xA;  Metadata:&#xA;    major_brand     : qt  &#xA;    minor_version   : 537199360&#xA;    compatible_brands: qt  &#xA;    creation_time   : 2019-11-14T04:12:49.000000Z&#xA;  Duration: 00:03:50.28, start: 0.000000, bitrate: 185168 kb/s&#xA;    Stream #0:0(eng): Video: prores (HQ) (apch / 0x68637061), yuv422p10le(tv, bt709, progressive), 1920x1080, 183596 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 25 tbn, 25 tbc (default)&#xA;    Metadata:&#xA;      creation_time   : 2019-11-14T04:12:49.000000Z&#xA;      handler_name    : Apple Video Media Handler&#xA;      encoder         : Apple ProRes 422 (HQ)&#xA;      timecode        : 00:00:00:00&#xA;    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)&#xA;    Metadata:&#xA;      creation_time   : 2019-11-14T04:12:49.000000Z&#xA;      handler_name    : Apple Sound Media Handler&#xA;      timecode        : 00:00:00:00&#xA;    Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default)&#xA;    Metadata:&#xA;      creation_time   : 2019-11-14T04:12:49.000000Z&#xA;      handler_name    : Time Code Media Handler&#xA;      timecode        : 00:00:00:00&#xA;Only &#x27;-vf blackdetect=d=0:pix_th=0.00&#x27; read, ignoring remaining -vf options: Use &#x27;,&#x27; to separate filters&#xA;Only &#x27;-af silencedetect=d=0.1:n=-60dB&#x27; read, ignoring remaining -af options: Use &#x27;,&#x27; to separate filters&#xA;Stream mapping:&#xA;  Stream #0:0 -> #0:0 (prores (native) -> wrapped_avframe (native))&#xA;  Stream #0:1 -> #0:1 (pcm_s16le (native) -> pcm_s16le (native))&#xA;Press [q] to stop, [?] for help&#xA;Output #0, null, to &#x27;pipe:&#x27;:&#xA;  Metadata:&#xA;    major_brand     : qt  &#xA;    minor_version   : 537199360&#xA;    compatible_brands: qt  &#xA;    encoder         : Lavf58.29.100&#xA;    Stream #0:0(eng): Video: wrapped_avframe, yuv422p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc (default)&#xA;    Metadata:&#xA;      creation_time   : 2019-11-14T04:12:49.000000Z&#xA;      handler_name    : Apple Video Media Handler&#xA;      timecode        : 00:00:00:00&#xA;      encoder         : Lavc58.54.100 wrapped_avframe&#xA;    Stream #0:1(eng): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s (default)&#xA;    Metadata:&#xA;      creation_time   : 2019-11-14T04:12:49.000000Z&#xA;      handler_name    : Apple Sound Media Handler&#xA;      timecode        : 00:00:00:00&#xA;      encoder         : Lavc58.54.100 pcm_s16le&#xA;[silencedetect @ 0x7fdd82d011c0] silence_start: 0&#xA;frame=  112 fps=0.0 q=-0.0 size=N/A time=00:00:05.00 bitrate=N/A speed=9.96x    &#xA;[blackdetect @ 0x7fdd82e06580] black_start:0 black_end:5 black_duration:5&#xA;[silencedetect @ 0x7fdd82d011c0] silence_end: 5.06285 | silence_duration: 5.06285&#xA;frame=  211 fps=210 q=-0.0 size=N/A time=00:00:09.00 bitrate=N/A speed=8.97x    &#xA;frame=  319 fps=212 q=-0.0 size=N/A time=00:00:13.00 bitrate=N/A speed=8.63x    &#xA;frame=  427 fps=213 q=-0.0 size=N/A time=00:00:17.08 bitrate=N/A speed=8.51x    &#xA;frame=  537 fps=214 q=-0.0 size=N/A time=00:00:22.00 bitrate=N/A speed=8.77x    &#xA;frame=  650 fps=216 q=-0.0 size=N/A time=00:00:26.00 bitrate=N/A speed=8.63x    &#xA;frame=  761 fps=217 q=-0.0 size=N/A time=00:00:31.00 bitrate=N/A speed=8.82x    &#xA;frame=  874 fps=218 q=-0.0 size=N/A time=00:00:35.00 bitrate=N/A speed=8.71x    &#xA;frame=  980 fps=217 q=-0.0 size=N/A time=00:00:39.20 bitrate=N/A speed=8.67x    &#xA;...  &#xA;frame= 5680 fps=213 q=-0.0 size=N/A time=00:03:47.20 bitrate=N/A speed=8.53x    &#xA;[silencedetect @ 0x7fdd82d011c0] silence_start: 227.733&#xA;[silencedetect @ 0x7fdd82d011c0] silence_end: 229.051 | silence_duration: 1.3184&#xA;[silencedetect @ 0x7fdd82d011c0] silence_start: 229.051&#xA;[blackdetect @ 0x7fdd82e06580] black_start:229.28 black_end:230.24 black_duration:0.96&#xA;frame= 5757 fps=214 q=-0.0 Lsize=N/A time=00:03:50.28 bitrate=N/A speed=8.54x    &#xA;video:3013kB audio:43178kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown&#xA;[silencedetect @ 0x7fdd82d011c0] silence_end: 230.28 | silence_duration: 1.22856&#xA;\n")&#xA;

    &#xA;&#xA;

    What is the most efficient way to parse the output data to find/return only those result values so I can build further logic from them in my code ? In this case, I would want only the following values returned :

    &#xA;&#xA;

    silence_start : 0
    &#xA;silence_end : 5.06285
    &#xA;silence_duration : 5.06285

    &#xA;&#xA;

    black_start:0
    &#xA;black_end:5
    &#xA;black_duration:5

    &#xA;&#xA;

    silence_start : 227.733
    &#xA;silence_end : 229.051
    &#xA;silence_duration : 1.3184

    &#xA;&#xA;

    black_start:229.28
    &#xA;black_end:230.24
    &#xA;black_duration:0.96

    &#xA;&#xA;

    silence_start : 229.051
    &#xA;silence_end : 230.28
    &#xA;silence_duration : 1.22856

    &#xA;&#xA;

    I think there is a way to get only those values using ffprobe, but I couldn't get that to work within the wrapper method. Possible I would have to run ffprobe as a subprocess and parse that result somehow. That would be a total re-do though.

    &#xA;