
Recherche avancée
Autres articles (91)
-
Le plugin : Gestion de la mutualisation
2 mars 2010, parLe plugin de Gestion de mutualisation permet de gérer les différents canaux de mediaspip depuis un site maître. Il a pour but de fournir une solution pure SPIP afin de remplacer cette ancienne solution.
Installation basique
On installe les fichiers de SPIP sur le serveur.
On ajoute ensuite le plugin "mutualisation" à la racine du site comme décrit ici.
On customise le fichier mes_options.php central comme on le souhaite. Voilà pour l’exemple celui de la plateforme mediaspip.net :
< ?php (...) -
Configuration spécifique d’Apache
4 février 2011, parModules spécifiques
Pour la configuration d’Apache, il est conseillé d’activer certains modules non spécifiques à MediaSPIP, mais permettant d’améliorer les performances : mod_deflate et mod_headers pour compresser automatiquement via Apache les pages. Cf ce tutoriel ; mode_expires pour gérer correctement l’expiration des hits. Cf ce tutoriel ;
Il est également conseillé d’ajouter la prise en charge par apache du mime-type pour les fichiers WebM comme indiqué dans ce tutoriel.
Création d’un (...) -
Création définitive du canal
12 mars 2010, parLorsque votre demande est validée, vous pouvez alors procéder à la création proprement dite du canal. Chaque canal est un site à part entière placé sous votre responsabilité. Les administrateurs de la plateforme n’y ont aucun accès.
A la validation, vous recevez un email vous invitant donc à créer votre canal.
Pour ce faire il vous suffit de vous rendre à son adresse, dans notre exemple "http://votre_sous_domaine.mediaspip.net".
A ce moment là un mot de passe vous est demandé, il vous suffit d’y (...)
Sur d’autres sites (2384)
-
Http server live streaming in python
8 juillet 2015, par George SubiI want to send the live output of ffmpeg command to every GET request, but I’m novice in python and can’t solve it. This is my code :
import subprocess # for piping
from http.server import HTTPServer, BaseHTTPRequestHandler
class RequestHandler(BaseHTTPRequestHandler):
def _writeheaders(self):
self.send_response(200) # 200 OK http response
self.send_header('Connection', 'keep-alive')
self.send_header('Content-Type', 'video/mp4')
self.send_header('Accept-Ranges', 'bytes')
self.end_headers()
def do_GET(self):
self._writeheaders()
global p
DataChunkSize = 10000
print("starting polling loop.")
while(p.poll() is None):
print("looping... ")
stdoutdata = p.stdout.read(DataChunkSize)
self.wfile.write(stdoutdata)
print("Done Looping")
print("dumping last data, if any")
stdoutdata = p.stdout.read(DataChunkSize)
self.wfile.write(stdoutdata)
if __name__ == '__main__':
command = 'ffmpeg -re -i video.avi -an -vcodec libx264 -vb 448k -f mp4 -movflags dash -'
print("running command: %s" % (command, ))
p = subprocess.Popen(command, stdout=subprocess.PIPE, bufsize=-1, shell=True)
print("Server in port 8080...")
serveraddr = ('', 8080) # connect to port 8080
srvr = HTTPServer(serveraddr, RequestHandler)
srvr.serve_forever()This is a prove of concept with a video.avi but the real application is with a live signal video.
When connect to html5 video tag, play the video well, but when open another connection then play the video from the begining and not from the live moment. Also, when close the web, the server print an error :
BrokenPipeError: [Errno 32] Broken pipe
Yes, the pipe is broken when cut the connection is obvious. I think that maybe do it with pipes is not correct, but I don’t know how to do it.
The goal is to run only one ffmpeg command and the output send to every client connected or will do it. Anybody can help me please ?
-
lavf/httpauth : Do case-insensitive http header checks.
3 septembre 2016, par Carl Eugen Hoyos -
avformat/dashenc : Support HTTP Persistent for master.m3u8 as well
18 octobre 2018, par kjeyapal@akamai.com