
Recherche avancée
Autres articles (67)
-
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
-
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...) -
Gestion générale des documents
13 mai 2011, parMédiaSPIP ne modifie jamais le document original mis en ligne.
Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)
Sur d’autres sites (5236)
-
Revision 1e30547984 : Skip mode search based on reference frame consistency This commit enables the e
12 août 2014, par Jingning HanChanged Paths :
Modify /vp9/encoder/vp9_rdopt.c
Skip mode search based on reference frame consistencyThis commit enables the encoder to skip NEARMV and ZEROMV if the
above and left blocks have identical reference frame, and the
current reference is different from that. It reduces the runtime
of speed 3 for test sequences :
bus cif at 1000 kbps 10064 ms -> 9823 ms
pedestrian 1080p at 2000 kbps 193078 ms -> 189559 msThe compression performance is changed by
derf -0.085%
stdhd -0.103%Change-Id : If304f26d42e6412152a84c3dd7b02635c38444f4
-
Best Web Video Encoding Practices for IOS (FFMpeg)
21 juin 2012, par MagicMushroomI am working on an online video repository system for a client, written mostly in PHP. At the moment I am building a mobile version of our desktop website. Our desktop site allows users to watch videos in the browser, much like YouTube.
My client uploads videos through the manager interface I have created, and my application uses FFmpeg on the server to transcode his videos into several resolutions and bitrates. I am no expert on FFmpeg, and while I do not know the ins and outs of each individual setting, I do understand how it works as a whole. Right now, we are using the mp4 container format with the h.264 codec to encode our videos. Our command looks like :
ffmpeg -y -i "INPUT FILE.mov" -f mp4 -s 640x480 -vcodec libx264 -preset fast -maxrate 1500 -bitrate 1000 -bufsize 4096 -acodec libfaac -ab 192 -ac 2 "OUTPUT_FILE.mp4" >> "FILE.log" 2>&1 &
I'm hoping to gain information about best practices with encoding video for web streaming on IOS and other mobile devices using FFmpeg. What resolutions and settings make for good mobile streaming video ? How can I ensure maximum compatibility across the sea of Android devices ?
-
Get Proper Progress Updates on Two Long Waited Concurrent Processes in ASP.NET
17 juillet 2012, par irfanmcsdI implemented background video processing using .net ffmpeg wrapper http://www.mediasoftpro.com with progress bar indication to calculate how much video is processed and send information to web page to update progress bar indicator. Its working fine if only single process works at a time, but in case of two concurrent processes (start two video publishing at once let say from two different computers), progress bar suddenly mixed progress status.
Here is my code where i used static objects to properly send information of single instance to progress bar.static string FileName = "grey_03";
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (Request.Params["file"] != null)
{
FileName = Request.Params["file"].ToString();
}
}
}
public static double ProgressValue = 0;
public static MediaHandler _mhandler = new MediaHandler();
[WebMethod]
public static string EncodeVideo()
{
// MediaHandler _mhandler = new MediaHandler();
string RootPath = HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath);
_mhandler.FFMPEGPath = HttpContext.Current.Server.MapPath("~\\ffmpeg_july_2012\\bin\\ffmpeg.exe");
_mhandler.InputPath = RootPath + "\\contents\\original";
_mhandler.OutputPath = RootPath + "\\contents\\mp4";
_mhandler.BackgroundProcessing = true;
_mhandler.FileName = "Grey.avi";
_mhandler.OutputFileName =FileName;
string presetpath = RootPath + "\\ffmpeg_july_2012\\presets\\libx264-ipod640.ffpreset";
_mhandler.Parameters = " -b:a 192k -b:v 500k -fpre \"" + presetpath + "\"";
_mhandler.OutputExtension = ".mp4";
_mhandler.VCodec = "libx264";
_mhandler.ACodec = "libvo_aacenc";
_mhandler.Channel = 2;
_mhandler.ProcessMedia();
return _mhandler.vinfo.ErrorCode.ToString();
}
[WebMethod]
public static string GetProgressStatus()
{
return Math.Round(_mhandler.vinfo.ProcessingCompleted, 2).ToString();
// if vinfo.processingcomplete==100, then you can get complete information from vinfo object and store it in database and perform other processing.
}Here is jquery functions responsible for updating progress bar indication after every second etc.
$(function () {
$("#vprocess").on({
click: function (e) {
ProcessEncoding();
var IntervalID = setInterval(function () {
GetProgressValue(IntervalID);
}, 1000);
return false;
}
}, '#btn_process');
});
function GetProgressValue(intervalid) {
$.ajax({
type: "POST",
url: "concurrent_03.aspx/GetProgressStatus",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
// Do something interesting here.
$("#pstats").text(msg.d);
$("#pbar_int_01").attr('style', 'width: ' + msg.d + '%;');
if (msg.d == "100") {
$('#pbar01').removeClass("progress-danger");
$('#pbar01').addClass("progress-success");
if (intervalid != 0) {
clearInterval(intervalid);
}
FetchInfo();
}
}
});
}The problem arises due to static mediahandler object
public static MediaHandler _mhandler = new MediaHandler();
I need a way to keep two concurrent processes information separate from each other in order to update progress bar with value exactly belong to that process.