
Recherche avancée
Autres articles (39)
-
Librairies et logiciels spécifiques aux médias
10 décembre 2010, parPour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel ; FFMpeg avec le maximum de décodeurs et (...) -
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...) -
Installation en mode ferme
4 février 2011, parLe mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
C’est la méthode que nous utilisons sur cette même plateforme.
L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)
Sur d’autres sites (7040)
-
Video Conferencing in HTML5 : WebRTC via Web Sockets
14 juin 2012, par silviaA bit over a week ago I gave a presentation at Web Directions Code 2012 in Melbourne. Maxine and John asked me to speak about something related to HTML5 video, so I went for the new shiny : WebRTC – real-time communication in the browser.
I only had 20 min, so I had to make it tight. I wanted to show off video conferencing without special plugins in Google Chrome in just a few lines of code, as is the promise of WebRTC. To a large extent, I achieved this. But I made some interesting discoveries along the way. Demos are in the slide deck.
UPDATE : Opera 12 has been released with WebRTC support.
Housekeeping : if you want to replicate what I have done, you need to install a Google Chrome Web Browser 19+. Then make sure you go to chrome ://flags and activate the MediaStream and PeerConnection experiment(s). Restart your browser and now you can experiment with this feature. Big warning up-front : it’s not production-ready, since there are still changes happening to the spec and there is no compatible implementation by another browser yet.
Here is a brief summary of the steps involved to set up video conferencing in your browser :
- Set up a video element each for the local and the remote video stream.
- Grab the local camera and stream it to the first video element.
- (*) Establish a connection to another person running the same Web page.
- Send the local camera stream on that peer connection.
- Accept the remote camera stream into the second video element.
Now, the most difficult part of all of this – believe it or not – is the signalling part that is required to build the peer connection (marked with (*)). Initially I wanted to run completely without a server and just enter the remote’s IP address to establish the connection. This is, however, not a functionality that the PeerConnection object provides [might this be something to add to the spec ?].
So, you need a server known to both parties that can provide for the handshake to set up the connection. All the examples that I have seen, such as https://apprtc.appspot.com/, use a channel management server on Google’s appengine. I wanted it all working with HTML5 technology, so I decided to use a Web Socket server instead.
I implemented my Web Socket server using node.js (code of websocket server). The video conferencing demo is in the slide deck in an iframe – you can also use the stand-alone html page. Works like a treat.
While it is still using Google’s STUN server to get through NAT, the messaging for setting up the connection is running completely through the Web Socket server. The messages that get exchanged are plain SDP message packets with a session ID. There are OFFER, ANSWER, and OK packets exchanged for each streaming direction. You can see some of it in the below image :
I’m not running a public WebSocket server, so you won’t be able to see this part of the presentation working. But the local loopback video should work.
At the conference, it all went without a hitch (while the wireless played along). I believe you have to host the WebSocket server on the same machine as the Web page, otherwise it won’t work for security reasons.
A whole new world of opportunities lies out there when we get the ability to set up video conferencing on every Web page – scary and exciting at the same time !
-
ffmpeg. I correct that to insert the logo [closed]
13 mai 2012, par user1390921private void btnStart_Click(object sender, EventArgs e)
{
this.btnStart.Enabled = false;
this.progressBar1.Value = 0;
string srcFile = Path.Combine(this.txtSource.Text, this.lstFiles.SelectedItem.ToString());
MessageBox.Show(srcFile);
string dstFile = Path.Combine(this.txtOutput.Text,
Path.GetFileNameWithoutExtension(this.lstFiles.SelectedItem.ToString())) + "." + this.cboOutputFormat.SelectedItem;
MessageBox.Show(dstFile);
string imafile = Path.Combine("movie= "+this.openFileDialog1.SafeFileName);
MessageBox.Show(imafile);
string videoRateOption = string.Empty;
if (this.cboVideoRate.SelectedIndex != 0)
{
videoRateOption = " -b:v " + this.cboVideoRate.SelectedItem.ToString().Split(' ')[0] + "k ";
MessageBox.Show(videoRateOption);
}
string videoSizeOption = string.Empty;
if (this.lstVideoSize.SelectedIndex != 0)
{
videoSizeOption = " -s " + this.lstVideoSize.SelectedItem.ToString().Split(' ')[0] + " ";
}
this.Text = "Converting...";
ThreadPool.QueueUserWorkItem((object state) =>
{
ConvertFile(srcFile, imafile, dstFile, videoRateOption, videoSizeOption);
});
}
string strFFMPEGOut;
ProcessStartInfo psiProcInfo = new ProcessStartInfo();
TimeSpan estimatedTime = TimeSpan.MaxValue;
StreamReader srFFMPEG;
string ste = ""movie=watermarklogo.png [wm];[in][wm] overlay=main_w-overlay_w-10:main_h-overlay_h-10 [out]"";
string strFFMPEGCmd = " -i "" + srcFile + "" -ar 44100 " + videoRateOption + videoSizeOption +"-vf"+ ste + "-y ""
+ dstFile + """;
psiProcInfo.FileName = Application.StartupPath + ((IntPtr.Size == 8) ? "\x64" : "\x86") + "\ffmpeg.exe";
psiProcInfo.Arguments = strFFMPEGCmd;
psiProcInfo.UseShellExecute = false;
psiProcInfo.WindowStyle = ProcessWindowStyle.Hidden;
psiProcInfo.UseShellExecute = false;
psiProcInfo.RedirectStandardError = true;
psiProcInfo.ErrorDialog = true;
psiProcInfo.RedirectStandardOutput = true;
psiProcInfo.CreateNoWindow = true;
prcFFMPEG.StartInfo = psiProcInfo;
prcFFMPEG.Start();There is no response that I push the start button that I tried to fix the code that I inserted the logo in the movie with Ffmpeg. Is that be okay if I don't choose the path of logo File. and Is there any something wrong that I did.
-
Processing video using ffmpeg and saving the output to MongoDB
10 juillet 2013, par kheyaI have user uploaded video saved in a folder (can be in any of 5/6 formats)
I have 2 needs.- Extract 3 frame images (that I will show to user for possible thumbnail
- Convert the video to one or more other formats (flv + WebM)
I am planning to use FFMPEG command line tool.
How do I write the output from FFMPEG to MongoDB gridFS ?
Is it even possible or I have to write the files to folder first & then save to gridFS ?
Thanks