
Recherche avancée
Médias (1)
-
La conservation du net art au musée. Les stratégies à l’œuvre
26 mai 2011
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (35)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Encodage et transformation en formats lisibles sur Internet
10 avril 2011MediaSPIP transforme et ré-encode les documents mis en ligne afin de les rendre lisibles sur Internet et automatiquement utilisables sans intervention du créateur de contenu.
Les vidéos sont automatiquement encodées dans les formats supportés par HTML5 : MP4, Ogv et WebM. La version "MP4" est également utilisée pour le lecteur flash de secours nécessaire aux anciens navigateurs.
Les documents audios sont également ré-encodés dans les deux formats utilisables par HTML5 :MP3 et Ogg. La version "MP3" (...) -
Récupération d’informations sur le site maître à l’installation d’une instance
26 novembre 2010, parUtilité
Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...)
Sur d’autres sites (5900)
-
Create one mpeg-dash segment
19 février 2018, par Yuriy PryymaI have video encoded in mpeg-dash(*.mpd, init segments, video segments)
Task is to replace one of video segments with segment generated by me. And so video is still can be played.I read properties of one segment(combining init segment and video segment) using
avformat_open_input
avformat_find_stream_info1) I have tried to use dash muxer to generate new segment.
avformat_alloc_output_context2(&avFormatContext, NULL, "dash", filename)
But the problem is it creates mpd manifest, and other segments. So how to force it to create one segment ?
2) When I parsed segment I noticed that it had format "QuickTime / MOV".
avformat_alloc_output_context2(&avFormatContext, NULL, "mov", filename);
So my another idea was to use "mov" encoder. And set properties same as in initial segment(start time, duration, resolution).
But here the question is how to remove init header ? Because I already have init segment.Are there any other approaches to generate one mpeg-dash segment and how to solve my problems ?
-
Play HLS segments through Media source extensions
11 février 2018, par lerI got a list of
m4s
andinit.mp4
from this FFMPEG commandffmpeg -i bunny.mp4 -f hls -hls_segment_type fmp4 -c:v copy playlist.m3u8
I send those chunks using
Socket
and try to play them through MSE.
When i send them in this order :init.mp4 + playlist0.m4s + playlist1.m4s ...
They play without any problem, But when i want to start from the chunk number 3 meaning
init.mp4 + playlist3.m4s
for example i get this error :video frame with PTS 0us has negative DTS -80000us after applying timestampOffset, handling any discontinuity, and filtering against append window.
I want to be able to start from any chunk, currently the only way to play the video is to star by
init.mp4 + playlist0.m4s
meaningplaylist0.m4s
becauseinit.mp4
contain just headers of the video, This is the client code i’m using :var socket = io();
var video = document.querySelector('video');
var mimeCodec = 'video/mp4; codecs="avc1.64000d,mp4a.40.2"'; // true
if ('MediaSource' in window && MediaSource.isTypeSupported(mimeCodec))
{
var mediaSource = new MediaSource;
video.src = URL.createObjectURL(mediaSource);
mediaSource.addEventListener('sourceopen', function () {
var mediaSource = this;
var sourceBuffer = mediaSource.addSourceBuffer(mimeCodec);
sourceBuffer.mode = 'segments';
sourceBuffer.addEventListener('updateend', function (_) { video.play().then(function() { }).catch(function(error) { }); });
socket.on('broadcast', function (chunk) {
downloadData(chunk.uri, function(arrayBuffer) {
sourceBuffer.appendBuffer(arrayBuffer);
});
});
});
} else {
console.error('Unsupported MIME type or codec: ', mimeCodec);
}
function downloadData(url, cb) {
var xhr = new XMLHttpRequest;
xhr.open('get', url);
xhr.responseType = 'arraybuffer';
xhr.onload = function () {
cb(new Uint8Array(xhr.response));
};
xhr.send();
} -
Deinterlace video frames
23 janvier 2018, par GuiI am using a Accord.net’s
VideoFileReader
to open an ’.mts’ (AVCHD File) file from a Sony HandyCam.var file = new VideoFileReader();
file.Open(@"pathToFile");
var frame = file.ReadVideoFrame();This appears to open without issue. The resolution properties of the
VideFileReader
instance are correct, however it identifies the frame rate as being double that of the actual file. Upon inspection it appears to be interlaced via some method.I would like to traverse video files frame by frame for some simple analysis, where speed is relatively unimportant, however the time of each frame is critical. I am happy to deinterlace frames myself if I had a clear understanding of how I needed to manipulate the frame images.
From my research on interlacing, I was expecting the resolution of each frame to be half that of the final output, where alternating frames need to be spliced -
one containing even lines, and the other odd ; this appears not to be the case. All Frames are the full resolution of the video, even the very first frame seems to have two unique images present in it.How could I go about recovering a valid frame back from my video on a frame by frame basis (accessing adjacent frames if needed is fine) ? Is this something I have missed, not understood, or overlooked in the Documentation ?
I’m not necessary looking for a code solution (although that would be great), an explanation of what is going on and what actions I could take will sufficiently address my needs.