Recherche avancée

Médias (0)

Mot : - Tags -/latitude

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (35)

  • 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

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

Sur d’autres sites (6890)

  • Consume RTMP ans distribute via WebSocket

    10 février 2018, par ShubhadeepB

    I have a Linux PC which streams video (with audio) from a webcam to an RTMP server (nginx). The nginx RTMP server then converts the video into HLS and that HLS stream is shown on the browsers. Everything works good. The only problem is the delay due to the HLS protocol (10-20 seconds depending on the HLS playlist size).

    I am looking for an alternative to HLS which can run on most of the major browsers. I can not use WebRTC due to the lack of audio, I can not use flash due to lack of support is mobile browsers. So my question is, is there any way to consume the RTMP stream, then distribute it via WebSocket and play on modern WebSocket supported browsers without any additional plugin ? I am using ffmpeg to publish the RTMP stream from the Linux PC. If required, the source stream can easily be changed to other live streaming protocol like RTSP. So if there’s some other solution which can solve this problem without RTMP, I can go for that too.

    Thanks in advance.

  • VP8 Misplaced Plane

    16 octobre 2010, par Multimedia Mike — VP8

    So I’m stubbornly plugging away at my toy VP8 encoder and I managed to produce this gem. See if you can spot the subtle mistake :



    The misplaced color plane resulted from using the luma plane stride where it was not appropriate. I fixed that and now chroma planes are wired to use to the same naive prediction algorithm as the luma plane.

    Also, I fixed the entropy encoder so that end of block conditions are signaled correctly (instead of my original, suboptimal hack to just encode all zeros). I was disappointed to see that this did not result in a major compression improvement. Then again, I’m using the lowest possible quantization settings for this outing, so perhaps this is to be expected.

    Sigh… 4×4 luma prediction is next. Wish me luck.

  • Using Pipes for Stream Data in FFMPEG

    17 juillet 2024, par Aryan Kumar

    I am trying to input stream and decrease the bitrate of the video without saving it anywhere so i am hoping to pass it as a stream and get the output as a stream and send it to digital ocean spaces to get saved.
But I tried lots of things but my output Stream is getting empty. and the file is empty.

    


        public async Task VideoOperationAsync(Stream inputStream)
    {
        try
        {
            // Ensure the input stream is at the beginning
            inputStream.Position = 0;

            // Create a memory stream to hold the output data
            using (var outputStream = new MemoryStream())
            {
                var arguments = $"-i pipe:0 -f mp4 pipe:1";

                await Cli.Wrap("ffmpeg")
                    .WithArguments(arguments)
                    .WithStandardInputPipe(PipeSource.FromStream(inputStream))
                    .WithStandardOutputPipe(PipeTarget.ToStream(outputStream))
                    .WithValidation(CommandResultValidation.None)
                    .ExecuteAsync();

                // Ensure the output stream is at the beginning before reading
                outputStream.Position = 0;

                using (var fileStream = new FileStream(@"D:\Gremlin-data\VideoResized\output_cropped.mp4", FileMode.Create, FileAccess.Write))
                {
                    await outputStream.CopyToAsync(fileStream);
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"An error occurred: {ex.Message}");
            throw;  // Re-throw the exception if needed
        }
    }


    


    I also earlier tried this :

    


    public async Task VideoOperationAsync(Stream inputStream)

try

// Ensure the input stream is at the beginning
inputStream.Position = 0 ;

    


            var ffmpegProcess = new Process
        {
            StartInfo = new ProcessStartInfo
            {
                FileName = "ffmpeg",  // Ensure ffmpeg is in your PATH or provide the full path
                Arguments = $"-i pipe:0 -b:v 2000k -f mp4 pipe:1",  // Correct bitrate format
                RedirectStandardInput = true,
                RedirectStandardOutput = true,
                RedirectStandardError = true,  // Capture standard error
                UseShellExecute = false,
                CreateNoWindow = true
            }
        };

        ffmpegProcess.Start();

        // Write input stream to ffmpeg's standard input asynchronously
        Task writingTask = Task.Run(async () =>
        {
            await inputStream.CopyToAsync(ffmpegProcess.StandardInput.BaseStream);
            ffmpegProcess.StandardInput.BaseStream.Close();
        });

        // Read ffmpeg's standard output to a memory stream asynchronously
        using (MemoryStream ms = new MemoryStream())
        {
            Task readingTask = Task.Run(async () =>
            {
                await ffmpegProcess.StandardOutput.BaseStream.CopyToAsync(ms);
            });