mirror of
https://github.com/facefusion/facefusion.git
synced 2026-04-22 17:36:16 +02:00
refactor the release candidate part2
This commit is contained in:
@@ -50,7 +50,7 @@ def create_api() -> Starlette:
|
||||
Route('/assets', delete_assets, methods = [ 'DELETE' ], middleware = [ session_guard ]),
|
||||
Route('/capabilities', get_capabilities, methods = [ 'GET' ]),
|
||||
Route('/metrics', get_metrics, methods = [ 'GET' ], middleware = [ session_guard ]),
|
||||
Route('/stream', post_stream, methods = [ 'POST' ]),
|
||||
Route('/stream', post_stream, methods = [ 'POST' ], middleware = [ session_guard ]),
|
||||
WebSocketRoute('/metrics', websocket_metrics, middleware = [ session_guard ]),
|
||||
WebSocketRoute('/ping', websocket_ping, middleware = [ session_guard ]),
|
||||
WebSocketRoute('/stream', websocket_stream, middleware = [ session_guard ])
|
||||
|
||||
@@ -193,7 +193,7 @@ async def handle_video_stream(websocket : WebSocket, session_id : str) -> None:
|
||||
message = await websocket.receive()
|
||||
|
||||
if not ready_sent and ready_event.is_set():
|
||||
await websocket.send_text('ready:' + session_id)
|
||||
await websocket.send_text('ready')
|
||||
ready_sent = True
|
||||
|
||||
if message.get('bytes'):
|
||||
@@ -221,7 +221,8 @@ async def handle_video_stream(websocket : WebSocket, session_id : str) -> None:
|
||||
async def post_stream(request : Request) -> Response:
|
||||
from facefusion import rtc
|
||||
|
||||
session_id = request.query_params.get('session_id')
|
||||
access_token = extract_access_token(request.scope)
|
||||
session_id = session_manager.find_session_id(access_token)
|
||||
stream_path = 'stream/' + session_id
|
||||
body = await request.body()
|
||||
sdp_offer = body.decode('utf-8')
|
||||
|
||||
+3
-4
@@ -778,7 +778,7 @@ async function connectWhep(url) {
|
||||
|
||||
var res = await fetch(url, {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/sdp' },
|
||||
headers: { ...authHeaders(), 'Content-Type': 'application/sdp' },
|
||||
body: offer.sdp
|
||||
});
|
||||
log('WHEP response: ' + res.status + ' (' + Math.round(performance.now() - t0) + 'ms)', res.ok ? 'debug' : 'error');
|
||||
@@ -880,9 +880,8 @@ async function connect() {
|
||||
var streamStarted = false;
|
||||
|
||||
ws.onmessage = function(event) {
|
||||
if (typeof event.data === 'string' && event.data.startsWith('ready:') && !whepUrlFromServer) {
|
||||
var sessionId = event.data.split(':')[1];
|
||||
whepUrlFromServer = base() + '/stream?session_id=' + sessionId;
|
||||
if (typeof event.data === 'string' && event.data === 'ready' && !whepUrlFromServer) {
|
||||
whepUrlFromServer = base() + '/stream';
|
||||
|
||||
if (!streamStarted) {
|
||||
streamStarted = true;
|
||||
|
||||
Reference in New Issue
Block a user