From patchwork Mon May 15 08:31:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Liu X-Patchwork-Id: 34925 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:ba91:b0:105:feb:71f2 with SMTP id fb17csp1443546pzb; Mon, 15 May 2023 01:32:26 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6hk+BUqXu4KDaqVd+ltutNfhc//r0RCF1nOXZ3uBuPDWLRfiFT33juQBX6lA8yAZWXl8A6 X-Received: by 2002:aa7:cd0b:0:b0:506:7386:88d7 with SMTP id b11-20020aa7cd0b000000b00506738688d7mr22943045edw.11.1684139545822; Mon, 15 May 2023 01:32:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684139545; cv=none; d=google.com; s=arc-20160816; b=j1IeGX4/sXfsMo7tvCIUC7TLzf7Berj//2cK0qIETgE3SkGXi+0aIQmim+/ApNbUPu 3hRd38NtzFurxwoz5HB8e9Dp8HOv1jUrcJuWfV7HXRf+HjuVmcU5AM0E3U6gCt7ZUQdI bycKgSddsh/Xg37ue/0p9azXZ2CFqrJ8Ed/KVQ545hfaWqrFzblV0Kmv7Ielhjpc/Zuv OdfRREdWF0lcrbj3XpWA+fIaxxgL/JvqmUyZ4PALsR6tg+NO3fesTOoRXT7ymyPyCAG0 EtNVdd6aZmrWDy+hAJ25FU3qor01FBtOChp25d87P5h6JlV+1glGwFzIuzUNRIucWuT9 FRtw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:feedback-id:mime-version:references :in-reply-to:message-id:date:to:from:delivered-to; bh=yhsgQysfR12nALbpz+McZo7oDQzJewMWmBtmEqZIzas=; b=DpzT7KoiNhh+/b9OTbqCC5gqSFtSC6BYfR3hUSQz9t6MUbSPKFRtGUF2OinFtCDhYA 05rVB0+N4y9R6h2w3IzktZ89g3+35g4/LmYp/o2L9YVdiEIJ90DLkTQ3g/MlMWvYwMy5 kKQhL2RTaGDQ2G3oQph5u9iNR+lqIOKLfp4LyA78UlZfG6GjDtL4LVD5qmJCRXrWECW6 oSQ/0QsY3zCNmtZonVDQcoZ/ugrj7dfiI1Ve3DLT06dbGqBd5QGF9GUggcazpAZEC3D8 Jmc8eGUpPTnVf7OhT8EnwXJ118xovGW3RpgAKB3eQA0fT+dSgqSde/NSMpesa3dFom0f S1QA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a8-20020aa7d908000000b0050d988cd8ebsi12785653edr.243.2023.05.15.01.32.25; Mon, 15 May 2023 01:32:25 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CF6F768C02B; Mon, 15 May 2023 11:32:21 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from bg4.exmail.qq.com (bg4.exmail.qq.com [43.154.221.58]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9D38868C001 for ; Mon, 15 May 2023 11:32:13 +0300 (EEST) X-QQ-mid: bizesmtp70t1684139526tf40ueb4 Received: from localhost ( [103.102.203.204]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 15 May 2023 16:32:03 +0800 (CST) X-QQ-SSF: 01100000000000Z0Z000000A0000000 X-QQ-FEAT: Xz3VOcA7Mr1GIGj2mvts2LC9RK1kPmj91jFw2NNzd8pDZoUeBhqfvBN02+KW5 n+shQV94HbDMsL1AiLf6Hy93ryHff5W9Aj+yO+ytiTrwMsLVM7JZWGmjZ/gOTskzXVYLxVt IdsNPhPCO3jhoOioexJTMdH2UjoLc132zdNuC61HRFjgubvMBO3QQWDb46a4uNhOqMzlus6 /zCiyb8vSCK6gy2cWvYnNxkHkIe5La+98VLQbLM5Ewl/lC3QcAwTbJZ7ZgnzV1MyxNTfxJG gDhphQqLsV8pWLrvsQLjNCCivZx4+kSIDJJIDmMBBZwwKgoJf2wkg0wqLidQdxD+mGQzeJI m7Hp5v8PQ5dDbsNTVZ7fhazkG9J5g== X-QQ-GoodBg: 0 X-BIZMAIL-ID: 11101343579954973048 From: Steven Liu To: ffmpeg-devel@ffmpeg.org Date: Mon, 15 May 2023 16:31:55 +0800 Message-Id: <20230515083201.48201-1-lq@chinaffmpeg.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: References: MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:chinaffmpeg.org:qybglogicsvrsz:qybglogicsvrsz3a-3 Subject: [FFmpeg-devel] [PATCH v10 0/6] Support enhanced flv in FFmpeg 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 Cc: Steven Liu Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: e8nZBIX3eelz Reference file: https://github.com/veovera/enhanced-rtmp/blob/main/enhanced-rtmp-v1.pdf The Enhanced flv has been supported by OBS, Simple Realtime Server, mpegts.js. you can publish hevc, av1 or vp9 codec stream to Youtube over rtmp. The enhanced flv documentation contributors include Jean-Baptiste Kempf (FFmpeg, VideoLAN). So this should be support by ffmpeg too. v8: Support vp9 codec according to enhanced flv. Support PacketTypeCodedFrames type for hevc in flv. v9: Add dependency codec object files for flvenc in Makefile. Move the hevc,av1,vp9 codec out of FF_COMPLIANCE_UNOFFICIAL. v10: modify first patch comment like the others before commit. exheader mode should only happened in video stream this patchset. Steven Liu (6): avformat/flvenc: support mux hevc in enhanced flv avformat/flvdec: support demux hevc in enhanced flv avformat/flvenc: support mux av1 in enhanced flv avformat/flvdec: support demux av1 in enhanced flv avformat/flvenc: support mux vp9 in enhanced flv avformat/flvdec: support demux vp9 in enhanced flv libavformat/Makefile | 2 +- libavformat/flv.h | 15 +++++++++ libavformat/flvdec.c | 73 +++++++++++++++++++++++++++++++++++++++----- libavformat/flvenc.c | 58 +++++++++++++++++++++++++++++------ 4 files changed, 130 insertions(+), 18 deletions(-)