
Recherche avancée
Médias (3)
-
MediaSPIP Simple : futur thème graphique par défaut ?
26 septembre 2013, par
Mis à jour : Octobre 2013
Langue : français
Type : Video
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (67)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
-
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 (7427)
-
Rsync a video stream continously and watch it
13 juin 2017, par UralI am recording a cam on a remote machine in my office. I use ffmpeg for that, and writing to mpegts file.
I want to copy that stream locally, to have a fresh copy, and watch it simultaneously.
I don’t know options for rsync to grab a changing (appending) file, so I am using loop for it, and it is very slow.while true; do rsync -avz --progress --partial --append remote:~/myvideo.mp4 ~/; done
For watching, I tried :
mkfifo /tmp/fifo
tail -f ~/myvideo.mp4 > /tmp/fifo
mplayer /tmp/fifoBut because rsync is stopping every 5 sec, it is working unstable.
How to record and stream a remote cam continuously, and use only one network stream for that ?
-
capture DV video and audio with ffmpeg and dshow
18 novembre 2016, par andrixnetTrying to capture video and audio from a DV camera, using ffmpeg, I got into a problem.
Before anything, I first tried to see (and hear) with ffplay.ffmpeg version :
ffplay version 3.0 Copyright (c) 2003-2016 the FFmpeg developers
built with gcc 5.3.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
libavutil 55. 17.103 / 55. 17.103
libavcodec 57. 24.102 / 57. 24.102
libavformat 57. 25.100 / 57. 25.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 31.100 / 6. 31.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100Getting list of DirectShow devices :
ffplay -hide_banner -f dshow -list_devices true -i dummy[dshow @ 035c4240] DirectShow video devices (some may be both video and audio devices)
[dshow @ 035c4240] "Microsoft DV Camera and VCR" sq= 0B f=0/0
[dshow @ 035c4240] Alternative name "@device_pnp_\\?\avc#canon&mvx3i&camcorder&dv#5126800000850000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
[dshow @ 035c4240] DirectShow audio devices
[dshow @ 035c4240] "1-ESI MAYA44 Ch12"
[dshow @ 035c4240] Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\1-ESI MAYA44 Ch12"
[dshow @ 035c4240] "2-ESI MAYA44 Ch34"
[dshow @ 035c4240] Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\2-ESI MAYA44 Ch34"
[dshow @ 035c4240] "3-ESI MAYA44 Ch1234"
[dshow @ 035c4240] Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\3-ESI MAYA44 Ch1234"
[dshow @ 035c4240] "Realtek HD Audio Input"
[dshow @ 035c4240] Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\Realtek HD Audio Input"
[dshow @ 035c4240] "Realtek HD Digital input"
[dshow @ 035c4240] Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\Realtek HD Digital input"
dummy: Immediate exit requestedI can use VLC with "Capture device" as input, selecting "Microsoft DV Camera and VCR" as video device and leaving "Default" as audio device and I get both video and audio.
With ffmpeg I get only video stream, no audio.
C:\>ffplay -hide_banner -f dshow -i video="Microsoft DV Camera and VCR"
Input #0, dshow, from 'video=Microsoft DV Camera and VCR':B f=0/0
Duration: N/A, start: 0.010035, bitrate: N/A
Stream #0:0: Video: dvvideo (dvsd / 0x64737664), yuv420p, 720x576 [SAR 16:15
DAR 4:3], 25 tbr, 10000k tbn, 25 tbc
0.48 M-V: 0.013 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0I don’t know how to tell ffmpeg the equivalent of "Default" audio device as VLC recognizes it.
Device options show there are 2 pins for video device (DV device has both video and audio) but how can I tell ffmpeg such that it captures both video and audio ?
C:\>ffplay -hide_banner -f dshow -list_options true -i video="Microsoft DV Camera and VCR"
[dshow @ 035c3260] DirectShow video device options (from video devices)
[dshow @ 035c3260] Pin "DV Vid Out" (alternative pin name "0")
[dshow @ 035c3260] vcodec=dvvideo min s=720x480 fps=29.97 max s=720x480 fps=2
9.97
[dshow @ 035c3260] vcodec=dvvideo min s=720x576 fps=25 max s=720x576 fps=25
[dshow @ 035c3260] vcodec=dvvideo min s=720x480 fps=29.97 max s=720x480 fps=2
9.97
[dshow @ 035c3260] vcodec=dvvideo min s=720x576 fps=25 max s=720x576 fps=25
[dshow @ 035c3260] vcodec=dvvideo min s=720x480 fps=29.97 max s=720x480 fps=2
9.97
[dshow @ 035c3260] vcodec=dvvideo min s=720x576 fps=25 max s=720x576 fps=25
[dshow @ 035c3260] Pin "DV A/V Out" (alternative pin name "1")
video=Microsoft DV Camera and VCR: Immediate exit requested f=0/0Thank you.
-
FFMPEG is not working in app service post deployment
1er mars 2024, par Tushar GuptaI using the Xabe.FFmpeg package to generate clips from a video. The code is basically converting a video to multiple clips and it's working fine in my local but whenever I am uploading the code to app service the code is not working.


Stack : .net
App Service OS : Windows


Error :


2024-02-13 08:57:34.092 +00:00 [Error] Microsoft.AspNetCore.Server.IIS.Core.IISHttpServer : Connection ID "16573246629528734243", Request ID "40000a24-0000-e600-b63f-84710c7967bb" : An unhandled exception was thrown by the application.System.ComponentModel.Win32Exception (193) : An error occurred trying to start process 'C :\home\site\wwwroot\Controllers\ffmpeg\bin\ffmpeg.exe' with working directory 'C :\home\site\wwwroot'. The specified executable is not a valid application for this OS platform.at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)at System.Diagnostics.Process.Start()at Xabe.FFmpeg.FFmpeg.RunProcess(String args, String processPath, Nullable
1 priority, Boolean standardInput, Boolean standardOutput, Boolean standardError)at Xabe.FFmpeg.FFmpegWrapper.<>c__DisplayClass14_0.<runprocess>b__0()at System.Threading.Tasks.Task</runprocess>
1.InnerInvoke()at System.Threading.Tasks.Task.<>c.<.cctor>b__281_0(Object obj)at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)--- End of stack trace from previous location ---at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)--- End of stack trace from previous location ---at Xabe.FFmpeg.Conversion.Start(String parameters, CancellationToken cancellationToken)at ExtractResponseAPI.Controllers.HomeController.PrepareVideoClips(CloudBlockBlob sourceVideoBlob, TimeSpan startTime, TimeSpan endTime) in C :\Users\tushar.h.gupta\source\repos\ExtractResponseAPI\Controllers\HomeController.cs:line 164at ExtractResponseAPI.Controllers.HomeController.GetIntervalsAsync(String query) in C :\Users\tushar.h.gupta\source\repos\ExtractResponseAPI\Controllers\HomeController.cs:line 60at ExtractResponseAPI.Controllers.HomeController.Get(String query) in C :\Users\tushar.h.gupta\source\repos\ExtractResponseAPI\Controllers\HomeController.cs:line 24at lambda_method4(Closure, Object)at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask1 actionResultValueTask)at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<invokenextactionfilterasync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<invokeinnerfilterasync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<invokefilterpipelineasync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<invokeasync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<invokeasync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)at Microsoft.AspNetCore.Server.IIS.Core.IISHttpContextOfT</invokeasync></invokeasync></invokefilterpipelineasync></invokeinnerfilterasync></invokenextactionfilterasync>
1.ProcessRequestAsync()

Code :


private async Task> PrepareVideoClips(CloudBlockBlob sourceVideoBlob, TimeSpan startTime, TimeSpan endTime)
{
 string tempDirectory = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());

 // Create a temporary directory to store clips locally
 Directory.CreateDirectory(tempDirectory);

 // Download the source video
 string sourceVideoPath = Path.Combine(tempDirectory, "sourceVideo.mp4");
 await sourceVideoBlob.DownloadToFileAsync(sourceVideoPath, FileMode.Create);
 FFmpeg.SetExecutablesPath("Controllers\\ffmpeg\\bin\\");
 // Use FFmpegCore to trim the video
 string outputVideoPath = Path.Combine(tempDirectory, "output.mp4");

 await FFmpeg.Conversions.New()
 .AddParameter($"-ss {startTime.TotalSeconds}") // Start time
 .AddParameter($"-i {sourceVideoPath}")
 .AddParameter($"-to {(endTime - startTime).TotalSeconds}") // Duration
 .SetOutput(outputVideoPath)
 .Start();

 // Return a list of file paths for the clips
 return new List<string> { outputVideoPath };
}
</string>


I tried deploying the app service using different OS but still facing the same issue, I also tried using different packages but the result is same.