Recherche avancée

Médias (1)

Mot : - Tags -/copyleft

Autres articles (63)

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

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

Sur d’autres sites (11417)

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

    


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

    


    ffmpeg -rtsp_transport tcp -re -i  -f mjpeg pipe:1


    


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

    


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

    


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

    


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


    


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

    


    EDIT

    


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

    


    My command :

    


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


    


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

    


    Here's the function that produces that error :

    


    void AVIFileSink::setWord(unsigned filePosn, unsigned size) {
  do {
    if (SeekFile64(fOutFid, filePosn, SEEK_SET) < 0) break;
    addWord(size);
    if (SeekFile64(fOutFid, 0, SEEK_END) < 0) break; // go back to where we were

    return;
  } while (0);

  // One of the SeekFile64()s failed, probable because we're not a seekable file
  envir() << "AVIFileSink::setWord(): SeekFile64 failed (err "
          << envir().getErrno() << ")\n";
}


    


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

    


  • 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
  • How to retrieve FFMPEG (called from OpenCV) Python decoding error

    15 décembre 2020, par user9784065

    While trying to read a video stream form an IP camera using :

    &#xA;&#xA;

    stream = cv2.VideoCapture(src)&#xA;(grabbed, frame) = stream.read()&#xA;

    &#xA;&#xA;

    The grabbed returns True while sometimes the frames are corrupted (probably due to high CPU load). An internal Opencv error like the following is showing on the terminal :

    &#xA;&#xA;

    [h264 @ 0x25e99400] error while decoding MB 87 29, bytestream -5&#xA;

    &#xA;&#xA;

    Is there a way to catch this error ? Please note that I tried the obvious try:except with cv2.error etc. In such case of corrupted frame it would be preferable to restart the connection to the camera.

    &#xA;