Recherche avancée

Médias (91)

Autres articles (63)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • 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

Sur d’autres sites (10545)

  • Video concatenation using ffmpeg. Output video length is longer than inputs length

    28 décembre 2022, par Rostyslav Mosorov

    I have a problem with video mp4 concatenation using ffmpeg. I have two the same videos and I want to concatenate them. I created file inputs.txt and then used command :

    


    ffmpeg  -f concat -i inputs.txt -c copy mergedVideo.mp4

    


    Output :

    


    ffmpeg  -f concat -i inputs.txt -c copy mergedVideo.mp4
ffmpeg version 5.0.1 Copyright (c) 2000-2022 the FFmpeg developers
  built with clang version 12.0.1
  configuration: --prefix=/Users/runner/miniforge3/conda-bld/ffmpeg_1649114094397/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl --cc=arm64-apple-darwin20.0.0-clang --disable-doc --disable-openssl --enable-demuxer=dash --enable-gnutls --enable-gpl --enable-hardcoded-tables --enable-libfreetype --enable-libopenh264 --enable-neon --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvtav1 --enable-libxml2 --enable-libvpx --enable-pic --enable-pthreads --enable-shared --disable-static --enable-version3 --enable-zlib --enable-libmp3lame --pkg-config=/Users/runner/miniforge3/conda-bld/ffmpeg_1649114094397/_build_env/bin/pkg-config --enable-cross-compile --arch=arm64 --target-os=darwin --cross-prefix=arm64-apple-darwin20.0.0- --host-cc=/Users/runner/miniforge3/conda-bld/ffmpeg_1649114094397/_build_env/bin/x86_64-apple-darwin13.4.0-clang
  libavutil      57. 17.100 / 57. 17.100
  libavcodec     59. 18.100 / 59. 18.100
  libavformat    59. 16.100 / 59. 16.100
  libavdevice    59.  4.100 / 59.  4.100
  libavfilter     8. 24.100 /  8. 24.100
  libswscale      6.  4.100 /  6.  4.100
  libswresample   4.  3.100 /  4.  3.100
  libpostproc    56.  3.100 / 56.  3.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1561044a0] Auto-inserting h264_mp4toannexb bitstream filter
Input #0, concat, from 'inputs.txt':
  Duration: N/A, start: -0.064000, bitrate: 1424 kb/s
  Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 1355 kb/s, 50 fps, 50 tbr, 12800 tbn
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
  Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 16000 Hz, mono, fltp, 68 kb/s
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
File 'mergedVideo.mp4' already exists. Overwrite? [y/N] y
Output #0, mp4, to 'mergedVideo.mp4':
  Metadata:
    encoder         : Lavf59.16.100
  Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 1355 kb/s, 50 fps, 50 tbr, 12800 tbn
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
  Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 16000 Hz, mono, fltp, 68 kb/s
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=-1.0 size=       0kB time=00:00:00.06 bitrate=   6.0k[mov,mp4,m4a,3gp,3g2,mj2 @ 0x154f28b20] Auto-inserting h264_mp4toannexb bitstream filter
frame=  166 fps=0.0 q=-1.0 Lsize=     583kB time=00:00:03.39 bitrate=1407.4kbits/s speed= 179x    
video:550kB audio:29kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.737394%


    


    Unfortunately the result is different then I expected :
    
movies comparison

    


    The output is longer than the length of two inputs. Any thoughts ?

    


    Also I tried using different commands :

    


    ffmpeg  -f concat -i inputs.txt -c copy mergedVideo.mp4


    


    or set the framerate :

    


    ffmpeg -r 50 -f concat -i inputs.txt -c copy mergedVideo.mp4


    


    What is also weird that I have the same problem when using moviepy library.

    


    from moviepy.editor import VideoFileClip, concatenate_videoclips
videos = [VideoFileClip("0.mp4"), VideoFileClip("0.mp4")]
concatenate_videoclips(videos).write_videofile('mergedVideo.mp4')


    


    Update
ffprobe command for output file

    


    ffprobe -v error -select_streams v -show_entries stream=codec_name,time_base,start_pts,start_time,duration -of default=noprint_wrappers=1 mergedVideo.mp4 
codec_name=h264
time_base=1/12800
start_pts=0
start_time=0.000000
duration=3.380000


    


    For input :

    


    ffprobe -v error -select_streams v -show_entries stream=codec_name,time_base,start_pts,start_time,duration -of default=noprint_wrappers=1 0.mp4          
codec_name=h264
time_base=1/12800
start_pts=0
start_time=0.000000
duration=1.660000


    


    The duration supposed to be 2*1.66 = 3.32 and but it's 3.38.

    


    Content of the inputs.txt

    


    file '0.mp4'
file '0.mp4'


    


  • I want to record my computer screen and stream it to other computer browser over same network

    25 décembre 2022, par Abdullah Qasim

    I am using Flask for this purpose. I wanted to create a rtmp server that stream the screen in web browser.

    


    My Python Code is :

    


    import os
import subprocess

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

if __name__ == '__main__':
    # Start the RTMP server in a separate process
    subprocess.Popen(['ffmpeg', '-f', 'gdigrab', '-framerate', '25', '-probesize', '100000000000', '-i', 'desktop', '-vcodec', 'libx264', '-preset', 'ultrafast', '-tune', 'zerolatency', '-f', 'flv', 'rtmp://localhost:5000/live/stream_name'])

    # Start the Flask app
    app.run()



    


    My HTML code is :

    


    &#xA;  &#xA;    &#xA;    &#xA;    <code class="echappe-js">&lt;script src=&quot;https://unpkg.com/video.js/dist/video.js&quot;&gt;&lt;/script&gt;&#xA;  &#xA;  &#xA;    &#xA;    &lt;script&gt;&amp;#xA;      var player = videojs(&amp;#x27;my-video&amp;#x27;);&amp;#xA;    &lt;/script&gt;&#xA;  &#xA;&#xA;&#xA;

    &#xA;

    When I run the flask app it produces an error :

    &#xA;

    * Serving Flask app &#x27;server&#x27; (lazy loading)&#xA; * Environment: production&#xA;   WARNING: This is a development server. Do not use it in a production deployment.&#xA;   Use a production WSGI server instead.&#xA; * Debug mode: off&#xA;ffmpeg version N-109449-gb92260f70a-20221223 Copyright (c) 2000-2022 the FFmpeg developers&#xA;  built with gcc 12.2.0 (crosstool-NG 1.25.0.90_cf9beb1)&#xA;  configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --disable-libmfx --enable-libvpl --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --disable-vaapi --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20221223&#xA;  libavutil      57. 43.100 / 57. 43.100&#xA;  libavcodec     59. 55.103 / 59. 55.103&#xA;  libavformat    59. 34.102 / 59. 34.102&#xA;  libavdevice    59.  8.101 / 59.  8.101&#xA;  libavfilter     8. 53.100 /  8. 53.100&#xA;  libswscale      6.  8.112 /  6.  8.112&#xA;  libswresample   4.  9.100 /  4.  9.100&#xA;  libpostproc    56.  7.100 / 56.  7.100&#xA; * Running on http://127.0.0.1:5000/ (Press CTRL&#x2B;C to quit)&#xA;[gdigrab @ 00000134692d9cc0] Capturing whole desktop as 1280x1024x32 at (0,0)&#xA;Input #0, gdigrab, from &#x27;desktop&#x27;:&#xA;  Duration: N/A, start: 1671986678.012939, bitrate: 1048586 kb/s&#xA;  Stream #0:0: Video: bmp, bgra, 1280x1024, 1048586 kb/s, 25 fps, 25.08 tbr, 1000k tbn&#xA;127.0.0.1 - - [25/Dec/2022 21:44:39] code 400, message Bad request version (&#x27;&#xFB;\x9be&#xF9;S&#xD8;H&#xE3;Eie&#xD0;&#xD7;kbz\x84&#xE3;^\x9d&#xDA;&#xBD;\x8bC&#xF0;&#xFA;&#xDA;&#xEE;E\x8c&#xDF;Y&#xEB;&#xD7;s\x92.&#x27;)&#xA;127.0.0.1 - - [25/Dec/2022 21:44:39] "♥ |☻&#xF7;xU▲&#xCE;&#xAB;▲6/&#xC5;p&#xB2;f&#xD4;☻ a↑&#xA2;.6&#xD5;&#xFC;&#x2B;c)&#xC2;.&#xE7;&#xC7;&#xC9;&#xB0;&#xB5;&#xB3;E&#xDF;&#xA8;9&#xEA;;&#xC8;y ►hBZ&#xA1;↨L&#xB5;rX&#xCF;&#xEB;&#xE2;M&#xA4;.&#xC4;&#xFF;{@o↑&#xC9;[&#xFD;&#xD0;N&#xE4;o2&#xB6;&#xA4;{&#xF6;&#xB0;RT&#xE2;Z&#xE9;&#xA9;&#xA8;&#xB4;&#xC5;Ion&#xD7;&#xC6;&#xB6;&#xBC;&#xC8;Ai&#xE6;>7/&#xFE;↑m&#xA8;Q8b&#xC5;&#xAF;&#xDE;&#xB5;&#xA1;!w&#xE2;&#xD9;&#xE2;&#xC4;t&#xB1;&#xF5;&#xA7;&#xF0;&#xB2; &#xAE;&#xA;      &#xB7;&#xD7;&#xAB;2&#xF9;&#xF0;T&#xAB;{                   &#xFD;?&#xF2;&#xB8;&#xF6;$&#xAC;p&#xF2;p&#xF3;w4&#xEA;&#xF1;Of&#xAC;=d&#xE2;2♣D&#xA4;B                            &#xA4;↓▲&#xF4;m&lt;&#xB7;-/"C&#xD1;u*A&amp;2&#xD6;j u&#xF5;&#xD3;☻&#xF4;\&#xDF;&#x2B;&#xC5;&#xA7;&#xAB;&#xF8;↑1☺&#xCE;&#xA6;&#xFA;&#xEC;\y&#xAA;~&#xC7;↑▲&#xA4;Y&#xED;n&#xA;e&#xEE;&#xD4;ioP&#xFE;♣&#xFC; M&#xC3;&#xAD;▲^&#xF4;&#xFC;d&#xD5;{∟&#xB6;&#xB6;jE▼j♦1V&#xD2;YW&#xD7;▼&#xA9;&#xC0;&#xF1;_K|&#xF7;&#xB6;&#xC3;}&#xA6;  ↑a↔;☻&#xFF;|&#xC9;@8u7&#xD3;8.Ak&#xD5;uwM&#xF9;&#xCA;&#xF7;H5!P&#xCE;&#xD0;&#xDB;&#xB4;▼&#xC3;d&#xE1;~5i&#xE3;&#xA;▬e&#xA;&#xFB;&#xF9;S&#xD8;H&#xE3;Eie&#xD0;&#xD7;kbz&#xA;              &#xE3;^C&#xF0;&#xFA;&#xDA;&#xEE;E&#xDF;Y&#xEB;&#xD7;s." 400 -&#xA;[rtmp @ 000001346ae35180] Cannot read RTMP handshake response&#xA;rtmp://localhost:5000/live/stream_name: End of file&#xA;

    &#xA;

    I have searched on internet to fix this error but did not got any help.

    &#xA;

  • ffmpeg with delayed inputs put an extra audio output at 0 seconds

    19 mars 2023, par Ralph

    Can someone explain why the input files are played 4 times in total, at 0, 1, 2, 3 seconds.

    &#xA;

      &#xA;
    1. The ffmpeg processes three input files (mp3).
    2. &#xA;

    3. The complex filter delays the inputs by 1, 2, 3 seconds input-wise.
    4. &#xA;

    5. amix mixes the delayed outputs together.
    6. &#xA;

    7. And finally, a coded transforms it into an output mp3.
    8. &#xA;

    &#xA;

    ffmpeg -i in0.mp3 -i in1.mp3 -i in2.mp3 -filter_complex "[0]adelay=1000[delayed1];[1]adelay=2000[delayed2];[2]adelay=3000[delayed3];[delayed1][delayed2][delayed3]amix=inputs=3:duration=longest" -codec:a libmp3lame -q:a 4 output.mp3&#xA;

    &#xA;

    short version : 2 delayed beeps, an finally there come 3 beeps out (@ 0, 1, 2 seconds) :

    &#xA;

    ffmpeg -i beep.mp3 -filter_complex "[0]adelay=1000[delayed1];[0]adelay=2000[delayed2];[delayed1][delayed2]amix=inputs=2:duration=longest" -codec:a libmp3lame -q:a 4 output.mp3&#xA;

    &#xA;

    ffmpeg version N-110011-gf456c192d9-tessus on a Mac M1.

    &#xA;

    I added also a silent input file from 0 to 1 seconds without any alteration of the outcome.&#xA;I added a silent stream as input as well without improvement. E.g. :

    &#xA;

    ... -filter_complex "aevalsrc=0:d=4[silence];...&#xA;

    &#xA;

    Another test with another ffmpeg version 5.1 Copyright (c) 2000-2022 the FFmpeg developers built with Apple clang version 13.1.6 (clang-1316.0.21.2.5) :&#xA;ffmpeg -i beep.mp3 -filter_complex "[0]adelay=1000[delayed1];aevalsrc=0:d=5[silence];[silence][delayed1]amix=inputs=2:duration=longest" -codec:a libmp3lame -q:a 4 output.mp3&#xA;There are again 2 beeps, at 0 and 1 second - going mad here !

    &#xA;

    (concat solves the issue. But I want to have a flexible solution with possibly overlapping audio streams.) Thanks for giving a hint !

    &#xA;