
Recherche avancée
Médias (3)
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
Autres articles (38)
-
MediaSPIP Core : La Configuration
9 novembre 2010, parMediaSPIP 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, parLe 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, parL’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 Pitoisethttp: 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 -
POST 500 Error (BrokenPipeError) when launching Video Stream
2 décembre 2015, par CharlieI’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()