Recherche avancée

Médias (91)

Autres articles (92)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (6210)

  • Create conversion queue using ffmpeg and C #

    22 octobre 2017, par Alexei Agüero Alba

    Ok, the idea is to create a file queue that can be modified and reorganized (this is done) and for each file execute a ffmpeg process to convert it to another format.

    For conversion use Xabe.FFmpeg and .Net 4.5 all using async and await.

    The question would be how to execute an x ​​number of processes in parallel (example 4) of that variable queue and when one of them finishes executing the next one, keeping in execution always the same amount in parallel. I can start from scratch but I need ideas on how to do this in the simplest way possible. The program itself is simple (with gui) takes a folder and its subfolders all the video files and queues them and starts the conversion, you can add other folders with more files, and independent files reorder them, to convert whichever is the greater.

    At one point I found a package I think nuget (or github) that did exactly what I needed but I have not been able to get back.

    Thanks for your help in advance.

    Excuse the English because I use the translator of Google for being faster because my domain of this is limited but sufficient to understand the answers.


    Ok, I found what I was looking for called ProcessManager is a nupkg package. It has 2 years of development but seems stable. The only drawback is that it does not allow me to organize the conversion queue once you have added the files, although I have to try some ideas that maybe functions.

    var manager = new Manager(4); // Max 4 processes will be started simultaneously
    manager.Start();

    manager.ProcessErrorDataReceived += (sender, e) => Console.WriteLine(e.Data);
    manager.ProcessOutputDataReceived += (sender, e) => Console.WriteLine(e.Data);

    foreach (var videoFileName in Directory.EnumerateFiles("videos"))
    {
       var info = new ProcessInfo(
           "ffprobe.exe",
           string.Format("-v quiet -print_format json -show_format -show_streams \"{0}\"", videoFileName));

       manager.Queue(info);
    }

    Process Manager

  • c# ffmpeg encode/decode audio and video

    31 juillet 2017, par IC.Fulvio

    I’m writing C# code to stream audio and video through RTSP. I use ffmpe.Autogen wrapper and NAudio. With the video I have no problem, hevc 25fps.

    About audio, I capture audio samples with NAudio and after, I copy the buffer in the AVframe data of ffmpeg. The audio codec that I use is : AAC f32le 44,1 khz. When I encode, in the main loop, I write one video frame and after one audio frame.

    while (video_st != null)
           {

               img1.CopyTo(imgframe);
               var startFrame = DateTime.Now;

               ret = Utility_ffmpeg.write_video_frame(outContext, video_st, frameCount, &dst_picture, frame, ref imgframe, sws_ctx);

               if (ret < 0)
               {
                   Debug.WriteLine("Write video frame failed.\n");
                   return;
               }

               var streamDuration = DateTime.Now - startSend;

               //audio
               if (enable_audio && srcAudio.audio_buff != null)
                   {

                   if (srcAudio.audio_buff_dim > 0)
                   {
                       lock (srcAudio.audio_buff)
                       {
                           frameCount++;
                           Utility_ffmpeg.write_audio_frame(outContext, srcAudio.audio_buff, srcAudio.audio_buff_dim, audio_st, frameCount);
                       }
                   }
               }

               Debug.WriteLine("Elapsed time " + streamDuration + ", video stream pts " + video_st->pts.val + ".\n");

               var frameDuration = DateTime.Now - startFrame;
               Debug.WriteLine(frameDuration+" total \n");
               //System.Threading.Thread.Sleep((int)((long)1000.0 / (long)STREAM_FRAME_RATE - (long)frameDuration.TotalSeconds));
               System.Threading.Thread.Sleep(40);

               //}
           }

    When I decode the video all is ok but the audio comes and goes. The synchronization is ok.
    I think the problem is that I need to send more audio frame then video, but I’m not sure. Someone has an idea about the origin of the problem ?
    Thanks in advance and sorry for my English.

  • FFMPEG send new segment to NAS while backup localhost [duplicate]

    27 juillet 2020, par BudinDelCielo

    ffmpeg captures my device (Game Capture 4K60 Pro MK.2 Video) on my local disk "D" and generates new segments every 1 hour 24 hours. everything works perfect. I would like to suppose two examples of failures.

    


    Is it possible to send my segments to my brakes simultaneously while it is stored on my D disk ?

    


    What would happen if my NAS were disconnected from the Network ? Could I continue capturing on my D disk, until the smb service is fixed ?

    


    How can I indicate in another batch process that a new segment is now available to copy to the NAS ? File sizes are not always the same because they vary by compression or duration by the -f -segment_time 3600 command. files never have the exact duration of an hour, so I am a bit lost to manage my segments. The new segments are 0kb, but could be due to capture failures, so here is my problem how to get information in another batch about the state of the segments.
Sorry my bad English.

    


    Thank you so much

    


    ffmpeg -hide_banner -guess_layout_max 0 ^
-f dshow -rtbufsize 1024M -video_size 1280x720 -i %DEVICE% ^
-c: v h264 -r 30000/1001 -aspect 16: 9 ^
-preset: v ultrafast -tune zerolatency -pix_fmt yuv420p ^
-c: a aac -ac 1 -ar 48000 -af aresample = async = 250 ^
-f segment -segment_time 3600 -strftime 1 -reset_timestamps 1 ^
-segment_format mp4 D:\%%Y%%m%%d-%%H%%M%%S.mp4


    


    it has not worked for me
FFMPEG : How to stream to multiple outputs with the same encoding independently

    


    Output #0, tee, to '[f=fifo:fifo_format=segment:segment_time=60:segment_atclocktime=1:strftime=1:reset_timestamps=1:segment_format=mp4]%Y%m%d-%H%M%S.mp4|[f=fifo:fifo_format=segment:segment_time=60:segment_atclocktime=1:strftime=1:reset_timestamps=1:segment_format=mp4]C :\Users\Home\Desktop\2%Y%m%d-%H%M%S.mp4' :
Output file #0 does not contain any stream