From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 4CBA546CED for ; Tue, 7 Nov 2023 14:12:49 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0D5FB68C961; Tue, 7 Nov 2023 16:12:47 +0200 (EET) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2071.outbound.protection.outlook.com [40.107.14.71]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0056868C562 for ; Tue, 7 Nov 2023 16:12:39 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Dq0YbrnP1cZwOdWg98+13I+p9h2gxREiJnEE9AveimJzWw6437X/zmsb8GeDMcDpPmYGqQcY7PkytXTaPwfZjByMO6Zk7CxtYylsR5cT4+FRXvOoAyyc5igBG8KlqZhiW2NHE4wseI1VQGLNlS+wuNnrPNCH2yOvTSHwDSWbr2bUEhr3NXJLF8KKTmwDLyja73OZpK43GC0R6WZLdbjJFEpyEjToTDFnMNW+UwqW5ecP5Ei+RIXAHnByooGMptQ3IuS06R9940B/5XJHrd07+2tl/gSV9ebbaGllDB6xMF1PRVcvXy5sZTFHQAwdJy/CgwDdLlVvXlHGeTDFsYQEig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=t23ZIkyURwdMNphpiuU8korXiB/sof7ZwMy8X1q+wQM=; b=PopnhKDylypcgef1h7QhqAeKPrEnAFK14w0Th8VTEqBs5dQiXx3H3BfMlTUd//OvQFS+Cv4jx5Uf42a2QYeQxC4yeFRlJ1ekYcGcs2H36chYdYod3EFJ8x8hMbLzgBNABDYLtP8vQ8iYL/wSmpwHyzvq/WjxvXoo9vb3parHeFpITjSTMLHYN9m7V/bpuBAsPT186niUPgKR38DIbF9pnXXFC0iT409HlTBgn9ev6pUwUuP+kYinj4J6KiZ9kWIFzQ9kEVAjaqgWM+5vmv/QX4LBuiYmqO5pBMxmU/3Xa6vwe3GqjsGVmCJeQkr2a0iKgBSdElb/jwHaTvao2I9GKQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nativewaves.com; dmarc=pass action=none header.from=nativewaves.com; dkim=pass header.d=nativewaves.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nativewaves.onmicrosoft.com; s=selector2-nativewaves-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=t23ZIkyURwdMNphpiuU8korXiB/sof7ZwMy8X1q+wQM=; b=qwThJ2BSrGk3f8a7igxK4uC5RnpsnetJVkfLIaBBmMZ7AEAsiWt97zhsc3WouOCUw7aY3/27kEIMcNjvn/LDlFwYzhW3n1Weqi85txcOp9iQwRYEe+K9c75RkVN5syYMlCCuuRu+cfz5RvOhJ3OA5KRkkQdMEPUfn8+P6vOWEwc= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nativewaves.com; Received: from VI1PR03MB4239.eurprd03.prod.outlook.com (2603:10a6:803:5f::26) by GV1PR03MB8333.eurprd03.prod.outlook.com (2603:10a6:150:61::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Tue, 7 Nov 2023 14:12:36 +0000 Received: from VI1PR03MB4239.eurprd03.prod.outlook.com ([fe80::150d:b41:699f:42b6]) by VI1PR03MB4239.eurprd03.prod.outlook.com ([fe80::150d:b41:699f:42b6%6]) with mapi id 15.20.6954.028; Tue, 7 Nov 2023 14:12:35 +0000 Message-ID: Date: Tue, 7 Nov 2023 15:12:32 +0100 User-Agent: Mozilla Thunderbird From: Michael Riedl To: ffmpeg-devel@ffmpeg.org Content-Language: en-US X-ClientProxiedBy: ZR0P278CA0220.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:6a::22) To VI1PR03MB4239.eurprd03.prod.outlook.com (2603:10a6:803:5f::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI1PR03MB4239:EE_|GV1PR03MB8333:EE_ X-MS-Office365-Filtering-Correlation-Id: ee3a3be4-d08f-4367-18e7-08dbdf9b9718 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZIjellTm2b5J4hISPKr5plpZRjblZHS/suyT3kYcBkyJR1oHr9rS8DJpKl35dyNnmDd9vTcXW9IdxiDzzFQjrLfu/Er3CguXmeN411hLhy0r7ck9rFKcHfHFKEw1OBaqfJmkrett78pdTjYeg/vDBNjCluQjF6xiwtk13odfmpk8no3j3caXJafukgglHDKkZP+88Z3ML1nyx/poV7Y7AJ/zFmeAO8Ya/7oNZzzx7A/7SB6iClLrSgKCR0Rvl+njWNVU2hARaCR3OwpHMe5A+WLMlRcQeCKxeRrzKh3UdMBELHAr7My0ItRj17PgYQSieJjAlza79L12sKpNOsADQ7Q+kxEDO3qg4Jdq3r2Ew8KEA538wErRRA0Yv5SSSdyx9PdPRNxRrzGacHjN6KEa9qZI+bO+bc7ul9wYCh+RO5x9x9zbzU0Achx51veggjxgOIA4rUBiG/izHStUhlFiDFSvoW05OJKhTaZAgF2FaO0uZPdLIxatRy6vYRSQRSAkHExLFPNV44RhZHi7DmtU+uooau5ZdrpvWhT1FbOtT5nxSe/BhRutkt5C1odv3x9LC9qQh9RiaUDnVxfeSmUGlmghvDTZLDrRwHxfKYTYTEt/1GlWLWv/sAbokV/X5JZOUJzIdCioVCTHuy9rh7WrGLmg0nbqblGZ4GzTFqQz2nUPYUQ7iBND808uO42bHUwD X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR03MB4239.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(39830400003)(346002)(366004)(376002)(136003)(396003)(230273577357003)(230922051799003)(230173577357003)(186009)(1800799009)(64100799003)(451199024)(966005)(6486002)(478600001)(66946007)(2616005)(6666004)(66476007)(26005)(66556008)(6512007)(41300700001)(2906002)(6506007)(8936002)(6916009)(316002)(5660300002)(8676002)(44832011)(36756003)(31696002)(86362001)(83380400001)(38100700002)(31686004)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MEs3SVhWaFcwRFBMbDNyZ2V2SGVOR25qeG0rdDJPNlFYbWpmQ0o1MXJpbzNZ?= =?utf-8?B?Mnd4Q3RDM3JUUXRkaHhqbjZ2ZzVudDMxV2lFZnhoSUs4N2V6dHFjQ3c1T09p?= =?utf-8?B?ejZPMnp0V0syazdqS0FDSkEvSUF0bGZpbEtIWjVvQUlaZWQrWkUxTnJlamJk?= =?utf-8?B?WlJjeU9UZEZZZkNTQXhhQjRDc0FFaFpRQThaUWtOT05tZmlyZFNBZlV2UHVH?= =?utf-8?B?ZWJrTWR4V1BUSnZFbGgxcTRsT0ZhQ3pCVVBGcGVieGYzcjlnb25EM0txMnh5?= =?utf-8?B?b1g1ZkFDaTRUUi9rU09vWFBEajNueS9xWENwQlE3NUZ4NlF3NUJsNDdvMzds?= =?utf-8?B?MVRxbVJqSnpRTEZPVUhwYkxCUHJzY2I1RjZIcUN4WHM2MFVMSk8vRjV5VEdH?= =?utf-8?B?MjNUSERycWM2NWNOa25GK0NvWkJLaE01TUZJNEYvMXREdzdCVWdZLzVIQ1Bq?= =?utf-8?B?eEZMTGRud0QwbDdWVkdlbUlOSjUzTmxyaE9xUVJsZ3JiOVFlbk1rUkhZY0VB?= =?utf-8?B?clVrMDZreHU5b29XQjRHY2ZHMENibTdSc3U4TVdGVVV0b0pRUEt2U3pseGZu?= =?utf-8?B?Q0pkNWtIZDI1RFc2SGswSWhmeENFOWtmVUwvMnk4N042ZkZxTFBXaEd3dWNa?= =?utf-8?B?SSs3WllhWkh6R25SSFg3dUpCMmkvN1NSVldUMFBPRXhWQkVNdUJFbmxkTnUv?= =?utf-8?B?NUloL1VwZEFhZVlRL0JoQmtKOGxnYThIQ21SWVRnTGpFZVRvQTNiZFZyY1Rp?= =?utf-8?B?NEtwQll4TnQwak9WbWFEMkkyWG95a3A0VUQraUtBS2E2bjQwMEJBNWJZei9S?= =?utf-8?B?WDF2L0xNTHVHTnpWUWg0WFFEMm13U1NBOGFBSFdKVi9mRGE0MWRMMGlHdHlv?= =?utf-8?B?VGVSM0VMbUlrem1SQzVEbkIxWHNabFY0b05aaUZlajhWeHgzT2VFR1ZmT0M1?= =?utf-8?B?VUdyT0NjOWdlbVdYNlAvQXYvQks1VUxENFNPcXUyOFY3b3cxV1VWUi93eWRW?= =?utf-8?B?T3RPWDB6OTRyT0J5S0Q2YjBsaitmWmh5K0tlNW00T2RjUVBnNkYrck0raVpK?= =?utf-8?B?TStvak94RWVneTRXMTNNSHVTRWpLbU9semRUSGNVaHJMV01RTnhtTjhBK3R3?= =?utf-8?B?Tis3ek81bjBORkk1bzhVblZFSXJoQ0N3ZDQxdEp4OTBHVXhVbWQrR2ZOYnFx?= =?utf-8?B?cEQwOXRHWjQvbDdoV2hZZzdaYTdmTC8rM2VtaXNHeERlY05tSXhNMFpOck1J?= =?utf-8?B?L2h1T2NDY0w3azFnQ2RRRnlOaElkMjVodm9DMXlXUjZFRlBYRUZhWmdxZW1K?= =?utf-8?B?OUJycHJ2M0VqK241V2JqK0VrOUIrNUVYYlpmMVZMR1RSV3JmM3QvZUZkb0x6?= =?utf-8?B?amdrSmQrd2toWldDUEJLL0Iwb2hwaThIU1c4YlhLMzRJYUcxa0VGVXJXc2FO?= =?utf-8?B?UmRBZCtubEpaSjB3QUp5UVkwS2x4KzNQYlVkb01KYXFTVGlDQ0hjR1IvRnFi?= =?utf-8?B?OGh6QTZhOEFGNFl4N3BpRXBuZmRiNXpZVEQwaklYSkxzYWpEdTZNRW00WGl5?= =?utf-8?B?UkNmRVRiSHV5ek9tSXIvRGVQQU11OGY3WUU0UE9MUlRPYURkSGgrTHpBbmJk?= =?utf-8?B?aVNkNVRDdXpuSFIwYnd6Rzh3eWJQVDBkcGxrUUw0Y001TGx4cmlLamM5UGt4?= =?utf-8?B?WEVydElwZDJxN2p0bFErWnNLMFRGdjJ0SjFWRHpZRzlOVlZCdmo0RXI0c281?= =?utf-8?B?dXUyWUdkbjJJV1czK1JxWVlFWGZjR0pseVJGeWl2bktiVFRvd3pva0lIc3l3?= =?utf-8?B?Rys2ejdRRklJcGYxWXRhOFNqRDBFeUFlSVM0TldEU0FGQ3Q2eWduMEJwT1Qx?= =?utf-8?B?dm10WEt6UGZzV2tvSkk3aFB6ZU5HSndBZW1ac2pBV1BXUjBudTNYTm5xSVZ0?= =?utf-8?B?WkJSYnl1ejdqZlJLQk84UURWejFzeUI3RUYyZmFTUXRSeXNKYjBQMFczeW8x?= =?utf-8?B?Qis1a3laYzJ5c2g1cjJ5blduQmdWd2ZFcWRHaW9qOXJHSTA5b1ZRYWhJTHRi?= =?utf-8?B?QnMxTkhnbWdzQy9IWWU2bEJpV3BubUpqWlpRMnVRdEdWeHk3ZFo4K0czeG43?= =?utf-8?B?Nko2anJFWXV0TmVlcEt0MitHazFWa25ORHNVVm83NXlTaDF2Z0JtM2V1dkd2?= =?utf-8?Q?23mgCFWbPwpi58bZ0G9eAe0=3D?= X-OriginatorOrg: nativewaves.com X-MS-Exchange-CrossTenant-Network-Message-Id: ee3a3be4-d08f-4367-18e7-08dbdf9b9718 X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB4239.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2023 14:12:35.5328 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e4239718-b000-4513-8314-02ef46bd0276 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: teeL4VY3URNlJvieAhOABQk8XeHgengsF8nyJbD2k4hUfEsZtzMYYgZcl3AiFJoilRitr7/dsf2lSzf95Vmp5mwhI4bjXt/CDdxPpVlkQoU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR03MB8333 Subject: [FFmpeg-devel] [PATCH v2 0/6] WebRTC sub-second live streaming support X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This patch series adds support for WHIP and WHEP (WebRTC-HTTP ingestion protocol and WebRTC-HTTP egress protocol). It supersedes the previous patch series. Thank you all for your feedback and suggestions! The WHIP and WHEP are defined in the following draft RFCs: - WHIP: https://datatracker.ietf.org/doc/draft-ietf-wish-whip - WHEP: https://datatracker.ietf.org/doc/draft-murillo-whep/ The implementation builds on FFmpeg's existing RTP, HTTP and SDP support as well as libdatachannel for the rest. This library is much more lightweight than other libraries (e.g. libwebrtc). At the same time, using this library avoids reimplementing parts of WebRTC in FFmpeg. This patch series was tested with WebRTC servers Dolby.io (formerly Millicast) and SRS (https://github.com/ossrs/srs). Using a local server, an end-to-end latency of 3 frames (50 ms at 60 fps) was measured with video-only output, and 12 frames (200 ms at 60 fps) with audio and video output. Using a DeckLink input device, an end-to-end latency of about 4 frames (70 ms at 60 fps) was measured with both, video-only and audio and video output. Using a remote server, only the RTT is added to the end-to-end latency. For example, using a server in Amsterdam (The Netherlands) from a location in Salzburg (Austria), with RTT=18ms, an end-to-end latency of 50+18=68 ms was measured for video-only output. Michael Riedl (6): libavformat/http: expose actual Location header value libavformat/sdp: remove whitespaces in fmtp configure: add libdatachannel as external library libavformat/webrtc: add common code for WebRTC streaming libavformat/webrtc_demux: add WebRTC-HTTP egress protocol (WHEP) demuxer libavformat/webrtc_mux: add WebRTC-HTTP ingestion protocol (WHIP) muxer Changelog | 5 + MAINTAINERS | 1 + configure | 7 + doc/demuxers.texi | 22 ++ doc/muxers.texi | 21 ++ libavformat/Makefile | 2 + libavformat/allformats.c | 2 + libavformat/http.c | 1 + libavformat/sdp.c | 4 +- libavformat/webrtc.c (new) | 410 +++++++++++++++++++++++++++++++ libavformat/webrtc.h (new) | 70 ++++++ libavformat/webrtc_demux.c (new) | 246 +++++++++++++++++++ libavformat/webrtc_mux.c (new) | 273 ++++++++++++++++++++ 13 files changed, 1062 insertions(+), 2 deletions(-) create mode 100644 libavformat/webrtc.c create mode 100644 libavformat/webrtc.h create mode 100644 libavformat/webrtc_demux.c create mode 100644 libavformat/webrtc_mux.c -- 2.39.2 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".