簡體   English   中英

ffmpeg將流轉換為jpg緩沖區而不保存磁盤

[英]ffmpeg convert stream to jpg buffer without saving do disk

我有一個從客戶端到服務器的webrtc視頻流。 我想將流轉換為jpg圖像,但不將任何圖像保存到磁盤(僅從內存工作)。 當前,我正在使用此命令行功能(從node js調用):

var ops = [
'-i', '-',
'-f', 'image2',
'-vcodec', 'mjpeg',
'-b:v', '1000k',
'-q:v', '2',
'-s', '640x480',
'-updatefirst', '1',
'-',
];

ffmpeg_process = cp.spawn('ffmpeg', ops);

ffmpeg_process.stdout.on('data', function(chunk) {
var size = chunk.length
data += chunk
if (((chunk[size - 2] << 8) + chunk[size - 1]) === 65497)  //EOF 
{
   if (data) 
  {
lib.addFrame(Buffer(data).toString('base64')) //full jpg data
  }
  data = ''
}
};

但是,某些輸出的jpg圖像已損壞。 這是因為有時緩沖區僅包含jpg圖像數據的一部分。

為了正確創建jpg圖像,需要傳遞給ffmpeg的正確參數是什么?

我不太記得,但shinobiCE對此情況有一些代碼。 你可以看看 這是一個巨大的項目,祝您好運!

暫無
暫無

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

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