91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 148KB
    文件類型: .zip
    金幣: 2
    下載: 1 次
    發布日期: 2021-06-13
  • 語言: Html/CSS
  • 標簽: jsmpeg??

資源簡介

ffmpeg+websocket+jsmpeg實現html播放rtsp實時視頻流,它主要是通過webSocket發送MPEG,前端通過js解析MPEG不斷繪制canvas,包括音頻。最終測試的結果就是一個1920*1080分辨率的畫面延時大概的0.5s左右

資源截圖

代碼片段和文件信息

#include?
#include?
#include?

#include?“buffer.h“

typedef?struct?bit_buffer_t?{
uint8_t?*bytes;
unsigned?int?index;
unsigned?int?byte_capacity;
unsigned?int?byte_length;
bit_buffer_mode_t?mode;
}?bit_buffer_t;

void?bit_buffer_resize(bit_buffer_t?*self?unsigned?int?byte_capacity);
void?bit_buffer_evict(bit_buffer_t?*self?unsigned?int?bytes_needed);



bit_buffer_t?*bit_buffer_create(unsigned?int?initial_byte_capacity?bit_buffer_mode_t?mode)?{
bit_buffer_t?*self?=?malloc(sizeof(bit_buffer_t));
self->mode?=?mode;
self->bytes?=?malloc(initial_byte_capacity);
self->byte_capacity?=?initial_byte_capacity;
self->byte_length?=?0;
self->index?=?0;
return?self;
}


void?bit_buffer_destroy(bit_buffer_t?*self)?{
free(self->bytes);
free(self);
}


int?bit_buffer_get_index(bit_buffer_t?*self)?{
return?self->index;
}


void?bit_buffer_set_index(bit_buffer_t?*self?unsigned?int?index)?{
self->index?=?index;?//?TODO?check?validity!
}


uint8_t?*bit_buffer_get_write_ptr(bit_buffer_t?*self?unsigned?int?bytes_to_write)?{
int?bytes_available?=?self->byte_capacity?-?self->byte_length;

if?(bytes_to_write?>?bytes_available)?{
if?(self->mode?==?BIT_BUFFER_MODE_EXPAND)?{
int?new_byte_capacity?=?self->byte_capacity?*?2;
if?(new_byte_capacity?+?bytes_available? new_byte_capacity?=?bytes_to_write?-?bytes_available;
}
bit_buffer_resize(self?new_byte_capacity);
}
else?{
bit_buffer_evict(self?bytes_to_write);
}
}

return?self->bytes?+?self->byte_length;
};


void?bit_buffer_did_write(bit_buffer_t?*self?unsigned?int?bytes_written)?{
self->byte_length?+=?bytes_written;
}


int?bit_buffer_find_next_start_code(bit_buffer_t?*self)?{
for?(int?i?=?((self->index?+?7)?>>?3);?i?byte_length;?i++)?{
if(
self->bytes[i]?==?0x00?&&
self->bytes[i+1]?==?0x00?&&
self->bytes[i+2]?==?0x01
)?{
self->index?=?(i+4)?< return?self->bytes[i+3];
}
}
self->index?=?(self->byte_length?< return?-1;
}


int?bit_buffer_find_start_code(bit_buffer_t?*self?int?code)?{
int?current?=?0;
while?(true)?{
current?=?bit_buffer_find_next_start_code(self);
if?(current?==?code?||?current?==?-1)?{
return?current;
}
}
return?-1;
}


int?bit_buffer_next_bytes_are_start_code(bit_buffer_t?*self)?{
int?i?=?((self->index?+?7)?>>?3);
return?(
i?>=?self->byte_length?||?(
self->bytes[i]?==?0x00?&&?
self->bytes[i+1]?==?0x00?&&
self->bytes[i+2]?==?0x01

);
}


int?bit_buffer_peek(bit_buffer_t?*self?unsigned?int?count)?{
int?offset?=?self->index;
int?value?=?0;
while?(count)?{
int?current_byte?=?self->bytes[offset?>>?3];
int?remaining?=?8?-?(offset?&?7);?//?remaining?bits?in?byte
int?read?=?remaining? int?shift?=?remaining?-?read;
int?mask?=?(0xff?>>?(8-read));

value?=?(value?<>?shift);

offset?+=?read;
count?-=?read;
}

return?value;
}


int?b

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2020-03-02?17:22??jsmpeg-master\
?????文件????????2273??2019-05-28?22:22??jsmpeg-master\build.sh
?????文件??????139179??2019-05-28?22:22??jsmpeg-master\jsmpeg.min.js
?????文件????????1084??2019-05-28?22:22??jsmpeg-master\LICENSE
?????目錄???????????0??2020-03-02?17:25??jsmpeg-master\node_modules\
?????目錄???????????0??2020-03-02?17:25??jsmpeg-master\node_modules\ws\
?????文件?????????175??1985-10-26?16:15??jsmpeg-master\node_modules\ws\browser.js
?????文件?????????296??1985-10-26?16:15??jsmpeg-master\node_modules\ws\index.js
?????目錄???????????0??2020-03-02?17:25??jsmpeg-master\node_modules\ws\lib\
?????文件????????3389??1985-10-26?16:15??jsmpeg-master\node_modules\ws\lib\buffer-util.js
?????文件?????????268??1985-10-26?16:15??jsmpeg-master\node_modules\ws\lib\constants.js
?????文件????????3937??1985-10-26?16:15??jsmpeg-master\node_modules\ws\lib\event-target.js
?????文件????????6883??1985-10-26?16:15??jsmpeg-master\node_modules\ws\lib\extension.js
?????文件?????????981??1985-10-26?16:15??jsmpeg-master\node_modules\ws\lib\limiter.js
?????文件???????14239??1985-10-26?16:15??jsmpeg-master\node_modules\ws\lib\permessage-deflate.js
?????文件???????11968??1985-10-26?16:15??jsmpeg-master\node_modules\ws\lib\receiver.js
?????文件????????9523??1985-10-26?16:15??jsmpeg-master\node_modules\ws\lib\sender.js
?????文件????????3410??1985-10-26?16:15??jsmpeg-master\node_modules\ws\lib\stream.js
?????文件?????????695??1985-10-26?16:15??jsmpeg-master\node_modules\ws\lib\validation.js
?????文件???????11460??1985-10-26?16:15??jsmpeg-master\node_modules\ws\lib\websocket-server.js
?????文件???????24275??1985-10-26?16:15??jsmpeg-master\node_modules\ws\lib\websocket.js
?????文件????????1106??1985-10-26?16:15??jsmpeg-master\node_modules\ws\LICENSE
?????文件????????2542??2020-03-02?17:25??jsmpeg-master\node_modules\ws\package.json
?????文件???????13769??1985-10-26?16:15??jsmpeg-master\node_modules\ws\README.md
?????文件?????????299??2020-03-02?17:22??jsmpeg-master\package-lock.json
?????文件???????14827??2019-05-28?22:22??jsmpeg-master\README.md
?????目錄???????????0??2020-03-02?17:20??jsmpeg-master\src\
?????文件????????3326??2019-05-28?22:22??jsmpeg-master\src\ajax-progressive.js
?????文件????????1517??2019-05-28?22:22??jsmpeg-master\src\ajax.js
?????文件????????4498??2019-05-28?22:22??jsmpeg-master\src\buffer.js
?????文件????????2873??2019-05-28?22:22??jsmpeg-master\src\canvas2d.js
............此處省略23個文件信息

評論

共有 條評論

相關資源