
Recherche avancée
Autres articles (107)
-
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
Librairies et logiciels spécifiques aux médias
10 décembre 2010, parPour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel ; FFMpeg avec le maximum de décodeurs et (...)
Sur d’autres sites (8805)
-
Is ffmpeg able to read ArrayBuffer input from stream
7 juillet 2017, par jAndyI want to accomplish the following tasks :
- Record Video+Audio from any HTML5 (
MediaStream
) capable browser - Send that data via
WebSocket
asBlob
/ArrayBuffer
chunks to a server - Broadcast that input stream-data to multiple clients
As it turns out, this brought me into a world of pain. The first task is fairly simple using the HTML5
MediaStream
objects alongside WebSockets.// ... for simplicity...
navigator.mediaDevices.getUserMedia({ audio: true, video: true }).then(stream => {
let mediaRecorder = new MediaRecorder( stream );
// ...
mediaRecorder.ondataavailable = e => {
webSocket.send( 'newVideoData', e.data ); // configured for binary data
};
});Now, I want to receive those data fragments and stream those via
nginx vod module
, because I guess I want the output stream in HLS or DASH.
I could write a littlenodejs
script as backend, which just receives the binary chunks and write them to a file or stream, and just reference it songinx vod module
could possibly read it and create them3u8
manifest on the fly ?I am wondering now,
- if
ffmpeg
is able to read that binary data directly (should bewebm format
), without a man-in-the-middle script, "somehow" ? - If not, do I have to write the data down into a file and pass that as input to
ffmpeg
or can I (should I) pipe the data to a self spawnedffmpeg
instance ? (if so, how ?) - Do I actually need the
nginx server
(probably alongside rtmp module) to deliver the output stream as HLS or could I just useffmpeg
to also create a dynamic manifest ? - Is the
nginx vod module
capable of creating a dynamic hls/dash manifest or must the input data be complete beforehand ? - Ultimately, am I on the totally wrong track here ? :P
Actually I just want to create a little video-live-chat demo, without any plugins or 3rd party encoding software, pure browser.
- Record Video+Audio from any HTML5 (
-
ffmpeg throws error while converting wav to flac
24 août 2017, par user3815252I am working on a research project and it requires me to first record audios from browser (using getuserMedia) and save them in a wav format. My code looks like this :
navigator.mediaDevices.getUserMedia({ audio: true }).then(stream => {
const chunks = [];
const recorder = new MediaRecorder(stream);
recorder.ondataavailable = e => {
chunks.push(e.data);
if (recorder.state == 'inactive') {
$scope.blob = new Blob(chunks, { type: 'audio/wav' });
$scope.file = new File([$scope.blob], "myFile.wav", {type: 'audio/wav', lastModified: Date.now()});
$scope.blobUrl = URL.createObjectURL($scope.blob);
createAudioElement($scope.blobUrl);
}
};
recorder.start(1000);
$scope.stop = function() {
recorder.stop();
};
}).catch(console.error);After saving $scope.file on filesystem, I convert it to flac format using ffmpeg utility ([https://www.ffmpeg.org/).
Now my problem is the ffmpeg tool sometimes gives me error saying that this file cannot be recognized as wav file. The exact output of ffmpeg tool is :
ffmpeg-user: Wav to Flac conversion: Invalid data found when processing input
ffmpeg version 3.3.3 Copyright (c) 2000-2017 the FFmpeg developers
built with Apple LLVM version 7.0.2 (clang-700.1.81)
configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3.3 --enable-shared
--enable-pthreads --enable-gpl --enable-version3
--enable-hardcoded-tables
--enable-avresample --cc=clang --host-cflags= --host-ldflags=
--enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl
--disable-lzma --enable-vda
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100Does anyone know why am I getting this error ?
-
Merging multiple videos in a template/layout with Python FFMPEG ?
14 janvier 2021, par J. M. ArnoldI'm currently trying to edit videos with the Python library of FFMPEG. I'm working with multiple file formats, precisely
.mp4
,.png
and text inputs (.txt
). The goal is to embed the different video files within a "layout" - for demonstration purposes I tried to design an example picture :



The output is supposed to be a 1920x1080
.mp4
file with the following Elements :

- 

- Element 3 is the video itself (due to it being a mobile phone screen recording, it's about the size displayed there)
- Element 1 and 2 are the "boarders", i.e. static pictures (?)
- Element 4 represents a regularly changing text - input through the python script (probably be read from a
.txt
file) - Element 5 portrays a
.png
,.svg
or alike ; in general a "picture" in the broad sense.










What I'm trying to achieve is to create a sort of template file in which I "just" need to input the different
.mp4
and.png
files, as well as the text and in the end I'll receive a.mp4
file whereas my Python script functions as the navigator sending the data packages to FFMPEG to process the video itself.

I dug into the FFMPEG library as well as the python-specific repository and wasn't able to find such an option. There were lots of articles explaining the usage of "channel layouts" (though these don't seem to fit my need).


In case anyone wants to try on the same versions :


- 

python --version
:
Python 3.7.3pip show ffmpeg
: Version : 1.4 (it's the most recent ; on an off-topic note : It's not obligatory to use FFMPEG, I'd prefer using this library though if it doesn't offer the functionality I'm looking for, I'd highly appreciate if someone suggested something else)