Recherche avancée

Médias (1)

Mot : - Tags -/portrait

Autres articles (111)

  • Script d’installation automatique de MediaSPIP

    25 avril 2011, par

    Afin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
    Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
    La documentation de l’utilisation du script d’installation (...)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

Sur d’autres sites (6232)

  • Gstreamer convert and display video v4l2 - tee problems in rust

    27 mars 2023, par d3im

    I have USB grabber v4l2 source and I want to tee stream to autovideosink and x264enc to file (now as fake black hole)

    


    When I disable one or another branch it works but together Pipeline goes :

    


    Pipeline state changed from Null to Ready
Pipeline state changed from Ready to Paused


    


    and stays there never switches to Playing

    


    gst-launch-1.0 with similar functionality works well.

    


        gst::Element::link_many(&[&pw_video, &v_caps, &vid_queuey, &vid_tee]).unwrap();
    gst::Element::link_many(&[&vid_queue1, &autovideoconvert, &vid_queuex, &autovideosink]).unwrap();
    gst::Element::link_many(&[&vid_queue2, &autovideoconvert_x264, &vid_queue3, &x264, &vid_queue4, &fake]).unwrap();

    let tee_display_pad = vid_tee.request_pad_simple("src_10").unwrap();
    let vid_queue1_pad = vid_queue1.static_pad("sink").unwrap();

    tee_display_pad.link(&vid_queue1_pad).unwrap();

    let tee_convert_pad = vid_tee.request_pad_simple("src_20").unwrap();
    let vid_queue2_pad = vid_queue2.static_pad("sink").unwrap();

    tee_convert_pad.link(&vid_queue2_pad).unwrap();


    


    How can I use tee in rust properly to have playable pipeline with two branches ?

    


    Update : I read some posts about increasing queue size, so I tried for this and then all queues :

    


        let vid_queue1 = gst::ElementFactory::make("queue")
        .name("queue1")
        .property("max-size-buffers", 5000 as u32)
        .property("max-size-bytes", 1048576000 as u32)
        .property("max-size-time", 60000000000 as u64)
        .build()
        .expect("queue1");


    


    but it didn't help so I tried set zero latency :

    


        let x264 = gst::ElementFactory::make("x264enc")
        .name("x264")
        .property_from_str("speed-preset", "ultrafast")
        .property_from_str("pass", "qual")
        .property_from_str("tune", "zerolatency")
        .property("quantizer", 0 as u32)
        .property("threads", 8 as u32)
        .build()
        .expect("!x264");


    


    and it works now. But comparable gst-launch-1.0 settings didn't had such option - only queues sizes increased.

    


    Is there any other option than setting zerolatency ?

    


  • Parse dynamic mpd file with Media Source Extensions

    17 février 2023, par FrankC

    I just started learning about adaptive streaming, and currently I'm working on a project that needs showing a live video. In order to control some of the elements in mpd file, I determined to use MSE instead of dash.js. I refer to the code at the following URL :https://learn.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/samples/dn551368(v=vs.85)
But I found out that there is no "Initialization" tag or "range" attribute in my mpd file. I don't find any relative attribute as well. By the way I'm use nginx-rtmp + ffmpeg to generate dash file.
So here is my dash file looks like

    


    &lt;?xml version="1.0"?>&#xA; &#xA;  <period start="PT0S">&#xA;    &#xA;      &#xA;        &#xA;          <segmenttimeline>&#xA;             <s t="0" d="10000"></s>&#xA;             <s t="10000" d="10000"></s>&#xA;             <s t="20000" d="5000"></s>&#xA;             <s t="25000" d="10000"></s>&#xA;          </segmenttimeline>&#xA;        &#xA;      &#xA;    &#xA;  </period>&#xA;&#xA;

    &#xA;

    My question is :&#xA;1.Did I have any missing parameters in using ffmpeg or nginx-rtmp resulting in losting tag in mpd file ?&#xA;2.Or there is other way to setup "Initialization"/"range" attribute and let my program work ?&#xA;3.I also curious about why my mpd file doesn't have a baseURL element ?

    &#xA;

    ※My mpd file works fine with dash.js, I can see the video properly

    &#xA;

    THANKS A LOT

    &#xA;

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

    &#xA;

    My Python Code is :

    &#xA;

    import os&#xA;import subprocess&#xA;&#xA;from flask import Flask, render_template&#xA;&#xA;app = Flask(__name__)&#xA;&#xA;@app.route(&#x27;/&#x27;)&#xA;def index():&#xA;    return render_template(&#x27;index.html&#x27;)&#xA;&#xA;if __name__ == &#x27;__main__&#x27;:&#xA;    # Start the RTMP server in a separate process&#xA;    subprocess.Popen([&#x27;ffmpeg&#x27;, &#x27;-f&#x27;, &#x27;gdigrab&#x27;, &#x27;-framerate&#x27;, &#x27;25&#x27;, &#x27;-probesize&#x27;, &#x27;100000000000&#x27;, &#x27;-i&#x27;, &#x27;desktop&#x27;, &#x27;-vcodec&#x27;, &#x27;libx264&#x27;, &#x27;-preset&#x27;, &#x27;ultrafast&#x27;, &#x27;-tune&#x27;, &#x27;zerolatency&#x27;, &#x27;-f&#x27;, &#x27;flv&#x27;, &#x27;rtmp://localhost:5000/live/stream_name&#x27;])&#xA;&#xA;    # Start the Flask app&#xA;    app.run()&#xA;&#xA;

    &#xA;

    My HTML code is :

    &#xA;

    &#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;