
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (96)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (13209)
-
Automator Service to Run Bash Script to Convert Video
1er mars 2017, par mike varelaI’m having the hardest time understanding variables in automator. In essence, I’m attempting to right click on a file and perform a bash script that I write. The issue I have is the bash script takes an input filename and output filename and ideally I want them to be the same, except for the output to be appended with something to indicate it’s converted.
I’m using FFMBC (a derivative of FFMPEG)
my script is
ffmbc -i input.mov -vcodec prores -profile proxy -pix_fmt yuv422p10le -acodec pcm_s24le output.mov
I’d like to change the output.mov to filename-proxy.mov
So frustrated at the moment.
-
Repeating video frame sequences without iterating each frame
4 juillet 2015, par Raheel KhanI have an application that generates a video from a given number of files. A total frame count and sequence is provided and the generated video should loop the given sequence until the total number of frames have been written.
At the moment, I’m using
FFMPEG.VideoFileWriter
fromAForge
.var frameIndex = 0;
var frameCount = 300;
var writer = new AForge.Video.FFMPEG.VideoFileWriter();
writer.Open(filename: "Video.mp4", width: 10000, height: 10000, fps: 30, code: VideoCodec.MPEG4, bitrate: 1024 * 1024 * 2);
using (var imageCanvas = new Bitmap(width, height))
{
do
{
foreach (var file in this._Files)
{
frameIndex++;
if (frameIndex > frameCount) { break; }
using (var graphicsCanvas = Graphics.FromImage(imageCanvas))
{
graphicsCanvas.Clear(Color.Black);
using (var imageFile = Image.FromFile(file.FullName))
{
graphicsCanvas.DrawImage(imageFile, 0, 0, imageCanvas.Width, imageCanvas.Height);
}
}
writer.WriteVideoFrame(imageCanvas);
}
}
while (true);
}the bottlenecks are :
- The call to
writer.WriteVideoFrame(imageCanvas)
. - The source images in question are massive (more than 10Kx10K 32bpp) so keeping them all in memory is not an option.
The only thing I can think of is to create an uncompressed AVI file and somehow copy entire sequences in bulk. although transcoding back to MP4 would still take a while, it may same some overall.
Any general optimization suggestions or clues on how to write multiple frames at once would be appreciated.
- The call to
-
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 ?