Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: request Drive#GetDocxDocument failed: code: 1770032, msg: forBidden #152

Open
cmqiu opened this issue Dec 26, 2024 · 1 comment
Open

Comments

@cmqiu
Copy link

cmqiu commented Dec 26, 2024

问题描述

image

飞书文档链接

https://xnv8d2c6k0.feishu.cn/docx/GiWpdp3yHoB32sxCZwdcvR0Jnce

期望的 markdown 格式

## 1. 软件环境要求

linux x86 环境,glibc>=2.17的系统(使用命令`ldd --version`查看)。例如ubuntu14.04或更高、centos7.2或更高。

## 2. 打包文件说明

解压发版程序的压缩包,包含以下文件


.
├── bin
│   ├── ffmpeg
│   └── wz_license.cnf
└── Readme.md


- Readme.md:程序的使用说明
  
- ffmpeg: 转码使用的程序二进制文件。
  
- wz\_license.cnf: **在线鉴权方式的配置文件,当使用微帧的编码器进行转码时会从服务器获取一个名为wz\_license.key的临时license文件保存在ffmpeg同级的目录(执行ffmpeg的用户需要在该目录有写权限),请确认部署的时候临时license有正常生成避免每次转码时从服务器请求license。**
  
- **需将ffmpeg以及license文件(wz\_license.cnf)放到同一个目录**## 3. 视频转码参数

ffmpeg继承开源ffmpeg的基本参数([官方参数详解](http://ffmpeg.org/ffmpeg-all.html)),3.1章节将罗列ffmpeg中常用的转码参数;3.2章节将详细描述libwz265的转码参数;3.3章节将对3.2章节中"wz265-params"支持的编码器参数进一步补充;3.4章节为前处理参数。

### **3.1 ffmpeg常用参数**

| 参数说明 | 定义  |
| --- | --- |
| -i  | 指定转码源文件 |
| -y  | 输出文件存在时覆盖 |
| -vf "scale={w}:{h}" | 输出文件分辨率 |
| -r {fps} | 转换视频帧率 |
| -fpsmax {fpsmax} | 设置最大帧率 |
| -c:a | 音频编码,若设置-c:a copy,则拷贝输入视频的音频。编码为aac的设置示例:-c:a libfdk\_aac -b:a 64k -ac 2 |
| -tag:v hvc1 | 针对265编码的mp4/mov文件,强制将视频标签为hvc1,以适配ios系统正常播放 |
| -max\_muxing\_queue\_size 4096 | 当对音频和/或视频流进行转码时,直到它为每个流具有一个数据包ffmpeg才开始写入到输出文件。在等待这种情况发生时,其他流的数据包被缓冲。此选项为输出流设置此缓冲区的大小(以数据包为单位)。默认值128对有些视频不够用。 |
| -movflags faststart+use\_metadata\_tags -map\_metadata 0 | 优化moov头并复制metadata元数据 |

### **3.2 wz265编码器参数**

| **参数说明** | **数据类型{取值范围}** | **定义** |
| --- | --- | --- |
| -quality | Float | 视频编码质量档次,取值0-5,5为最佳,0为最差,质量档次越高目标码率越大,是微帧独有的质量调节参数,需配合微帧视频编码器使用。(微帧在交付时会为客户提供合适的推荐参数,用户也可根据实际情况做调整) |
| -quality-level | Float | 取值范围1-100。 配合quality-range使用,编码器内部计算vmaf,当vmaf大于quality-level + quality-range时,qp会增大,即质量较高时减小码率; 当vmaf小于quality-level时,qp会减小,即质量较低时增大码率。 同时使用quality-level和quality-range,vmaf会尽量靠近\[quality-level, quality-level + quality-range] |
| -quality-range | Float | 配合quality-level使用。 |
| -preset | String | 编码速度档次,可用veryfast、medium、slow、slower、veryslow、superslow。最快为ultrafast,最慢为superslow,编码速度越慢,同画质下的压缩率越高。 |
| -aq-mode | Int,{0\~5} | 自适应量化模式,根据内容空域复杂度,自适应调节不同区域的量化参数的算法,0是关闭,1\~5代表不同的算法 |
| -psy-rd | Float,{0\~1.0} | 主观优化强度,默认0.2,0是关闭 |
| -tune | String | 针对特定内容场景的优化参数,默认不设置,可以使用逗号(,)组合。zerolatency:零延时场景,无B帧,无预分析;screen:屏幕内容场景;game:游戏场景; |
| -vui\_time | Int | 在vui中写入timeinfo |
| -autobr\_win | Float | 计算码率的时间窗口大小 |
| -duration | Float | 视频时长 |
| -wz265-params | String | 见3.3 |

### 3.3 wz265-params编码器参数

下表中罗列了可以通过wz265-params对wz265进行配置的编码工具及其名称、取值范围。一般,使用wz265-params配置的格式为: "-wz265-params params1=value1:params2=value2",中间以":"隔开不同的编码参数设置,示例:"-wz265-params profile=1:level=5.1"。

| **参数说明** | **数据类型{取值范围}** | **定义** |
| --- | --- | --- |
| input-csp | Int,{0\~6} | 输入图像格式,目前支持如下:0: WZ265\_CSP\_DEFAULT, read from input file;1: WZ265\_CSP\_I420, yuv 4:2:0 planar;2: WZ265\_CSP\_YV12, yuv 4:2:0 planar;3: WZ265\_CSP\_NV12, yuv 4:2:0 packed,yuv;4: WZ265\_CSP\_NV21, yuv 4:2:0 packed,yvu;5: WZ265\_CSP\_ANDROID420, yuv 4:2:0 packed,yuv;6: WZ265\_CSP\_P010, yuv 4:2:0, planar , 10bit |
| fps | Float | 设置帧率 |
| force-cfr | Int, {0,1} | 设置定帧率。1为恒定帧率,0为可变帧率 |
| profile | Int,{1\~2} | 编码标准档次:1:MAIN(default),2:MAIN\_10 |
| level | Float | 设定level等级,支持1/2/2.1/3/3.1/4/4.1/5/5.1/5.2/6/6.1/6.2 |
| rc  | Int,{1\~3} | 码率控制模式:1:crf; 2:abr; 3:cbr; |
| threads | Int, {0\~128} | 编码线程数,默认值是0 |
| vbv-maxrate | Int | vbv码率,单位是kbps |
| vbv-bufsize | Int | 设置vbv缓冲区大小,单位是kbits |
| keyint | Int | 设置最大关键帧间隔。默认值max(256, 10\*framerate) |
| keyint-min | Int | 设置最小关键帧间隔,值不能大于keyint |
| scenecut | Int,{0\~100} | 场景切换检测插入I帧的灵敏度,0是关闭,默认30 |
| lookahead | Int | 预分析帧数,影响延迟帧数(ultrfast-medium默认33;slow-superslow默认129) |
| bframes | Int,{0\~31} | 相邻两个非B帧之间的B帧数目,默认15 |
| ref | Int,{1\~5} | B帧的每个参考列表的参考帧数目 |
| pref | Int,{1\~8} | P帧的参考帧数目 |
| open-gop | Bool | 是否开启开放型GOP |
| single-pps | Int, {0,1} | 限制single pps, 0: 禁用, 1: 开启 |

### **3.4 前处理参数**

| **参数说明** | **数据类型{取值范围}** | **定义** |
| --- | --- | --- |
| wzaipreopt=enhtype=face | -   | 人脸检测模块,编码器会根据检测结果对人脸进行保护 |
| weightfg | Float,{0\~1} | 表示ROI区域增强与源融合时的权重。weightfg=1表示完全使用增强结果,weightfg=0时表示完全不做增强,建议0.3-0.7之间 |
| weightbg | Float,{0\~1} | 表示非ROI区域增强与源融合时的权重。weightbg=1表示完全使用增强结果,weightbg=0时表示完全不做增强 |
| aenh\_strength | Float,{1\~10} | 表示自适应锐化的强度,值越大整体锐化越强 |
| yenhmax | Float,{0.0,或者>=1.0} | 限定自适应锐化中最大的增强强度 |
| yenhmin | Float,{0.0,或者>=1.0} | 限定自适应锐化中最小的增强强度,建议1.0-1.6之间。 |
| yenh | Float,{0.0,或者>=1.0} | 限定自适应锐化中初始化增强强度。建议1.2-2.4之间,yenh要大于等于yenhmin |
| uvenh | Float,{0.0,或者>=1.0} | 限定自适应色度锐化强度 |
| ymaxdiff | Int,{0-128} | 限定锐化对像素改变的最大值,值越小锐化程度越小 |
| ymaxdiffroi | Int,{0\~128} | 设定ROI区域锐化对像素改变值 |
| yEnhEps | Float,{0\~3} | 锐化过程对噪声的抑制程度,值越大抑制越强 |
| yenhroi | Float,{-1,或者>=1.0} | 设定ROI区域锐化,值越大锐化程度越高 |
| sharptype | Int, {1,2,3} | 锐化方法,可选1,2,3,推荐用3 |

## 4.转码推荐命令

通用转码-241226提供,同招标测试时的速度档配置,可根据实际情况进行调整

```python
bin/ffmpeg -v warning -i input.mp4 \
  -vf "wzaipreopt, \
wzoptimize=autoenh=3:aenh_strength=1.2:yenh=2.4:yenhmin=1.6:yenhroi=1.6:ymaxdiff=5:ymaxdiffroi=5:yEnhEps=0.5, \
wzoptimize=autoenh=3:aenh_strength=0.9:yenhmin=1.2:yenh=1.8:yenhroi=1.0:uvenh=0:ymaxdiff=20:enhtype=simroi:weightfg=0.7:weightbg=0, \
  wzoptimize=autoenh=2:yenhmax=1.0:yenh=1.0" \
  -c:v libwz265 -wz265-params keyint=250:ref=4,4,4,4,4 \
  -tag:v hvc1 -quality 3.3 -preset veryslow -threads 6 \
  -movflags faststart -max_muxing_queue_size 4096 -y output.mp4


### (可选)更多信息

_No response_
@cmqiu
Copy link
Author

cmqiu commented Dec 26, 2024

所有需要开放的接口权限都开放了,文档编辑权限也开放了,而且其他文档可以下载,就这个文档下载不了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant