
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (59)
-
Participer à sa traduction
10 avril 2011Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
Actuellement MediaSPIP n’est disponible qu’en français et (...) -
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. -
Changer son thème graphique
22 février 2011, parLe thème graphique ne touche pas à la disposition à proprement dite des éléments dans la page. Il ne fait que modifier l’apparence des éléments.
Le placement peut être modifié effectivement, mais cette modification n’est que visuelle et non pas au niveau de la représentation sémantique de la page.
Modifier le thème graphique utilisé
Pour modifier le thème graphique utilisé, il est nécessaire que le plugin zen-garden soit activé sur le site.
Il suffit ensuite de se rendre dans l’espace de configuration du (...)
Sur d’autres sites (3427)
-
Revision 30148 : On pousse encore un peu plus loin la conf (toujours pas utilisable dans ...
24 juillet 2009, par kent1@… — LogOn pousse encore un peu plus loin la conf (toujours pas utilisable dans l’état)
-
How to make FFmpeg download only the required segments [closed]
25 juillet, par daniil_I'm developing a tool, that create timelapse. For this purpose I use ffmpeg 7.1.1 verion.
I have a playlist file called index.m3u8 (inside it there are URLs to TS segments—typically around 5,000 of them). Here’s a small excerpt :


#EXTM3U
#EXT-X-TARGETDURATION:12
#EXT-X-VERSION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:EVENT
#EXT-X-START:TIME-OFFSET=8,PRECISE=YES
#EXT-X-PROGRAM-DATE-TIME:2025-07-22T07:59:51.173Z
#EXTINF:10.080,
https://my-storage.io/receiver/archives/3a1b162d-392d-d45a-089a-dc93fb842a35/files/2025-07-22/07/59/1753171191173_aa_00000_00000_10080.ts?exp=1753543086&signature=MEYCIQCx_hDnFVwk7WJyQG5QujV5ZGhLoBqkD5uoQFebha1knQIhAMJm1KA5DLEuqD4_5zS5QlzTGIuj5q9TCUcML7MEPMl7
#EXT-X-PROGRAM-DATE-TIME:2025-07-22T08:00:01.253Z
#EXTINF:10.080,
https://my-storage.io/receiver/archives/3a1b162d-392d-d45a-089a-dc93fb842a35/files/2025-07-22/08/00/1753171201253_aa_00000_00000_10080.ts?exp=1753543086&signature=MEYCIQCx_hDnFVwk7WJyQG5QujV5ZGhLoBqkD5uoQFebha1knQIhAMJm1KA5DLEuqD4_5zS5QlzTGIuj5q9TCUcML7MEPMl7
#EXT-X-PROGRAM-DATE-TIME:2025-07-22T08:00:11.333Z
#EXTINF:10.021,
https://my-storage.io/receiver/archives/3a1b162d-392d-d45a-089a-dc93fb842a35/files/2025-07-22/08/00/1753171211333_aa_00000_00000_10021.ts?exp=1753543086&signature=MEYCIQCx_hDnFVwk7WJyQG5QujV5ZGhLoBqkD5uoQFebha1knQIhAMJm1KA5DLEuqD4_5zS5QlzTGIuj5q9TCUcML7MEPMl7
#EXT-X-PROGRAM-DATE-TIME:2025-07-22T08:00:21.354Z
#EXTINF:10.079,
https://my-storage.io/receiver/archives/3a1b162d-392d-d45a-089a-dc93fb842a35/files/2025-07-22/08/00/1753171221354_aa_00000_00000_10079.ts?exp=1753543086&signature=MEYCIQCx_hDnFVwk7WJyQG5QujV5ZGhLoBqkD5uoQFebha1knQIhAMJm1KA5DLEuqD4_5zS5QlzTGIuj5q9TCUcML7MEPMl7
#EXT-X-PROGRAM-DATE-TIME:2025-07-22T08:00:31.433Z
...



I’m trying to extract still images from the stream at specific moments.


When I run a command like :


ffmpeg \
 -analyzeduration 5000000 \
 -probesize 5000000 \
 -err_detect ignore_err \
 -protocol_whitelist file,http,https,tcp,tls \
 -allowed_extensions ALL \
 -f hls \
 -y \
 -ss 11316.719 \
 -i /Users/daniil/Desktop/test/exports/.../index.m3u8 \
 -frames:v 1 \
 -q:v 2 \
 /Users/daniil/Desktop/test/exports/.../frames/frame_00100.png



ffmpeg downloads segments 1 and 2 (presumably to probe the format), and then it downloads two more TS files around the target timestamp.


But as soon as I push the -ss value beyond a certain point—in my case -ss 8487.54—it starts downloading every TS segment from the very start of the playlist up to the one I need. That can easily be 1,000 TS files or more. In other words, when -ss is between 0 and 8374.372, everything works fine, but beyond that it exhibits this strange behavior.


-
exe file not executing from deployed ASP.NET MVC app in TAS (Tanzu /PCF)
24 juin, par Darshan AdakaneI am facing an issue for my ASP.NET MVC web application on .NET 4 being deployed to TAS.


I am trying to do image compression using
ffmpeg.exe
.

While it is working on my local machine, I get an "500 internal server error" when deployed to TAS (tanzu application server). I am using
hwc_buildpack
and storing the file inPath.GetTemp()
folder for testing.

applications:
- name: MyApp-Dev
 memory: 1G
 instances: 1
 stack: windows
 buildpacks:
 - hwc_buildpack
 path: \MyAppnew\obj\Release\Package\PackageTmp
 env:
 services:
 routes:
 - route: myapp-dev.apps.company.com
 - route: myapp-dev.company.com



I also see that the
.exe
is being published when app I deployed. I am assuming if TAS has NO permission to read exe or read exe 'not allowed' policy.

This is my code :


[HttpPost]
[Route("uploadimage")]
public async Task<ihttpactionresult> UploadImage()
{
 try
 {
 if (!Request.Content.IsMimeMultipartContent())
 return BadRequest("Unsupported media type.");

 Console.WriteLine("UploadImage method started.");

 var provider = new MultipartMemoryStreamProvider();
 await Request.Content.ReadAsMultipartAsync(provider);

 Console.WriteLine($"Total Files available: {provider.Contents.Count}, {provider.Contents}");

 foreach (var file in provider.Contents)
 {
 try
 {
 var imageFile = await file.ReadAsByteArrayAsync();
 Console.WriteLine($"imageFile, { imageFile.Length }");
 var rawFileName = file.Headers.ContentDisposition.FileName.Trim('"');
 Console.WriteLine($"rawFileName, {rawFileName}");
 var fileName = Path.GetFileName(rawFileName); // Sanitize filename
 Console.WriteLine($"fileName, {fileName}");

 // Check file size limit (300MB)
 if (imageFile.Length > 300 * 1024 * 1024) // 300MB limit
 {
 Console.WriteLine("File size exceeds 300MB limit.");
 return BadRequest("File size exceeds 300MB limit.");
 }

 var inputFilePath = Path.Combine(_uploadFolder, fileName);
 Console.WriteLine($"inputFilePath, {inputFilePath}");

 var outputFilePath = Path.Combine(_uploadFolder, "compressed_" + fileName);
 Console.WriteLine($"outputFilePath, {outputFilePath}");

 // Save uploaded file to disk
 File.WriteAllBytes(inputFilePath, imageFile);

 // Check if the input file exists
 if (!File.Exists(inputFilePath))
 {
 Console.WriteLine($"Input file does not exist: {inputFilePath}");
 return InternalServerError(new Exception($"❌ Input file does not exist: {inputFilePath}"));
 }

 //Console.WriteLine($"✅ FFmpeg found at path: {ffmpegFullPath}");

 await FFMpegArguments
 .FromFileInput(inputFilePath)
 .OutputToFile(outputFilePath, overwrite: true, options => options
 .WithCustomArgument("-vf scale=800:-1")
 .WithCustomArgument("-q:v 10")
 )
 .ProcessAsynchronously();

 Console.WriteLine($"outputFilePath, {outputFilePath}");

 // Check if the output file was created
 if (File.Exists(outputFilePath))
 {
 var fileInfo = new FileInfo(outputFilePath); // Get file info

 Console.WriteLine($"outputFileInfoPropsFullName, {fileInfo.FullName}");
 Console.WriteLine($"outputFileInfoPropsLength, {fileInfo.Length}");

 var compressedFileBytes = File.ReadAllBytes(outputFilePath);
 var compressedFileBase64 = Convert.ToBase64String(compressedFileBytes);

 return Ok(new
 {
 Message = "Image uploaded and compressed successfully.",
 CompressedImagePath = outputFilePath,
 CompressedFileSize = fileInfo.Length, // Size in bytes
 CompressedFileBase64 = compressedFileBase64
 });
 }
 else
 {
 Console.WriteLine("OutputFilePath File not exists.");
 return InternalServerError(new Exception($"❌ Failed to create compressed file: {outputFilePath}"));
 });
 }
 catch (Exception ex)
 {
 Console.WriteLine($"File TRYCATCH:{ex}");
 return InternalServerError(new Exception("Image compression failed: " + ex.Message));
 }
 }
 }
 catch (Exception ex)
 {
 Console.WriteLine($"Method TRYCATCH:{ex}");
 throw;
 }

 return BadRequest("No image file uploaded.");
}
</ihttpactionresult>


I'm getting this error in my tanzu environment logs from the code when I execute :


await FFMpegArguments



This is the exception log :


FFMpegCore.Exceptions.FFMpegException: ffmpeg was not found on your system



I also see that the
.exe
files do exist in TAS in these logs :

2025-06-13T16:07:55.878+05:30 [APP/PROC/WEB/0] [OUT] PATH of FFmpeg Executable: C:\Users\vcap\app\ffmpeg-bin\ffmpeg.exe
2025-06-13T16:07:55.878+05:30 [APP/PROC/WEB/0] [OUT] PATH of ffmpegPath: C:\Users\vcap\app\ffmpeg-bin
2025-06-13T16:07:55.878+05:30 [APP/PROC/WEB/0] [OUT] PATH of BaseDirectory: C:\Users\vcap\app\
2025-06-13T16:07:55.881+05:30 [APP/PROC/WEB/0] [OUT] TempPath: C:\Users\vcap\AppData\Local\Temp\ 
 2025-06-24T18:39:50.684+05:30 [APP/PROC/WEB/0] [OUT] at MCANew.Controllers.Api.MessagesController.<uploadimage>d__6.MoveNext() in I:\Agents\Agent-Win-B\_work\3033\s\MCANew\Controllers\Api\MessagesController.cs:line 133
2025-06-24T18:39:50.684+05:30 [APP/PROC/WEB/0] [OUT] at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
2025-06-24T18:39:50.684+05:30 [APP/PROC/WEB/0] [OUT] --- End of stack trace from previous location where exception was thrown ---
2025-06-24T18:39:50.684+05:30 [APP/PROC/WEB/0] [OUT] at FFMpegCore.FFMpegArgumentProcessor.<processasynchronously>d__24.MoveNext()
2025-06-24T18:39:50.684+05:30 [APP/PROC/WEB/0] [OUT] at FFMpegCore.FFMpegArgumentProcessor.PrepareProcessArguments(FFOptions ffOptions, CancellationTokenSource& cancellationTokenSource)
2025-06-24T18:39:50.684+05:30 [APP/PROC/WEB/0] [OUT] at FFMpegCore.Helpers.FFMpegHelper.VerifyFFMpegExists(FFOptions ffMpegOptions)
2025-06-24T18:39:50.684+05:30 [APP/PROC/WEB/0] [OUT] File TRYCATCH:FFMpegCore.Exceptions.FFMpegException: ffmpeg was not found on your system
</processasynchronously></uploadimage>


My objective is to run successfully exe on TAS and image compression to happen.