# wasm_websocket_player **Repository Path**: alan.li2015/wasm_websocket_player ## Basic Information - **Project Name**: wasm_websocket_player - **Description**: wasm 解码渲染demo - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2023-02-02 - **Last Updated**: 2023-02-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 说明 wasm ffmpeg解码测试。 client文件夹中提供了js端实现,包括websocket数据传输和ffmpeg解码,webgl渲染。 server文件夹中提供了一个webserver,client端向webserver请求h264视频流,server通过websocket传输h264视频流。 third_party文件夹中包含了一些第三方库。 ffmpeg-emcc 包含wasm版本的ffmpeg。ffmpeg_emcc.sh为编译文件,可以在这个基础上按需修改。 ffmpeg-mac 提供了mac下的arm64版本的ffmpeg,用于server端使用。目前仅使用了读取本地h264帧,可按需使用,如果需要在其他平台下使用,则需要重新编译ffmpeg并修改一下CMakeLists.txt。 mongoose 是当前使用的嵌入式webserver的源码。 ### 编译运行 server目录下运行run.sh。 ### server支持wasm多线程 返回请求网页资源时需要增加一个响应头,mongoose中设置如下 ```c struct mg_http_serve_opts opts = {.root_dir = s_web_root}; //wasm 多线程需要增加响应头 opts.extra_headers = "Cross-Origin-Embedder-Policy:require-corp\r\nCross-Origin-Opener-Policy:same-origin\r\n"; mg_http_serve_dir(c, (struct mg_http_message *)ev_data, &opts); ```