
Recherche avancée
Autres articles (111)
-
D’autres logiciels intéressants
12 avril 2011, parOn ne revendique pas d’être les seuls à faire ce que l’on fait ... et on ne revendique surtout pas d’être les meilleurs non plus ... Ce que l’on fait, on essaie juste de le faire bien, et de mieux en mieux...
La liste suivante correspond à des logiciels qui tendent peu ou prou à faire comme MediaSPIP ou que MediaSPIP tente peu ou prou à faire pareil, peu importe ...
On ne les connais pas, on ne les a pas essayé, mais vous pouvez peut être y jeter un coup d’oeil.
Videopress
Site Internet : (...) -
Script d’installation automatique de MediaSPIP
25 avril 2011, parAfin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
La documentation de l’utilisation du script d’installation (...) -
Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs
12 avril 2011, parLa manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.
Sur d’autres sites (2005)
-
where to save mpd file in raspberry pi so dash.js can access it remotely ?
11 mai 2016, par DjmThis is very high level question. I want to stream a live video from raspberry pi. I want to be able to watch live video in the browser remotely being streamed by the Raspberry pi.I want to use DASH stream protocol, and Dash.js as client to HTML5. I have looked through different tutorials but i am still puzzled about how this works.I understand that (assuming you have already prepared your videos with FFMPEG tool) from the client Dash.js
you have to make a call/request and pass a url to your mpd file. My question is where would you save the file in raspberry pi especially if the Dash client is in a different web app(i want to make the call remotely) ? -
Spring Boot serving an m3u8 playlist
13 octobre 2023, par Ph33lyI'm trying to serve an m3u8 playlist through Spring Boot. I have a running ffmpeg process that is transcoding a multicast in real-time and sending the files to /src/resources/public/output.m3u8. I see the playlist updating and the new .ts files being generated correctly however when trying to watch the stream in a video player, it only plays a certain amount of video. Is there a way to properly serve up a running playlist in Java instead of serving it statically ?



EDIT : When starting a basic http server with python
python3 -m http.server
, I'm able to view the stream perfectly fine. Is there a Spring Boot way to accomplish the same task ?

-
How to read stream data as chunk ?
5 juillet 2022, par imagesckI try to lean, how to read chunk of stream data. It almost works, it likes i misunderstanding implement allocate buffer size in pause event of stdout. the video that i use is https://www.youtube.com/watch?v=oiNkumxPVzU. 480p. ffmpeg freeze to encode at 03:53, no error, just freeze likes missing require bytes. the video length exactly is 03:55.


const { spawn } = require('child_process');
const path = require('path');

const decArgs = [
 '-i', path.join(__dirname + '/public/future.mkv'),
 '-an',
 '-pix_fmt', 'rgb32',
 '-f', 'rawvideo',
 '-'
];

const decode = spawn('ffmpeg', decArgs, {
 stdio: [
 'ignore',
 'pipe',
 'ignore'
 ] 
});

// Encode section
const width = 854;
const height = 480;
const channels = 4;
const fps = 29.97002997002997.toString();
const colorsLength = width*height*channels;


const encArgs = [
 '-pix_fmt', 'rgb32',
 '-f', 'rawvideo',
 '-s', `${width}x${height}`,
 '-r', fps,
 '-i', '-',
 '-c:v', 'libx264',
 '-preset', 'ultrafast',
 '-crf', '30',
 '-pix_fmt', 'yuv420p',
 '-r', fps,
 '-y',
 path.join(__dirname + '/public/output.mp4')
];

const encode = spawn('ffmpeg', encArgs, {
 stdio: [
 'pipe',
 'ignore',
 'pipe'
 ]
});

// colors RGBA
let buffer = Buffer.alloc(0);
decode.stdout.on('data', data => {
 const allocSize = buffer.length + data.length;
 buffer = Buffer.concat([buffer, data], allocSize);
 
 if (buffer.length > colorsLength) decode.stdout.pause();
});

decode.stdout.on('pause', () => {
 // Create new buffer with size of colors length
 const bufferData = Buffer.alloc(colorsLength);
 buffer.copy(bufferData, 0, 0, colorsLength);
 // after manipulate the buffer send it to encode
 encode.stdin.write(bufferData);
 
 // Create new buffer to take out left buffer. cause stream length cant be predict.
 const leftBuffer = Buffer.alloc(buffer.length - bufferData.length);
 buffer.copy(leftBuffer, 0, buffer.length - bufferData.length, buffer.length);
 buffer = leftBuffer;

 decode.stdout.resume()
});

decode.stdout.on('end', () => {
 if (buffer.length) encode.stdin.write(buffer);
})

encode.stderr.on('data', data => {
 console.log(data.toString())
})