
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (62)
-
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...) -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)
Sur d’autres sites (3937)
-
How to prepare media stream to play using dash.js web player ?
7 avril 2016, par Paweł TobiszewskiI want to stream media from nginx server to Android device and play it using web player embedded into web page. Player I want to use is dash.js.
I play the same media also using different methods (MediaPlayer and ExoPlayer) and they are working great. But when I try to use dash.js, I faced problem with codecs - they are not supported.
I prepare my streams using ffmpeg and MP4Box, I also tried different codecs, like libx264, x264, x265 - always with the same effect.
My based media are video in Y4M format and audio in WAV.
How to encode it to use it in dash.js player ?EDIT :
I get error "Video Element Error : MEDIA_ERR_DECODE" while trying to decode video stream.Here is full log :
[16] EME detected on this user agent! (ProtectionModel_21Jan2015)
[19] Playback Initialized
[28] [dash.js 2.0.0] MediaPlayer has been initialized
[102] Parsing complete: ( xml2json: 3ms, objectiron: 3ms, total: 0.006s)
[103] Manifest has been refreshed at Thu Apr 07 2016 22:02:52 GMT+0200 (CEST)[1460059372.696]
[107] SegmentTimeline detected using calculated Live Edge Time
[118] MediaSource is open!
[118] [object Event]
[119] Duration successfully set to: 18.58
[119] Added 0 inline events
[120] video codec: video/mp4;codecs="avc1.640032"
[132] Schedule controller stopping for video
[137] No audio data.
[137] No text data.
[137] No fragmentedText data.
[137] No embeddedText data.
[138] No muxed data.
[139] Start Event Controller
[141] Schedule controller starting for video
[143] Native video element event: play
[144] Schedule controller starting for video
[148] loaded video:InitializationSegment:NaN (200, 0ms, 7ms)
[149] Initialization finished loading
[154] Getting the request for video time : 0
[155] SegmentList: 0 / 18.58
[164] loaded video:MediaSegment:0 (200, 7ms, 1ms)
[169] Native video element event: loadedmetadata
[171] Starting playback at offset: 0
[175] Got enough buffer to start.
[175] Buffered Range: 0 - 0.999999
[179] Requesting seek to time: 0
[181] Prior to making a request for time, NextFragmentRequestRule is aligning index handler's currentTime with bufferedRange.end. 0 was changed to 0.999999
[182] Getting the request for video time : 0.999999
[183] SegmentList: 0 / 18.58
[183] Getting the next request at index: 1
[184] SegmentList: 1 / 18.58
[190] loaded video:MediaSegment:1 (200, 5ms, 0ms)
[192] Buffered Range: 0 - 0.999999
[195] Getting the request for video time : 2
[196] Index for video time 2 is 1
[197] SegmentList: 1 / 18.58
[197] Getting the next request at index: 2
[198] SegmentList: 2 / 18.58
[205] loaded video:MediaSegment:2 (200, 4ms, 1ms)
[207] Buffered Range: 0 - 0.999999
[207] Getting the request for video time : 3
[208] Index for video time 3 is 2
[208] SegmentList: 2 / 18.58
[209] Getting the next request at index: 3
[209] SegmentList: 3 / 18.58
[212] Video Element Error: MEDIA_ERR_DECODE
[212] [object MediaError]
[215] Schedule controller stopping for video
[219] Native video element event: pause -
c# ffmpeg encode/decode audio and video
31 juillet 2017, par IC.FulvioI’m writing C# code to stream audio and video through RTSP. I use ffmpe.Autogen wrapper and NAudio. With the video I have no problem, hevc
25fps
.About audio, I capture audio samples with NAudio and after, I copy the buffer in the AVframe data of ffmpeg. The audio codec that I use is :
AAC f32le 44,1 khz
. When I encode, in the main loop, I write one video frame and after one audio frame.while (video_st != null)
{
img1.CopyTo(imgframe);
var startFrame = DateTime.Now;
ret = Utility_ffmpeg.write_video_frame(outContext, video_st, frameCount, &dst_picture, frame, ref imgframe, sws_ctx);
if (ret < 0)
{
Debug.WriteLine("Write video frame failed.\n");
return;
}
var streamDuration = DateTime.Now - startSend;
//audio
if (enable_audio && srcAudio.audio_buff != null)
{
if (srcAudio.audio_buff_dim > 0)
{
lock (srcAudio.audio_buff)
{
frameCount++;
Utility_ffmpeg.write_audio_frame(outContext, srcAudio.audio_buff, srcAudio.audio_buff_dim, audio_st, frameCount);
}
}
}
Debug.WriteLine("Elapsed time " + streamDuration + ", video stream pts " + video_st->pts.val + ".\n");
var frameDuration = DateTime.Now - startFrame;
Debug.WriteLine(frameDuration+" total \n");
//System.Threading.Thread.Sleep((int)((long)1000.0 / (long)STREAM_FRAME_RATE - (long)frameDuration.TotalSeconds));
System.Threading.Thread.Sleep(40);
//}
}When I decode the video all is ok but the audio comes and goes. The synchronization is ok.
I think the problem is that I need to send more audio frame then video, but I’m not sure. Someone has an idea about the origin of the problem ?
Thanks in advance and sorry for my English. -
Create conversion queue using ffmpeg and C #
22 octobre 2017, par Alexei Agüero AlbaOk, the idea is to create a file queue that can be modified and reorganized (this is done) and for each file execute a ffmpeg process to convert it to another format.
For conversion use Xabe.FFmpeg and .Net 4.5 all using async and await.
The question would be how to execute an x number of processes in parallel (example 4) of that variable queue and when one of them finishes executing the next one, keeping in execution always the same amount in parallel. I can start from scratch but I need ideas on how to do this in the simplest way possible. The program itself is simple (with gui) takes a folder and its subfolders all the video files and queues them and starts the conversion, you can add other folders with more files, and independent files reorder them, to convert whichever is the greater.
At one point I found a package I think nuget (or github) that did exactly what I needed but I have not been able to get back.
Thanks for your help in advance.
Excuse the English because I use the translator of Google for being faster because my domain of this is limited but sufficient to understand the answers.
Ok, I found what I was looking for called ProcessManager is a nupkg package. It has 2 years of development but seems stable. The only drawback is that it does not allow me to organize the conversion queue once you have added the files, although I have to try some ideas that maybe functions.
var manager = new Manager(4); // Max 4 processes will be started simultaneously
manager.Start();
manager.ProcessErrorDataReceived += (sender, e) => Console.WriteLine(e.Data);
manager.ProcessOutputDataReceived += (sender, e) => Console.WriteLine(e.Data);
foreach (var videoFileName in Directory.EnumerateFiles("videos"))
{
var info = new ProcessInfo(
"ffprobe.exe",
string.Format("-v quiet -print_format json -show_format -show_streams \"{0}\"", videoFileName));
manager.Queue(info);
}