Recherche avancée

Médias (0)

Mot : - Tags -/metadatas

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (107)

  • Organiser par catégorie

    17 mai 2013, par

    Dans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
    Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
    Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...)

  • Récupération d’informations sur le site maître à l’installation d’une instance

    26 novembre 2010, par

    Utilité
    Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
    Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...)

  • 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 (12598)

  • bebop2 modified CV build version of program creates SIGSEGV on raspberry pi 3

    14 mai 2017, par angRyn00b

    I am trying to navigate bebop2 autonomously using raspberry pi 3. I am getting the raw format from bebop2 and decoding it using ffmpeg. It runs completely fine on intel architecture. I tried to cross compile it for arm and it was successful. It runs fine but after a few seconds it crashes and gives SIGSEGV fault. I have tried gdb to bt the problem but it gives an error of memcpy() from /usr/lib/arm-linux-gnuaebihf/libarmmem.so.

    I tried to remove the non-arm instructions dependencies in the first place ; https://raspberrypi.stackexchange.com/questions/29117/process-terminate-with-sigill-using-valgrind/66621#66621

    But then I got an error of memcpy.S no such file or directory.

    I don’t know what to do and I am stuck now.

    [EDIT:1]

    valgrind output :

    valgrind ./Controller
    ==1361== Memcheck, a memory error detector
    ==1361== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
    ==1361== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
    ==1361== Command: ./Controller
    ==1361==
    ./Controller
    ==1361== Invalid read of size 8
    ==1361==    at 0x4845004: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
    ==1361==  Address 0xd1cc50c is 12 bytes inside a block of size 18 alloc'd
    ==1361==    at 0x4833970: malloc (vg_replace_malloc.c:263)
    ==1361==    by 0xAFC77B3: ??? (in /usr/lib/arm-linux-gnueabihf/libtasn1.so.6.3.2)
    ==1361==
    ==1361== Invalid read of size 4
    ==1361==    at 0x4845030: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
    ==1361==  Address 0xd1cc72c is 20 bytes inside a block of size 22 alloc'd
    ==1361==    at 0x4833970: malloc (vg_replace_malloc.c:263)
    ==1361==    by 0xAFC77B3: ??? (in /usr/lib/arm-linux-gnueabihf/libtasn1.so.6.3.2)
    ==1361==
    ==1361== Invalid read of size 8
    ==1361==    at 0x484501C: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
    ==1361==  Address 0xd1ccf9c is 20 bytes inside a block of size 26 alloc'd
    ==1361==    at 0x4833970: malloc (vg_replace_malloc.c:263)
    ==1361==    by 0xAFC77B3: ??? (in /usr/lib/arm-linux-gnueabihf/libtasn1.so.6.3.2)
    ==1361==
    ==1361== Invalid read of size 8
    ==1361==    at 0x4844FEC: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
    ==1361==  Address 0xd1d59ac is 28 bytes inside a block of size 34 alloc'd
    ==1361==    at 0x4833970: malloc (vg_replace_malloc.c:263)
    ==1361==    by 0xAFC77B3: ??? (in /usr/lib/arm-linux-gnueabihf/libtasn1.so.6.3.2)
    ==1361==
    ==1361== Invalid read of size 8
    ==1361==    at 0x4844F8C: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
    ==1361==  Address 0xd1e7a24 is 20 bytes inside a block of size 26 alloc'd
    ==1361==    at 0x4833970: malloc (vg_replace_malloc.c:263)
    ==1361==    by 0xAFC77B3: ??? (in /usr/lib/arm-linux-gnueabihf/libtasn1.so.6.3.2)
    ==1361==
    disInstr(arm): unhandled instruction: 0xEE190F1D
                    cond=14(0xE) 27:20=225(0xE1) 4:4=1 3:0=13(0xD)
    ==1361== valgrind: Unrecognised instruction at address 0xcc78de8.
    ==1361==    at 0xCC78DE8: ??? (in /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.0)
    ==1361== Your program just tried to execute an instruction that Valgrind
    ==1361== did not recognise.  There are two possible reasons for this.
    ==1361== 1. Your program has a bug and erroneously jumped to a non-code
    ==1361==    location.  If you are running Memcheck and you just saw a
    ==1361==    warning about a bad jump, it's probably your program's fault.
    ==1361== 2. The instruction is legitimate but Valgrind doesn't handle it,
    ==1361==    i.e. it's Valgrind's fault.  If you think this is the case or
    ==1361==    you are not sure, please let us know and we'll try to fix it.
    ==1361== Either way, Valgrind will now raise a SIGILL signal which will
    ==1361== probably kill your program.
    ==1361== Invalid read of size 4
    ==1361==    at 0x4844BB8: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
    ==1361==  Address 0xd1eb788 is 48 bytes inside a block of size 50 alloc'd
    ==1361==    at 0x4833F2C: operator new(unsigned int) (vg_replace_malloc.c:282)
    ==1361==    by 0x77EC9E7: std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&amp;) (in /usr/lib/arm-linux-gnueabihf/libstdc++.so.6.0.20)
    ==1361==
    ==1361== Invalid read of size 4
    ==1361==    at 0x4844FA0: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
    ==1361==  Address 0xd1eb7f0 is 48 bytes inside a block of size 50 alloc'd
    ==1361==    at 0x4833F2C: operator new(unsigned int) (vg_replace_malloc.c:282)
    ==1361==    by 0x77EC9E7: std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&amp;) (in /usr/lib/arm-linux-gnueabihf/libstdc++.so.6.0.20)
    ==1361==
    disInstr(arm): unhandled instruction: 0xF1010200
                    cond=15(0xF) 27:20=16(0x10) 4:4=0 3:0=0(0x0)
    ==1361== valgrind: Unrecognised instruction at address 0x48426f4.
    ==1361==    at 0x48426F4: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
    ==1361== Your program just tried to execute an instruction that Valgrind
    ==1361== did not recognise.  There are two possible reasons for this.
    ==1361== 1. Your program has a bug and erroneously jumped to a non-code
    ==1361==    location.  If you are running Memcheck and you just saw a
    ==1361==    warning about a bad jump, it's probably your program's fault.
    ==1361== 2. The instruction is legitimate but Valgrind doesn't handle it,
    ==1361==    i.e. it's Valgrind's fault.  If you think this is the case or
    ==1361==    you are not sure, please let us know and we'll try to fix it.
    ==1361== Either way, Valgrind will now raise a SIGILL signal which will
    ==1361== probably kill your program.
    ==1361==
    ==1361== Process terminating with default action of signal 4 (SIGILL)
    ==1361==  Illegal opcode at address 0x48426F4
    ==1361==    at 0x48426F4: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
    ==1361==
    ==1361== HEAP SUMMARY:
    ==1361==     in use at exit: 541,641 bytes in 1,173 blocks
    ==1361==   total heap usage: 1,980 allocs, 807 frees, 571,016 bytes allocated
    ==1361==
    ==1361== LEAK SUMMARY:
    ==1361==    definitely lost: 0 bytes in 0 blocks
    ==1361==    indirectly lost: 0 bytes in 0 blocks
    ==1361==      possibly lost: 410,404 bytes in 190 blocks
    ==1361==    still reachable: 131,237 bytes in 983 blocks
    ==1361==         suppressed: 0 bytes in 0 blocks
    ==1361== Rerun with --leak-check=full to see details of leaked memory
    ==1361==
    ==1361== For counts of detected and suppressed errors, rerun with: -v
    ==1361== ERROR SUMMARY: 24 errors from 7 contexts (suppressed: 0 from 0)
    Illegal instruction
    </char></char>

    bt output :

    (gdb) bt
    #0 0x76fbc3a0 in memcmp () from /usr/lib/arm-linux-gnueabihf/libarmmem.so
    #1 0x00000000 in ?? ()

    disassemble output (0x76fbc3a0) :

    => 0x76fbc3a0 &lt;+7344>:  vldmiacs    r1!, {d7}

    x/5i $pc output :

    (gdb) x/5i $pc
    => 0x76fbc3a0 :    vldmiacs    r1!, {d7}
      0x76fbc3a4 :    vstmiami    r0!, {s13}
      0x76fbc3a8 :    vstmiacs    r0!, {d7}
      0x76fbc3ac :    lsls    lr, r12, #27
      0x76fbc3b0 :    vldmiami    r1!, {d2-d3}
  • record video from website using puppeteer + ffmpeg

    8 novembre 2020, par rudolfninja

    I'm trying to record video from website using the way similar to puppeteer-recorder, but I want to stop recording by myself and then save it to file (after I stopped it). I wrote simple web service for this purpose :

    &#xA;

    var express = require(&#x27;express&#x27;);&#xA;var app = express();&#xA;const { spawn } = require(&#x27;child_process&#x27;);&#xA;const puppeteer = require(&#x27;puppeteer&#x27;);&#xA;var record = true;&#xA;&#xA;&#xA;app.get(&#x27;/startRecord&#x27;, function (req, res)&#xA;{&#xA;const frun_record = async () => {&#xA;    console.log("Start recording");&#xA;    const browser = await puppeteer.launch();&#xA;    const page = await browser.newPage();&#xA;    await page.goto(&#x27;http://worldfoodclock.com/&#x27;, { waitUntil: &#x27;networkidle2&#x27; });&#xA;    var ffmpegPath = &#x27;ffmpeg&#x27;;&#xA;    var fps = 60;&#xA;&#xA;    var outFile = &#x27;E:\\Code\\video-record\\output.webm&#x27;;&#xA;&#xA;    const args = ffmpegArgs(fps);&#xA;&#xA;    args.push(outFile);&#xA;&#xA;    const ffmpeg = spawn(ffmpegPath, args);&#xA;&#xA;    const closed = new Promise((resolve, reject) => {&#xA;        ffmpeg.on(&#x27;error&#x27;, reject);&#xA;        ffmpeg.on(&#x27;close&#x27;, resolve);&#xA;    });&#xA;&#xA;    console.log("Entering loop");&#xA;&#xA;    while (record) {&#xA;        let screenshot = await page.screenshot({ omitBackground: true });&#xA;        await write(ffmpeg.stdin, screenshot);&#xA;    }&#xA;    ffmpeg.stdin.end();&#xA;    console.log("Recording stopped");&#xA;    await closed;&#xA;};&#xA;frun_record();&#xA;res.end( "starting recording" );&#xA;})&#xA;&#xA;app.get(&#x27;/stopRecord&#x27;, function (req, res) {&#xA; record = false;&#xA; res.end( "stopped" );&#xA;})&#xA;&#xA;const ffmpegArgs = fps => [&#xA;  &#x27;-y&#x27;,&#xA;  &#x27;-f&#x27;,&#xA;  &#x27;image2pipe&#x27;,&#xA;  &#x27;-r&#x27;,&#xA;  `${&#x2B;fps}`,&#xA;  &#x27;-i&#x27;,&#xA;  &#x27;-&#x27;,&#xA;  &#x27;-c:v&#x27;,&#xA;  &#x27;libvpx&#x27;,&#xA;  &#x27;-auto-alt-ref&#x27;,&#xA;  &#x27;0&#x27;,&#xA;  &#x27;-pix_fmt&#x27;,&#xA;  &#x27;yuva420p&#x27;,&#xA;  &#x27;-metadata:s:v:0&#x27;,&#xA;  &#x27;alpha_mode="1"&#x27;&#xA;];&#xA;&#xA;const write = (stream, buffer) =>&#xA;    new Promise((resolve, reject) => {&#xA;        stream.write(buffer, error => {&#xA;            if (error) reject(error);&#xA;            else resolve();&#xA;        });&#xA;    });&#xA;&#xA;var server = app.listen(8081, function () {&#xA;var host = server.address().address&#xA;var port = server.address().port&#xA;console.log("Example app listening at http://%s:%s", host, port)&#xA;})&#xA;

    &#xA;

    But it always record only 1 second video, looks like stream is just overwritten. I tried just save screenshots on disk and it was more than 1 second of video.&#xA;So the main question is how to put all the screenshots into the stream and then save it on disk ? And another thing I'd like to know is what the frequency of taking screenshots from web page ?

    &#xA;

  • Merge commit ’3f1f6053013d0015e9f115a91a11744807649a07’

    3 octobre 2015, par Hendrik Leppkes
    Merge commit ’3f1f6053013d0015e9f115a91a11744807649a07’
    

    * commit ’3f1f6053013d0015e9f115a91a11744807649a07’ :
    configure : address a copy-paste typo

    Merged-by : Hendrik Leppkes <h.leppkes@gmail.com>