
Recherche avancée
Médias (91)
-
Spoon - Revenge !
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
My Morning Jacket - One Big Holiday
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Zap Mama - Wadidyusay ?
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
David Byrne - My Fair Lady
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Beastie Boys - Now Get Busy
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Granite de l’Aber Ildut
9 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
Autres articles (41)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Les vidéos
21 avril 2011, parComme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...) -
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)
Sur d’autres sites (7060)
-
The problem of code that generated typescript (node-fluent-ffmpeg module)
10 décembre 2022, par Steve RockThis is my typescript code :



import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { FfmpegCommand } from 'fluent-ffmpeg'

async function bootstrap() {
 const app = await NestFactory.create(AppModule);
 let test

 try {
 test = new FfmpegCommand('./adventure.mkv');
 } catch (error) {
 console.log(error);

 }

 await app.listen(3000);
}

bootstrap();




Generated Javascript code :



"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
 return new (P || (P = Promise))(function (resolve, reject) {
 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
 step((generator = generator.apply(thisArg, _arguments || [])).next());
 });
};
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@nestjs/core");
const app_module_1 = require("./app.module");
const fluent_ffmpeg_1 = require("fluent-ffmpeg");
function bootstrap() {
 return __awaiter(this, void 0, void 0, function* () {
 const app = yield core_1.NestFactory.create(app_module_1.AppModule);
 let test;
 try {
 test = new fluent_ffmpeg_1.FfmpegCommand('./adventure.mkv');
 }
 catch (error) {
 console.log(error);
 }
 yield app.listen(3000);
 });
}
bootstrap();
//# sourceMappingURL=main.js.map




When I run this application I've next error :



main.ts:12
message :"fluent_ffmpeg_1.FfmpegCommand is not a constructor"
stack :"TypeError : fluent_ffmpeg_1.FfmpegCommand is not a constructor\n at c :\nest\dist\src\main.js:20:20\n at Generator.next ()\n at fulfilled (c :\nest\dist\src\main.js:5:58)\n at process._tickCallback (internal/process/next_tick.js:68:7)\n at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)\n at startup (internal/bootstrap/node.js:283:19)\n at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)"



That's beacause this raw test = new fluent_ffmpeg_1.FfmpegCommand('./adventure.mkv'). When I change this on just test = new fluent_ffmpeg_1('./adventure.mkv') I haven't the error. Do you know how to fix it. If you know where are ffmpeg exapmles on typescript please share with me :)


-
FFmpeg pauses the extraction of frames at 20% (but when closed, dumps all frames to disk)
1er décembre 2019, par Nicke ManarinI’m trying to extract frames from a video using FFmpeg. I want to be able to control which frames to extract, by setting the start, end and FPS values.
The problem is, that after the extraction begins, FFmpeg stops after 20% of the way. It always stops there, independently of the frame count.
This is the code that I’m using :
var start = TimeSpan.FromMilliseconds(SelectionSlider.LowerValue);
var end = TimeSpan.FromMilliseconds(SelectionSlider.UpperValue);
var fps = FpsIntegerUpDown.Value;
var count = CountFrames(); //Duration x FPS
var folder = Path.Combine(RootFolder, "Import");
var path = Path.Combine(folder, $"%0{count.ToString().Length + 1}d.png");
try
{
//Create temporary folder.
if (Directory.Exists(folder))
Directory.Delete(folder, true);
Directory.CreateDirectory(folder);
CaptureProgressBar.Value = 0;
CaptureProgressBar.Maximum = count;
var info = new ProcessStartInfo(UserSettings.All.FfmpegLocation)
{
Arguments = $" -i \"{VideoPath}\" -vsync 2 -progress pipe:1 -vf scale={VideoWidth}:{VideoHeight} -ss {start:hh\\:mm\\:ss\\.fff} -to {end:hh\\:mm\\:ss\\.fff} -hide_banner -c:v png -r {fps} -vframes {count} \"{path}\"",
CreateNoWindow = true,
ErrorDialog = false,
UseShellExecute = false,
RedirectStandardError = true,
RedirectStandardOutput = true
};
_process = new Process();
_process.OutputDataReceived += (sender, e) =>
{
Debug.WriteLine(e.Data);
if (string.IsNullOrEmpty(e.Data))
return;
var parsed = e.Data.Split('=');
switch (parsed[0])
{
case "frame":
Dispatcher?.InvokeAsync(() => { CaptureProgressBar.Value = Convert.ToDouble(parsed[1]); });
break;
case "progress":
if (parsed[1] == "end" && IsLoaded)
GetFiles(folder); //Get all files from the output folder.
break;
}
};
_process.ErrorDataReceived += (sender, e) =>
{
if (!string.IsNullOrEmpty(e.Data))
throw new Exception("Error while capturing frames with FFmpeg.") { HelpLink = $"Command:\n\r{info.Arguments}\n\rResult:\n\r{e.Data}" };
};
_process.StartInfo = info;
_process.Start();
_process.BeginOutputReadLine();
//Just to wait...
await Task.Factory.StartNew(() => _process.WaitForExit());So, after starting the import process, FFmpeg will extract some frames, and after reaching around 20%, it will pause the extraction.
frame=95
fps=5.79
stream_0_0_q=-0.0
bitrate=N/A
total_size=N/A
out_time_us=1400000
out_time_ms=1400000
out_time=00:00:01.400000
dup_frames=0
drop_frames=0
speed=0.0854x
progress=continue
frame=106
fps=6.25
stream_0_0_q=-0.0
bitrate=N/A
total_size=N/A
out_time_us=1583333
out_time_ms=1583333
out_time=00:00:01.583333
dup_frames=0
drop_frames=0
speed=0.0933x
progress=continue
frame=117
fps=6.67
stream_0_0_q=-0.0
bitrate=N/A
total_size=N/A
out_time_us=1766667
out_time_ms=1766667
out_time=00:00:01.766667
dup_frames=0
drop_frames=0
speed=0.101x
progress=continueSomething strange : if I close the app while is the extraction is paused, suddenly FFmpeg will dump all frames to the folder.
Why would FFmpeg pause the extraction at all (But continue doing in memory) ?
Is there any way for me to force FFmpeg to extract the frames normally ?PS : It does not happen while using FFmpeg via cmd, so it must be something in code.
-
MJPEG Stream works in Firefox but not in Chrome
11 décembre 2019, par MaorationWe have a system that contains cameras and we want to stream them to multiple clients.
Behind the scenes on the server we get connections from cameras, we keep everything related to that camera in a CameraContainer, which also includes a mpegtsToMjpegStream that extends Duplex (both Readable and Writable Stream).after a camera connects, we open an ffmpeg process to work on the incoming mpegts stream, and output an MJPEG stream :
'-map', '0:v', '-c:v', 'mjpeg','-f', 'mjpeg', `-`,
** we are doing this because we are also mapping to other outputs, like writing files.
On the ’serving’ side, we are currently testing a simple API to GET an mjpeg stream with a camera id :
async getCameraStream(@Param('cameraId') cameraId: string, @Res() res): Promise<any> {
const cameraContainer = this.cameraBridgeService.getCameraContainer(cameraId);
if (!cameraContainer) {
throw new Error(`Camera with id: ${cameraId} was not found`);
}
if (!cameraContainer.mpegtsToMjpegStream) {
throw new Error('ERROR: mpegtsToMjpegStream stream does not exist on this camera container');
}
const writable = new Writable({
write: (chunk, encoding, callback) => {
res.write(`Content-Type: image/jpeg\r\nContent-Length: ${chunk.length}\r\n\r\n`);
res.write(chunk);
res.write('\r\n--ffmpeg_streamer\r\n');
callback();
},
});
res.set('Content-Type', 'multipart/x-mixed-replace;boundary=ffmpeg_streamer');
res.write('--ffmpeg_streamer\r\n');
cameraContainer.mpegtsToMjpegStream.pipe(writable, { end: false });
res.once('close', () => {
if (cameraContainer.mpegtsToMjpegStream && writable) {
cameraContainer.mpegtsToMjpegStream.unpipe(writable);
}
res.destroy();
});
</any>
The problem is this code works very nicely when accessing the stream with Firefox- after 1-2 seconds we get a stable, high quality, low latency stream.
With Chrome however, the same code does not behave- the video output is corrupted, disappears into a black screen all the time, and we have to keep refreshing the page constantly just to view a few seconds of the stream until it disappears again.Any suggestions as to why this happens and how can I fix it ?