Recherche avancée

Médias (3)

Mot : - Tags -/plugin

Autres articles (38)

  • MediaSPIP Core : La Configuration

    9 novembre 2010, par

    MediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
    Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...)

  • Qualité du média après traitement

    21 juin 2013, par

    Le bon réglage du logiciel qui traite les média est important pour un équilibre entre les partis ( bande passante de l’hébergeur, qualité du média pour le rédacteur et le visiteur, accessibilité pour le visiteur ). Comment régler la qualité de son média ?
    Plus la qualité du média est importante, plus la bande passante sera utilisée. Le visiteur avec une connexion internet à petit débit devra attendre plus longtemps. Inversement plus, la qualité du média est pauvre et donc le média devient dégradé voire (...)

  • Installation en mode standalone

    4 février 2011, par

    L’installation de la distribution MediaSPIP se fait en plusieurs étapes : la récupération des fichiers nécessaires. À ce moment là deux méthodes sont possibles : en installant l’archive ZIP contenant l’ensemble de la distribution ; via SVN en récupérant les sources de chaque modules séparément ; la préconfiguration ; l’installation définitive ;
    [mediaspip_zip]Installation de l’archive ZIP de MediaSPIP
    Ce mode d’installation est la méthode la plus simple afin d’installer l’ensemble de la distribution (...)

Sur d’autres sites (6240)

  • http: Add ’post_data’, a new option which sets custom HTTP post data

    30 mai 2012, par Samuel Pitoiset

    http: Add ’post_data’, a new option which sets custom HTTP post data

  • Changelog : move post 2.2 branching entries out of the 2.2 changelog

    16 mars 2014, par Michael Niedermayer
    Changelog : move post 2.2 branching entries out of the 2.2 changelog
    

    Signed-off-by : Michael Niedermayer <michaelni@gmx.at>

    • [DH] Changelog
  • POST 500 Error (BrokenPipeError) when launching Video Stream

    2 décembre 2015, par Charlie

    I’m using Python 3.4.1, nodejs and a Python server to stream video to my browser.

    • The list of videos to play is stored in JSON.
    • I launch the Python server & the nodejs server.

      > node server.js
      Listening for MPEG Stream on http://serverIP:port1
      Awaiting WebSocket connections on ws://serverIP:port2/

    My Python method streams the video using port1, then in the browser I use a jsmpg canvas connected to port2.

       var client = new WebSocket( 'ws://serverIP:port2/' );

    All this works fine in local.

    But when using it on the server, we get a POST 500 (Internal Server Error).
    In shell, the error is :

    pipes[0].stdin.write(Video_editor.clip_final.get_frame(intervals[i][1] + float(t)/thefps).tostring())
    BrokenPipeError: [Errno 32] Broken pipe
    • Both ports are open.
    • The distribution & ffmpeg versions are the same, on my machine & on the server.

    I’ve found similar questions here, but none fitting my configuration. My code is as below. Thanks in advance :)

    def stream_video(self, address):

       #We create one pipe and one command per sequence. Then, for
       #each interval of time out of a composition, we run the basic
       #streaming. Otherwise, we run the corresponding streaming
       fp = open("log_stream.txt", "w") # just log purpose
       ff_cmds = [ffmpeg.FFmpeg_command_builder().get_main_command(address, Video_editor.clip_final)]
       pipes = [sp.Popen(ff_cmds[-1], stdout = DEVNULL, stdin=sp.PIPE, stderr=fp)]
       intervals = [[False, 0]]

       for val in Video_editor.ffmpeg_compositions:
           ff_cmds.append(ffmpeg.FFmpeg_command_builder().get_overlay_command(address, Video_editor.clip_final, val[0], val[2], val[3], val[4], val[5]))
           pipes.append(sp.Popen(ff_cmds[-1], stdout = DEVNULL, stdin=sp.PIPE, stderr=fp))

           intervals.append([True, val[1]])
           intervals.append([False, val[1] + val[2]])

       intervals.append([False, Video_editor.clip_final.end])

       i = 0
       n = 0
       for i in range(len(intervals) - 1):
           print("Interval", intervals[i], intervals[i+1])
           if intervals[i][0]:
               n += 1

           for t in range(int(Video_editor.clip_final.fps*(intervals[i+1][1] - intervals[i][1]))):
               if intervals[i][0]:                                  
                   pipes[n].stdin.write(Video_editor.clip_final.get_frame(intervals[i][1] + float(t)/Video_editor.clip_final.fps).tostring())
               else:
                   pipes[0].stdin.write(Video_editor.clip_final.get_frame(intervals[i][1] + float(t)/Video_editor.clip_final.fps).tostring())

       for pipe in pipes:
           pipe.terminate()