
Recherche avancée
Autres articles (53)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)
Sur d’autres sites (7725)
-
Prevent suspend event when streaming video via HTML video tag
24 septembre 2014, par jasongullicksonI seem to be having the opposite problem of most people who are streaming video using the HTML video tag ; I’m saturating the client with data.
When playing a long video served via ffserver (webm container) everything works great but eventually the browser (Chrome in this case) will begin throwing "suspend" events. After a number of these ( 50-100), a "stalled" event will fire and playback will stop.
I believe the problem is that once Chrome has buffered a certain amount of video it goes into "suspend" and stops downloading more data. I’ve tested this theory by throttling the speed at which video data is delivered, and if I keep the delivered frame rate close to the playback rate, I can prevent this from happening, but of course deliberately holding back server performance isn’t ideal.
What I’m looking for is either a way to suppress this "suspend" behavior altogether, or alternatively a way to respond to the event that prevents the eventual "stalled" state.
Presumably the browser at some point exits the "suspend" state and begins requesting data again, but I haven’t actually observed this occurring. I’m using a chain of mpeg2 -> ffmpeg -> ffserver to stream the video so if the browser is attempting to resume loading data I don’t see the request in my application. I could use a proxy or a sniffer to watch for the traffic but I would expect that maybe there is an ffserver log that can tell me the same thing ? In any event if it’s attempting to resume the download it’s failing, and there’s no indication server-side that there’s a reason for the request to fail (in fact I can pull up the same video feed from ffserver and see it playing correctly).
So I feel like I’ve isolated this to a client-side playback issue, and one where the browser is voluntarily giving up on loading the data, but I’m not sure how to convince it to "not do that", or at least attempt to resume when it runs the buffer dry.
-
Problem with processing FFMPEG video , the output video is totally black in first 3 seconds
13 janvier 2021, par Trần Minh TuấnI want to make a slideshow by using concat demuxer like this link :
https://trac.ffmpeg.org/wiki/Slideshow


Here is the textfile preinputFiles.txt :


file 'path a'
duration 2
file 'path b'
duration 2
file 'path c'
duration 2
file 'path c'



and my command array is :


String[] cmd = new String[]{
 "-f","concat","-i",
 textFile,
 "-vsync", "vfr", "-pix_fmt", "yuv420p",
 dest.getAbsolutePath()};



the video has 3 seconds that it is totally black and run from 3s to 9s even the gallery shows that it is a 6 seconds long video .


Thanks for the help !


-
Create video file by mixing video and audio byte arrays FFmpeg & C++
20 janvier 2021, par Sergey ZinovevI capture audio and video.


Video is captured by using Desktop Duplication API and, as a result, I get Textures 2D.
These Textures 2D are char arrays.


m_immediateContext->CopyResource(currTexture, m_acquiredDesktopImage.Get());

D3D11_MAPPED_SUBRESOURCE* resource = new D3D11_MAPPED_SUBRESOURCE;
UINT subresource = D3D11CalcSubresource(0, 0, 0);

m_immediateContext->Map(currTexture, subresource, D3D11_MAP_READ_WRITE, 0, resource);

uchar * buffer = new uchar[(m_desc.Height * m_desc.Width * 4)];
const uchar * mappedData = static_cast<uchar>(resource->pData);
memcpy(buffer, mappedData, m_desc.Height * m_desc.Width * 4);
</uchar>


Then the Textures 2D convert in cv::Mat and write Video using OpenCV.


Audio captured by using WASAPI and, as a result, I get samples.


BYTE * buffer = new BYTE[(numFramesAvailable * pwfx->nBlockAlign)];
memcpy(buffer, pData, numFramesAvailable * pwfx->nBlockAlign);



These samples are byte arrays then write in WAV file.


As a result, I get two files - video and audio, which merged by using FFmpeg.


I want to skip the creation of video and audio files and promptly create one file compose of two strims (video and audio) from raw data.


In order to make it I need help with FFmpeg code.
Specifically, in a way of creating and setting the correct output context and output streams, and how to encode raw data.


I've already learned doc/examples FFmpeg, but still can't make the working code. So, I really need your help guys.