簡體   English   中英

如何從視頻文件中使用的ffmpeg提取圖像的流

[英]How to extract stream of images from video file using ffmpeg

我想使用ffmpeg從視頻文件中提取圖像流。

我知道我可以使用以下參數將它們直接提取到硬盤中:

-i - -qscale 1個小時:\\出\\ img-%05d.jpg

但我想直接提取到流中。

到目前為止,這是我的代碼:

private void ExtractImagesFromVideo(byte[] data,string _args)
    {
        try
        {
            serverBuild = new Process();
            serverBuild.StartInfo.WorkingDirectory = Environment.CurrentDirectory;
            serverBuild.StartInfo.Arguments = _args;
            serverBuild.StartInfo.FileName = Environment.CurrentDirectory + @"\ffmpeg.exe";
            serverBuild.StartInfo.UseShellExecute = false;
            serverBuild.StartInfo.RedirectStandardOutput = true;
            serverBuild.StartInfo.RedirectStandardError = true;
            serverBuild.StartInfo.RedirectStandardInput = true;
            serverBuild.StartInfo.CreateNoWindow = true;
            serverBuild.StartInfo.LoadUserProfile = false;
            serverBuild.EnableRaisingEvents = true;
            serverBuild.Start();

            using (BinaryWriter bw = new BinaryWriter(serverBuild.StandardInput.BaseStream))
            {
                bw.Write(data);
            }

            mStandardOutput = serverBuild.StandardOutput.BaseStream;
            mStandardOutput.BeginRead(mReadBuffer, 0, mReadBuffer.Length, StandardOutputReadCallback, null);
            serverBuild.WaitForExit();
            byte[] _data = mStandardOutputMs.ToArray();
            mStandardOutput.Close();

        }
        catch (Exception _ex)
        {

        }
        finally
        {               
            serverBuild.Dispose();
        }
    }

我這樣打電話:

     string _argsOut = @"-i pipe:0 -qscale 1 -f mjpeg pipe:1 ";
     ExtractImagesFromVideo(data, _argsOut);

它掛在這條線上:

bw.Write(data);

謝謝

前幾天,我在嘗試使用FFMPEG從視頻中提取單個圖像時意外地做到了這一點。

這是您想要的命令行:“-i input.flv -f image2 -vf fps = fps = 1 out%d.png”

Input.flv是源,fps = fps = 1將使視頻每秒鍾生成一張圖像,out%d.png將作為輸出文件。 在“%d”是文件名和文件擴展名,因為這將創建一個像這樣的模式之間的需求:out1.png,out2.png,out3.png等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM