Recherche avancée

Médias (1)

Mot : - Tags -/iphone

Autres articles (63)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • List of compatible distributions

    26 avril 2011, par

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

Sur d’autres sites (10767)

  • atrac3 : fix error handling

    9 juillet 2013, par Luca Barbato
    atrac3 : fix error handling
    

    decode_tonal_components returns a proper AVERROR.

    Reported-by : Mateusz "j00ru" Jurczyk and Gynvael Coldwind
    Signed-off-by : Michael Niedermayer <michaelni@gmx.at>

    • [DH] libavcodec/atrac3.c
  • 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;

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