
Recherche avancée
Autres articles (83)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 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, parMediaSPIP 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 2013Jolie 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 (14468)
-
How to display multiple rtmp streams from Gryphon nginx ?
22 août 2018, par LoukMoCONTEXT :
-I received a rtsp stream link from an onvif ip camera.
-The camera can only host 5 streaming connection at a time (I want/need more connections).
-I’ve been informed that a combination of ffmpeg (to convert the rtsp stream to rtmp) and nginx (to redistribute as many streams as I want) would do what I want.
-I’m on Windows 10.
-I downloaded ffmpeg from this source and nginx from this source (nginx 1.7.11.3 Gryphon.zip).
-Here’s the conf file of the nginx server :
user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
}
}
}-I’m using this command to push my camera’s stream to the nginx server :
ffmpeg -hide_banner -i "rtsp://user:password123@192.168.10.116:554/videoMain" -an -f flv -rtmp_live live "rtmp://127.0.0.1:1935/live"
-I can then see the output stream using vlc’s open network stream tool (rtmp ://127.0.0.1:1935/live)
QUESTION :
Is there a way to have multiple input/outout streams at the same time ?
I want to have multiple cameras redirected at the same time by one server...
-
Catching ffmpeg stream in C# interrupts after a few seconds
15 septembre 2017, par ChrisI want to catch an ip-cam stream with ffmpeg in c# and send it with asp.net mvc web api to a client.
As a client I use also ffmpeg to test the api call.In my api controller I call the ffmpeg.exe with the proper arguments.
string argumentString = $"-i rtsp://{_user}:{_password}@{_ipAddress}/12 -nostdin -vcodec copy -f h264 pipe:1";
ProcessStartInfo startinfo = new ProcessStartInfo(HostingEnvironment.MapPath("~/App_Data/ffmpeg.exe"), argumentString);As you can see I am ignoring the standard input (
-nostdin
) and use the standard output to output the data (pipe:1
).But the client is always closing the connection after a few seconds (12-14).
Here the error message on the server (ASP.NET) :
And here the error message on the client (ffmpeg)
I tried several ways to catch the ip-cam stream.
Via the event
OutputDataReceived
:public HttpResponseMessage Get()
{
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new PushStreamContent((stream, content, context) =>
{
Process ffmpeg = new Process();
string argumentString = $"-i rtsp://{_user}:{_password}@{_ipAddress}/12 -nostdin -vcodec copy -f h264 pipe:1";
ProcessStartInfo startinfo = new ProcessStartInfo(HostingEnvironment.MapPath("~/App_Data/ffmpeg.exe"), argumentString);
startinfo.RedirectStandardError = true;
startinfo.RedirectStandardOutput = true;
startinfo.RedirectStandardInput = true;
startinfo.UseShellExecute = false;
startinfo.CreateNoWindow = true;
ffmpeg.StartInfo = startinfo;
ffmpeg.ErrorDataReceived += (s, e) =>
{
Debug.WriteLine(e.Data);
};
StreamWriter writer = new StreamWriter(stream);
ffmpeg.OutputDataReceived += (s, e) =>
{
writer.Write(e.Data);
};
ffmpeg.Start();
ffmpeg.BeginOutputReadLine();
ffmpeg.BeginErrorReadLine();
ffmpeg.WaitForExit();
}, new MediaTypeHeaderValue("video/mp4")),
};
return result;
}I also tried to do it without a StreamWriter, with every possible Encoding :
ffmpeg.OutputDataReceived += (s, e) =>
{
byte[] toBytes = Encoding.BigEndianUnicode.GetBytes(e.Data);
stream.Write(toBytes, 0, toBytes.Length);
stream.Flush();
};Via the underlying stream from StandardOutput :
public HttpResponseMessage Get()
{
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new PushStreamContent((stream, content, context) =>
{
Process ffmpeg = new Process();
string argumentString = $"-i rtsp://{_user}:{_password}@{_ipAddress}/12 -nostdin -vcodec copy -f h264 pipe:1";
ProcessStartInfo startinfo = new ProcessStartInfo(HostingEnvironment.MapPath("~/App_Data/ffmpeg.exe"), argumentString);
startinfo.RedirectStandardError = true;
startinfo.RedirectStandardOutput = true;
startinfo.RedirectStandardInput = true;
startinfo.UseShellExecute = false;
startinfo.CreateNoWindow = true;
ffmpeg.StartInfo = startinfo;
ffmpeg.Start();
byte[] buffer = new byte[512];
int length = 0;
while ((length = ffmpeg.StandardOutput.BaseStream.Read(buffer, 0, buffer.Length)) > 0)
{
stream.Write(buffer, 0, length);
stream.Flush();
}
}, new MediaTypeHeaderValue("video/mp4")),
};
return result;
}But the result is always the same.
When I do not send the data to the client it is working fine :
public HttpResponseMessage Get()
{
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new PushStreamContent((stream, content, context) =>
{
Process ffmpeg = new Process();
string argumentString = $"-i rtsp://{_user}:{_password}@{_ipAddress}/12 -nostdin -vcodec copy -f h264 pipe:1";
ProcessStartInfo startinfo = new ProcessStartInfo(HostingEnvironment.MapPath("~/App_Data/ffmpeg.exe"), argumentString);
startinfo.RedirectStandardError = true;
startinfo.RedirectStandardOutput = true;
startinfo.RedirectStandardInput = true;
startinfo.UseShellExecute = false;
startinfo.CreateNoWindow = true;
ffmpeg.StartInfo = startinfo;
ffmpeg.Start();
byte[] buffer = new byte[512];
int length = 0;
while ((length = ffmpeg.StandardOutput.BaseStream.Read(buffer, 0, buffer.Length)) > 0)
{
//stream.Write(buffer, 0, length);
//stream.Flush();
}
}, new MediaTypeHeaderValue("video/mp4")),
};
return result;
}So what is wrong with my code ?
-
Generate VTT pixel flat image with coordinates
27 novembre 2022, par Alex MalinI have a question.


I want to know if they have any options to create webVTT horizontal images with FFmpeg
like an attached image tack one pixel/two every second and create one horizontal image with coordinates.


Thank you.




WEBVTT 



00:00.000 —> 00:08.000
/assets/thumbnails-01.jpg#xywh=0,0,160,90


00:09.000 —> 00:16.000
/assets/thumbnails-01.jpg#xywh=160,0,320,90