簡體   English   中英

我們可以將實時視頻流轉換為字節數組嗎?

[英]Can we convert a live video stream into a byte array?

我正在使用C#.NET,我從url(rtsp:// streamurl)獲取實時視頻流。 現在,我想知道是否可以將實時流轉換為字節數組,以便可以使用NReco.VideoConverter組件使用.h264對該流進行編碼,然后通過服務器對其進行流傳輸。

我目前正在收集有關NReco.VideoEncoder的詳細信息並研究基礎知識。 它具有一種轉換實時視頻流的方法 ,但是對於輸入文件,它需要System.IO.Stream而不是URL路徑。 這就是為什么我問這個問題。 謝謝!

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

查看鏈接到界面的鏈接時,您將看到:

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

Stream非常靈活(第一個輸入參數),因此您應該能夠使用文件和Web中的任何內容……因此您應該能夠以這種方式進行操作(尚未編譯此代碼):

  // 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#Stream(或網絡攝像頭,RTSP URL,文件)到C#Stream(或流服務器URL,文件)的實時視頻流轉碼

暫無
暫無

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

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