
Recherche avancée
Médias (1)
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (46)
-
À propos des documents
21 juin 2013, parQue faire quand un document ne passe pas en traitement, dont le rendu ne correspond pas aux attentes ?
Document bloqué en file d’attente ?
Voici une liste d’actions ordonnée et empirique possible pour tenter de débloquer la situation : Relancer le traitement du document qui ne passe pas Retenter l’insertion du document sur le site MédiaSPIP Dans le cas d’un média de type video ou audio, retravailler le média produit à l’aide d’un éditeur ou un transcodeur. Convertir le document dans un format (...) -
Modifier la date de publication
21 juin 2013, parComment changer la date de publication d’un média ?
Il faut au préalable rajouter un champ "Date de publication" dans le masque de formulaire adéquat :
Administrer > Configuration des masques de formulaires > Sélectionner "Un média"
Dans la rubrique "Champs à ajouter, cocher "Date de publication "
Cliquer en bas de la page sur Enregistrer -
Le plugin : Podcasts.
14 juillet 2010, parLe problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
Types de fichiers supportés dans les flux
Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)
Sur d’autres sites (10952)
-
Revision db54baf9aa : Remove "switchable_interp" from experiment list Now this experiment has been me
30 octobre 2012, par Yaowu XuChanged Paths : Modify /configure Remove "switchable_interp" from experiment list Now this experiment has been merged. Change-Id : I6c93784df89434c52a4eb8f977cd3745e269abf9
-
C# EmbedIO server : Only the first request is working trying to live stream from FFMPEG
7 octobre 2017, par ConnumI’m trying to build an HTTP server that will stream dynamic video/audio in the TransportStream format via FFMPEG. I found EmbedIO and it looks like a lightweight yet flexible base for this.
So, I looked at the module examples and built a very basic module that doesn’t yet handle the request URL at all but responds with the same stream for any request, just to see whether it’s working as intended :
namespace TSserver
{
using Unosquare.Swan;
using Unosquare.Swan.Formatters;
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
#if NET46
using System.Net;
#else
using Unosquare.Net;
using Unosquare.Labs.EmbedIO;
using Unosquare.Labs.EmbedIO.Constants;
using System.Diagnostics;
#endif
/// <summary>
/// TSserver Module
/// </summary>
public class TSserverModule : WebModuleBase
{
/// <summary>
/// Initializes a new instance of the <see cref="TSserverModule"></see> class.
/// </summary>
/// The base path.
/// The json path.
public TSserverModule()
{
AddHandler(ModuleMap.AnyPath, HttpVerbs.Any, HandleRequest);
}
/// <summary>
/// Gets the Module's name
/// </summary>
public override string Name => nameof(TSserverModule).Humanize();
/// <summary>
/// Handles the request.
/// </summary>
/// The context.
/// The cancellation token.
/// <returns></returns>
private Task<bool> HandleRequest(HttpListenerContext context, CancellationToken ct)
{
var path = context.RequestPath();
var verb = context.RequestVerb();
System.Net.HttpStatusCode statusCode;
context.Response.SendChunked = true;
//context.Response.AddHeader("Last-Modified", File.GetLastWriteTime(filename).ToString("r"));
context.Response.ContentType = "video/mp2t";
try
{
var ffmpeg = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "ffmpeg.exe",
Arguments = "-re -loop 1 -i \"./default.png\" -i \"./jeopardy.mp3\" -c:v libx264 -tune stillimage -r 25 -vcodec mpeg2video -profile:v 4 -bf 2 -b:v 4000k -maxrate:v 5000k -acodec mp2 -ac 2 -ab 128k -ar 48000 -f mpegts -mpegts_original_network_id 1 -mpegts_transport_stream_id 1 -mpegts_service_id 1 -mpegts_pmt_start_pid 4096 -streamid 0:289 -streamid 1:337 -metadata service_provider=\"MYCALL\" -metadata service_name=\"My Station ID\" -y pipe:1",
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
}
};
ffmpeg.Start();
FileStream baseStream = ffmpeg.StandardOutput.BaseStream as FileStream;
int lastRead = 0;
byte[] buffer = new byte[4096];
do
{
lastRead = baseStream.Read(buffer, 0, buffer.Length);
context.Response.OutputStream.Write(buffer, 0, lastRead);
context.Response.OutputStream.Flush();
} while (lastRead > 0);
statusCode = System.Net.HttpStatusCode.OK;
}
catch (Exception e)
{
statusCode = System.Net.HttpStatusCode.InternalServerError;
}
context.Response.StatusCode = (int)statusCode;
context.Response.OutputStream.Flush();
context.Response.OutputStream.Close();
return Task.FromResult(true);
}
}
}
</bool>This does indeed work, when I open a connection in a browser, a TS file is offered for download, when I connect via VLC Player, I see my default.png file accompanied by the Jeopardy think music - yay ! However, if I connect a second client (player or browser) it will just load endlessly and not get anything back. Even if I close the previous connection (abort the download or stop playback), no subsequent connection will result in any response. I have to stop and start the server again in order to be able to make one single connection again.
It seems to me that my code is blocking the server, despite being run inside a Task of its own. I’m coming from a PHP & JavaScript background, so I’m quite new to C# and threading. So this might be pretty obvious... But I hoped that EmbedIO would handle all the multitasking/threading stuff.
-
avcodec/h264_sei : Remove "Subtitles with data type 0x%02x" sample request
8 septembre 2015, par Michael Niedermayer