Recherche avancée

Médias (1)

Mot : - Tags -/net art

Autres articles (71)

  • 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

  • Contribute to a better visual interface

    13 avril 2011

    MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
    Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.

Sur d’autres sites (5930)

  • avcodec/vp9 : fix leaked cbs fragment AVBufferRef

    10 août, par Leo Izen
    avcodec/vp9 : fix leaked cbs fragment AVBufferRef
    

    When this function returns, the fragment is never reset, so
    current_frag->data_ref is never unref-ed, which ends up leaking it.
    We call ff_cbs_fragment_reset to release the reference on its buffer.

    Signed-off-by : Leo Izen <leo.izen@gmail.com>

    • [DH] libavcodec/vp9.c
  • Record video with Xvfb + FFmpeg using Selenium in headless mode

    12 mars 2024, par ifdef14

    I am trying to record video using Selenium in headless mode. I am using Xvfb and FFmpeg bindings for Python. I've already tried :

    &#xA;

    import subprocess&#xA;import threading&#xA;import time&#xA;&#xA;from chromedriver_py import binary_path&#xA;from selenium import webdriver&#xA;from selenium.webdriver.chrome.service import Service&#xA;from xvfbwrapper import Xvfb&#xA;&#xA;&#xA;def record_video(xvfb_width, xvfb_height, xvfb_screen_num):&#xA;    subprocess.call(&#xA;        [&#xA;            &#x27;ffmpeg&#x27;,&#xA;            &#x27;-f&#x27;,&#xA;            &#x27;x11grab&#x27;,&#xA;            &#x27;-video_size&#x27;,&#xA;            f&#x27;{xvfb_width}x{xvfb_height}&#x27;,&#xA;            &#x27;-i&#x27;,&#xA;            xvfb_screen_num,&#xA;            &#x27;-codec:v&#x27;,&#xA;            &#x27;libx264&#x27;,&#xA;            &#x27;-r&#x27;,&#xA;            &#x27;12&#x27;,&#xA;            &#x27;videos/video.mp4&#x27;,&#xA;        ]&#xA;    )&#xA;&#xA;&#xA;with Xvfb() as xvfb:&#xA;    &#x27;&#x27;&#x27;&#xA;    xvfb.xvfb_cmd[1]) returns scren num&#xA;    :217295622&#xA;    :319294854&#xA;    :&#xA;    &#x27;&#x27;&#x27;&#xA;    xvfb_width, xvfb_height, xvfb_screen_num = xvfb.width, xvfb.height, xvfb.xvfb_cmd[1]&#xA;    thread = threading.Thread(target=record_video, args=(xvfb_width, xvfb_height, xvfb_screen_num))&#xA;    thread.start()&#xA;    opts = webdriver.ChromeOptions()&#xA;    opts.add_argument(&#x27;--headless&#x27;)&#xA;    try:&#xA;        driver = webdriver.Chrome(service=Service(executable_path=binary_path), options=opts)&#xA;    finally:&#xA;        driver.close()&#xA;        driver.quit()&#xA;&#xA;

    &#xA;

    As much as I understand xvfb.xvfb_cmd[1] returns an information about virtual display isn't it ? When I executed this script, I got the error message :

    &#xA;

    [x11grab @ 0x5e039cfe2280] Failed to query xcb pointer0.00 bitrate=N/A speed=N/A    &#xA;:1379911620: Generic error in an external library&#xA;

    &#xA;

    I also tried to use the following commands :

    &#xA;

    xvfb-run --listen-tcp --server-num 1 --auth-file /tmp/xvfb.auth -s "-ac -screen 0 1920x1080x24" python main.py &amp;

    &#xA;

    ffmpeg -f x11grab -video_size 1920x1080 -i :1 -codec:v libx264 -r 12 videos/video.mp4

    &#xA;

    In the commands above, there are used xvfb-run --server-num 1 and ffmpeg -i :1, why ?

    &#xA;

    Overall, when Selenium is running in the headless mode what's going on behind the scenes ? Is it using virtual display ? If yes, how can I detect display id of this, etc. Am I on the right path ?

    &#xA;

    I am not using Docker or any kind of virtualization. All kind of tests are running on my local Ubuntu machine.

    &#xA;

  • RTSP stream to ffmpeg problems

    14 octobre 2022, par maeek

    I'm writing a web application for managing and viewing streams from ONVIF ip-cameras.
    &#xA;It's written in nodejs. The idea is to run a child process in node and pipe output to node, then send the buffer to client and render it on canvas. I have a working solution for sending data to client and rendering it on canvas using websockets but it only works on one of my cameras.

    &#xA;

    I own 2 IP cameras and both of them have rtsp server.
    &#xA;One of them(let's name it camX) kind of works with this ffmpeg command (sometimes it just stops, maybe due to packet losses) :

    &#xA;

    ffmpeg -rtsp_transport tcp -re -i  -f mjpeg pipe:1&#xA;

    &#xA;

    But the other one(camY) returns Nonmatching transport in server reply and exits.

    &#xA;

    I discovered that the camY transport is unicast but ffmpeg doesn't support this particular lower_transport as I read on ffmpeg forum.

    &#xA;

    So I started looking for a solution. My first idea was to use openRTSP which works fine with both streams.&#xA;I looked at the documentation and came up with this command :
    &#xA;openRTSP -4 -c  | ffmpeg -re -i pipe:0 -f mjpeg pipe:1
    &#xA;-4 parameter returns stream to pipe in mp4 format
    &#xA;And here's another problem I ran into, ffmpeg returns :

    &#xA;

    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x559a4b6ba900] moov atom not found  &#xA;pipe:0: Invalid data found when processing input&#xA;

    &#xA;

    Is there any way to make this work ?&#xA;I tried various solutions I found, but none of them worked.

    &#xA;

    EDIT

    &#xA;

    As @Gyan suggested I used -i parameter instead of -4 but it didn't solve my problem.

    &#xA;

    My command :

    &#xA;

    openRTSP -V -i -c -K  | ffmpeg -loglevel debug -re -i pipe:0 -f mjpeg pipe:1&#xA;  &#xA;Created receiver for "video/H264" subsession (client ports 49072-49073)&#xA;Setup "video/H264" subsession (client ports 49072-49073)&#xA;AVIFileSink::setWord(): SeekFile64 failed (err 29)&#xA;AVIFileSink::setWord(): SeekFile64 failed (err 29)&#xA;AVIFileSink::setWord(): SeekFile64 failed (err 29)&#xA;AVIFileSink::setWord(): SeekFile64 failed (err 29)&#xA;AVIFileSink::setWord(): SeekFile64 failed (err 29)&#xA;AVIFileSink::setWord(): SeekFile64 failed (err 29)&#xA;AVIFileSink::setWord(): SeekFile64 failed (err 29)&#xA;AVIFileSink::setWord(): SeekFile64 failed (err 29)&#xA;AVIFileSink::setWord(): SeekFile64 failed (err 29)&#xA;Outputting to the file: "stdout"&#xA;[avi @ 0x5612944268c0] Format avi probed with size=2048 and score=100&#xA;[avi @ 0x56129442f7a0] use odml:1&#xA;Started playing session&#xA;Receiving streamed data (signal with "kill -HUP 15028" or "kill -USR1 15028" to terminate)...&#xA;^C&#xA;[AVIOContext @ 0x56129442f640] Statistics: 16904 bytes read, 0 seeks&#xA;pipe:0: Invalid data found when processing input&#xA;

    &#xA;

    As you can see openRTSP command return err 29 but in meantime it outputs some data to pipe.
    &#xA;When I terminate the command ffmpeg shows that it read some data but couldn't process it.

    &#xA;

    Here's the function that produces that error :

    &#xA;

    void AVIFileSink::setWord(unsigned filePosn, unsigned size) {&#xA;  do {&#xA;    if (SeekFile64(fOutFid, filePosn, SEEK_SET) &lt; 0) break;&#xA;    addWord(size);&#xA;    if (SeekFile64(fOutFid, 0, SEEK_END) &lt; 0) break; // go back to where we were&#xA;&#xA;    return;&#xA;  } while (0);&#xA;&#xA;  // One of the SeekFile64()s failed, probable because we&#x27;re not a seekable file&#xA;  envir() &lt;&lt; "AVIFileSink::setWord(): SeekFile64 failed (err "&#xA;          &lt;&lt; envir().getErrno() &lt;&lt; ")\n";&#xA;}&#xA;

    &#xA;

    In my opinion it looks like it won't be able to seek file because it's a stream not a static file.
    &#xA;Any suggestion for a workaround ?

    &#xA;