Recherche avancée

Médias (91)

Autres articles (37)

  • Soumettre améliorations et plugins supplémentaires

    10 avril 2011

    Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
    Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...)

  • Emballe Médias : Mettre en ligne simplement des documents

    29 octobre 2010, par

    Le plugin emballe médias a été développé principalement pour la distribution mediaSPIP mais est également utilisé dans d’autres projets proches comme géodiversité par exemple. Plugins nécessaires et compatibles
    Pour fonctionner ce plugin nécessite que d’autres plugins soient installés : CFG Saisies SPIP Bonux Diogène swfupload jqueryui
    D’autres plugins peuvent être utilisés en complément afin d’améliorer ses capacités : Ancres douces Légendes photo_infos spipmotion (...)

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

Sur d’autres sites (2410)

  • Error while linking shared library FFMpegJNI to android project

    5 mars 2024, par Dari V

    I have built an ffmpeg module for all the architectures, but when I try to build project to run it on emulator (x86 architecture) i get an error, indicating that the files for x86 architecture are incompatible with elf_i386. The same is for other architectures, i get the error that the files are incompatible. What can i do in this case ?

    


    [2/2] Linking CXX shared library E:\android_studio_projects\projects\IPTVPlayer\app\build\intermediates\cxx\Debug\1h3dp6s4\obj\x86\libffmpegJNI.so
FAILED: E:/android_studio_projects/projects/IPTVPlayer/app/build/intermediates/cxx/Debug/1h3dp6s4/obj/x86/libffmpegJNI.so 
cmd.exe /C "cd . && C:\Users\volos\AppData\Local\Android\Sdk\ndk\25.1.8937393\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=i686-none-linux-android30 --sysroot=C:/Users/volos/AppData/Local/Android/Sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security   -fno-limit-debug-info  -static-libstdc++ -Wl,--build-id=sha1 -Wl,--fatal-warnings -Wl,--gc-sections -Wl,--no-undefined -Qunused-arguments -shared -Wl,-soname,libffmpegJNI.so -o E:\android_studio_projects\projects\IPTVPlayer\app\build\intermediates\cxx\Debug\1h3dp6s4\obj\x86\libffmpegJNI.so CMakeFiles/ffmpegJNI.dir/E_/media3/media-release/libraries/decoder_ffmpeg/src/main/jni/ffmpeg_jni.cc.o  -landroid  E:/media3/media-release/libraries/decoder_ffmpeg/src/main/jni/ffmpeg/android-libs/x86/libswresample.a  E:/media3/media-release/libraries/decoder_ffmpeg/src/main/jni/ffmpeg/android-libs/x86/libavcodec.a  E:/media3/media-release/libraries/decoder_ffmpeg/src/main/jni/ffmpeg/android-libs/x86/libavutil.a  C:/Users/volos/AppData/Local/Android/Sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/lib/i686-linux-android/30/liblog.so  -latomic -lm && cd ."
ld: error: E:/media3/media-release/libraries/decoder_ffmpeg/src/main/jni/ffmpeg/android-libs/x86/libavcodec.a(mpegaudiotabs.o) is incompatible with elf_i386


    


  • can't re-stream using FFMPEG to MP4 HTML5 video

    12 mars 2016, par deandob

    I have been struggling to get live streaming working from FFMPEG for many hours so raising the white flag and asking for help here.

    My scenario is I have an IP security camera that I can successfully connect via RTSP (h.264) and save the video as file segments, and they play back fine either through a standalone app like VLC or via a node.js web server app that sends the ’video/mp4’ & keep-alive header and streams the mp4 files previously saved by FFMPEG to a HTML5 video client.

    However I want to take the same RTSP stream and re-stream it live to a HTML5 client. I know the HTML5 client bits and the FFMPEG remuxing to MP4 work as the MP4 recording/streaming works.

    I have tried the following :

    1) Set the output as a HTTP string. I don’t think FFMPEG supports this as I get ’input/output error’ and the FFMPEG documentation talks about another app called FFSERVER which isn’t supported on Windows

    ffmpeg -i rtsp://admin:12345@192.168.1.234:554 -vcodec copy -f mp4 -movflags frag_keyframe+empty_moov http://127.0.0.1:8888

    2) As ffmpeg runs as a spawn in node.js, I have tried piping the STDOUT to a node http server, using the same header I use for the recording playback stream. I can view this stream in VLC which is a good sign but I can’t get the HTML client to recognize the stream and it shows blank, or occasionally a static image of the stream.

    var liveServer = http.createServer(liveStream);
    var liveStream = function (req, resp) {                                            // handle each client request by instantiating a new FFMPEG instance
       resp.writeHead(200, {"Content-Type": "video/mp4", "Connection": "keep-alive"});
           var xffmpeg = child_process.spawn("ffmpeg", [
               "-i", "rtsp://admin:12345@192.168.1.234:554" , "-vcodec", "copy", "-f", "mp4", "-movflags", "frag_keyframe+empty_moov", "-"   // output to stdout
               ],  {detached: false});

               xffmpeg.stdout.pipe(resp);

               xffmpeg.on("exit", function (code) {
                    console.log("Xffmpeg terminated with code " + code);
               });

               xffmpeg.on("error", function (e) {
                     console.log("Xsystem error: " + e);
               });

               xffmpeg.stdout.on("data",function(data) {
                     console.log('Xdata rcv ' + data);
               });

               xffmpeg.stderr.on("data", function (data) {
                     console.log("XFFMPEG -> " + data);
       }
    }

    I have tried both IE11 and Chrome HTML5 clients.

    I suspect there is something not quite right with the format of the stream being sent which stops the HTML5 video client but not enough to stop VLC. The irritating thing is that the code above works just fine for playing back MP4 streams that have been recorded.

    Any ideas how to get live re-streaming via FFMPEG working ? Thanks.

  • Getting ffmpeg to capture the full screen of xfvb-run screen running puppeteer script, and send it over rtmp

    30 janvier, par james

    My problem

    


    I can't get ffmpeg or xvfb-run to stream the full screen to ffplay/videolan, it only captures a part of the screen.

    


    Update 2

    


    I answered the question myself in a follow up answer, hopefully it can be useful for someone else with the same problem.

    


    Update 1

    


    So the problem is definitely with xvfb-run, since the two following commands, still give a webm file, that only show parts of the screen

    


    ffmpeg -f x11grab -i :99 -g 50 -b:v 4000k -maxrate 4000k -bufsize 8000k -f webm -s 384x216 "blank.webm"

    


    xvfb-run -n 99 -a --server-args="-screen 0 1024x8000x24 -ac -nolisten tcp -dpi 96 +extension RANDR" "node index.js"

    


    What I've tried

    


      

    • I've tried changing ffmpeg command and xvfb-run, for example adding "-vf format=yuv420p" or "-filter:v "crop=iw-400:ih-40,scale=960:720" to ffmpeg command
    • 


    • I've tried to show other applications under xvfb-run instead of puppeteer (chrome..)
    • 


    • Recording screen with ffmpeg and saving it to a file, to see if there's a problem with the rtmp stream
    • 


    


    But still no luck. That's why I'm reaching out to the stackoverflow community.

    


    xvfb-run command

    


    xvfb-run -n 99 -a --server-args="-screen 0 1024x8000x24 -ac -nolisten tcp -dpi 96 +extension RANDR" "node index.js"

    


    ffmpeg command to capture xvfb-run virtual screen

    


    ffmpeg -f x11grab -i :99 -f pulse -i default -c:v libx264 -c:a aac  -g 50 -b:v 4000k -maxrate 4000k -bufsize 8000k -f flv -listen 1 rtmp://localhost:4444/stream

    


    And finally to show the rtmp stream

    


    ffplay -fflags -nobuffer -flags low_delay -probesize 32 -flags low_delay -analyzeduration 0 -i rtmp://localhost:4444/stream

    


    The puppeteer script (index.js) which xfvb-runs

    


    

import puppeteer from 'puppeteer';
let initPuppeteer = async () => {
  const launchArgs = [
    //'--window-size=1280,1024',
    '--disable-web-security',
    '--disable-features=IsolateOrigins',
    '--disable-site-isolation-trials',
    '--app',
    '--kiosk',
  ]
  await puppeteer.launch({headless: false, ignoreDefaultArgs: ["--enable-automation"], args: launchArgs});
  const page = await this.browser.newPage();
  const device = puppeteer.devices['Nexus 10'];
  await page.emulate(device);
  await page.goto("https://google.com");
}
initPuppeteer()