
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 (106)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (13650)
-
How to stream video form device to ingestion server using nodejs
28 juillet 2021, par rockyI'm building a live streaming app (one-to-many) and am using AWS IVS as my ingestion server.


Now, I get the video feed from
mediaRecorder
api transmits the video using socket.io as a buffer. Now the challenge is to parse the real-time buffers to AWS IVS or any other ingestion server.

I figured that the only way to stream the video is by using
ffmpeg
and that's where am completely stuck.

Here is my code


// ffmpeg config
const { spawn, exec } = require("child_process");

let ffstr = `-re -stream_loop -1 -i ${input} -r 30 -c:v libx264 -pix_fmt yuv420p -profile:v main -preset veryfast -x264opts "nal-hrd=cbr:no-scenecut" -minrate 3000 -maxrate 3000 -g 60 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv rtmps://${INGEST_ENDPOINT}:443/app/${STREAM_KEY}`;

let ffmpeg = spawn("ffmpeg", ffstr.split(" "));

// Socket.io
socket.on("binarystream", async (mBuffer) => {
 // TODO: Get the buffer
 // TODO: Ingest/convert to mp4
 // TODO: Stream to IVS

 // TODO: FFMpeg is your best bet
 // console.log(mBuffer);

 ffmpeg.stdin.write(mBuffer);
 
 });



PS : Even if you don't have the direct answers I'm available for discussion


-
laravel ffmpeg setAdditionalParameters not adding filters when using exportForHLS
24 juin 2021, par Warren VisserI am trying to add additional filters using the setAdditionalParameters method to the bitrate using Laravel Ffmpeg. When I add the additional filters it does not show when used in combination with exportForHLS. It does however work when using the export method.
When using exportForHLS the addFilter method adds a complex filter and not a simple filter. Any idea how to achieve this or is this a bug inside the package.


public function convert(File $file, Movie $movie)
{
 try {
 $additionalParameters = ['-preset:v', 'ultrafast'];

 // convert video to multiple bitrates
 $higBitrateFormat = (new X264('copy'))
 ->setAudioChannels(2)
 ->setKiloBitrate(3000)
 ->setAdditionalParameters($additionalParameters);

 $mediaOpener = FFMpeg::fromDisk($file->disk)
 ->open($file->path)
 ->exportForHLS()
 ->setSegmentLength(4)
 ->setKeyFrameInterval(48)
 ->addFormat($higBitrateFormat)
 ->toDisk('streamable_videos')
 ->save($file->uuid . '.m3u8');

 $attr = ['converted_at' => Carbon::now()->toDateTimeString()];
 $this->movieRepositoryInterface->update($movie->id, $attr);
 return $mediaOpener;
 } catch (EncodingException $exception) {
 $attr = ['conversion_failed' => 1];
 $this->movieRepositoryInterface->update($movie->id, $attr);
 Log::error('encoding failed.', [$exception->getErrorOutput()]);
 throw new CustomEncodingException($exception->getMessage(), $exception->getCode());
 }
}



Here is the ffmpeg output :




-y -threads 12 -i /home/vagrant/code/streaming-api/storage/framework/testing/disks/public/videos/Am1t18C8NnnOlxPCVIx3OiEMzcaXhhEpReDBpBaW.png -map 0 -vcodec libx264 -b:v 3000k -sc_threshold 0 -g 48 -hls_playlist_type vod -hls_time 4 -hls_segment_filename /home/vagrant/code/streaming-api/storage/framework/testing/disks/streamable_videos/9703f521-ec4b-428f-b756-b08946e726b8_0_3000_%05d.ts -master_pl_name temporary_segment_playlist_0.m3u8 -acodec copy -b:a 128k -ac 2 /home/vagrant/code/streaming-api/storage/framework/testing/disks/streamable_videos/9703f521-ec4b-428f-b756-b08946e726b8_0_3000.m3u8




-
ffmpeg images list (text file) to video with overlay watermark
27 mai 2021, par haseebI have 250 images / day of 4000*3000 pixels in a text file.


file '/home/user/camdata/nonseqdata.jpg'
file '/home/user/camdata/strangedata.jpg'



i created mp4 video with this command


ffmpeg -y -f concat -safe 0 -i ecam.001_20210525.txt -c:v libx264 -vf "scale=1280:720,fps=25,format=yuv420p" out.mp4



Now i need to add watermark to video.(in same command)
closest example i found on web, trying to modify that and use in my case is like..


ffmpeg -r 25 -f image2 -s 1280x720 -i ecam.001_20210525.txt -i wm.png -filter_complex "[0:v][1:v] overlay=0:0" -vcodec libx264 -crf 25 -pix_fmt yuv420p test_overlay.mp4
OR
ffmpeg -r 25 -f concat -safe 0 -s 1280x720 -i ecam.001_20210525.txt -i wm.png -filter_complex "[0:v]pad=width=mainw:height=mainh:x=0:y=0,[1:v] overlay=0:0" -c:v libx264 test_overlay.mp4



BUT it error out to >> Decoder (codec none) not found for input stream #0:0
Q. how exactly to fix this.? i need output to be 720p or 1080p.?