Recherche avancée

Médias (91)

Autres articles (70)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le 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 (...)

  • Participer à sa documentation

    10 avril 2011

    La documentation est un des travaux les plus importants et les plus contraignants lors de la réalisation d’un outil technique.
    Tout apport extérieur à ce sujet est primordial : la critique de l’existant ; la participation à la rédaction d’articles orientés : utilisateur (administrateur de MediaSPIP ou simplement producteur de contenu) ; développeur ; la création de screencasts d’explication ; la traduction de la documentation dans une nouvelle langue ;
    Pour ce faire, vous pouvez vous inscrire sur (...)

Sur d’autres sites (8761)

  • Rsync a video stream continously and watch it

    13 juin 2017, par Ural

    I 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/fifo

    But 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 andrixnet

    Trying 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.100

    Getting 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 requested

    I 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/0

    I 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/0

    Thank you.

  • FFMPEG is not working in app service post deployment

    1er mars 2024, par Tushar Gupta

    I 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, Nullable1 priority, Boolean standardInput, Boolean standardOutput, Boolean standardError)at Xabe.FFmpeg.FFmpegWrapper.&lt;>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&amp; next, Scope&amp; scope, Object&amp; state, Boolean&amp; 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()

    &#xA;

    Code :

    &#xA;

    private async Task> PrepareVideoClips(CloudBlockBlob sourceVideoBlob, TimeSpan startTime, TimeSpan endTime)&#xA;{&#xA;    string tempDirectory = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());&#xA;&#xA;    // Create a temporary directory to store clips locally&#xA;    Directory.CreateDirectory(tempDirectory);&#xA;&#xA;    // Download the source video&#xA;    string sourceVideoPath = Path.Combine(tempDirectory, "sourceVideo.mp4");&#xA;    await sourceVideoBlob.DownloadToFileAsync(sourceVideoPath, FileMode.Create);&#xA;    FFmpeg.SetExecutablesPath("Controllers\\ffmpeg\\bin\\");&#xA;    // Use FFmpegCore to trim the video&#xA;    string outputVideoPath = Path.Combine(tempDirectory, "output.mp4");&#xA;&#xA;    await FFmpeg.Conversions.New()&#xA;        .AddParameter($"-ss {startTime.TotalSeconds}") // Start time&#xA;        .AddParameter($"-i {sourceVideoPath}")&#xA;        .AddParameter($"-to {(endTime - startTime).TotalSeconds}") // Duration&#xA;        .SetOutput(outputVideoPath)&#xA;        .Start();&#xA;&#xA;    // Return a list of file paths for the clips&#xA;    return new List<string> { outputVideoPath };&#xA;}&#xA;</string>

    &#xA;

    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.

    &#xA;