2016-01-11 46 views
0

我使用C#.NET我從一個url(rtsp:// streamurl)獲取實時視頻流。現在我想知道是否可以將此實時流轉換爲字節數組,以便我可以使用NReco.VideoConverter組件使用.h264對此Stream進行編碼,然後通過服務器進行流式傳輸。我們可以將實時視頻流轉換爲字節數組嗎?

我目前正在收集有關NReco.VideoEncoder的細節和學習基礎知識。它有a method to convert a live video stream,但對於輸入文件,它需要System.IO.Stream而不是URL路徑。這就是我問這個問題的原因。謝謝!

+0

當然,但是您需要知道需要將哪些數據(結構)放入字節流中。 – Beachwalker

+0

你是什麼意思?你能更具體一點嗎? –

回答

1

我有NReco.VideoEncoder沒有經驗,所以這只是一個猜測:

當看着你的鏈接到界面你會看到:

public ConvertLiveMediaTask ConvertLiveMedia(
    Stream inputStream, 
    string inputFormat, 
    string outputFile, 
    string outputFormat, 
    ConvertSettings settings 
) 

流是非常靈活的(第一輸入參數),所以你應該能夠使用來自任何文件以及網絡...所以你應該能夠做到這樣(沒有編譯此代碼):

// convert url to stream 
    WebRequest request=WebRequest.Create(url); // your rtsc url? 
    request.Timeout=30*60*1000; 
    request.UseDefaultCredentials=true; 
    request.Proxy.Credentials=request.Credentials; 
    WebResponse response=(WebResponse)request.GetResponse(); 
    using (Stream stream = response.GetResponseStream()) 
    { 
     var converter = new FFMpegConverter(); // init converter 
     converter.ConvertLiveMedia(stream, // put your stream here 
           "???", // problem here... no rtsc support in Formats enum found, so you might need to know the video format 
           "C:\whateverpath\whatever.hevc", // extension? 
           Format.h265); 

    } 

我不看看rtsc是怎麼回事在這裏支持,你可能需要現在什麼樣的視頻編碼首先打包到rtsc中,否則轉換器不理解輸入(至少在使用你提到的這個接口時)。 這就是我在評論中的含義:您需要知道(字節)流的數據結構以瞭解如何解釋這些位或者您必須進行猜測。

他們的網站狀態的功能:

  • 從C#流(或攝像頭,RTSP URL,文件)的實時視頻流轉換爲C# 流(或流媒體服務器的URL,文件)
相關問題