本帖最后由 爱飞的猫 于 2023-7-25 06:50 编辑
建议:
- 章节序号可以用阿拉伯数字形式表示,方便下载后的文件排序(最好填充几个 0 在前面)
- 第十章的画质有点糊(大概是前 23 分钟的内容);从百度网盘下载的版本。
- 对上一课的补充可以单独做一个视频,比如第六课 01:02:40 处做的对上一课的补充,可以单独提取出来如「
005.01 补充内容 - 动态调试.mp4 」然后放到第五课的目录里。
然后关于视频编码:
- 最好避免在视频内嵌硬字幕/进度条(第 4 章开始没了,好评),而是添加章节信息和内挂软字幕… 这样如果需要临时关闭看被挡住的地方就更方便了
- 如果需要后期添加新的字幕解释、修正之前的错误,也可以直接提供更新的外挂字幕文件,避免更新原始的视频文件(毕竟那么大,如果要更新即浪费时间上传也浪费时间再下载…)
- 如果需要让字体使用特定的特殊字体,可以封装 mkv,带上字幕文件一起塞进去(我其实是更希望用系统默认字体或用 SRT 格式可以自己在播放器里选…)。
- 视频可以考虑录 30fps 或 60fps 然后编码到 5fps 或 10fps 看是否有影响。我自己感觉录制教程最终输出的视频调整到 5fps 都是可以接受的(「屏幕录像专家」录的也是大概 5~10 fps),但是文件可以小很多。
- 我发现视频会展示按键信息,也可以对鼠标左右键做一个处理(如红色/黄色点击效果),bandicam 我知道有这个效果,OBS 不清楚有没有插件可以做。
比如第4课进行一个二次编码:
ffmpeg -i "第四节.恭喜你获得广告&弹窗静默卡.mp4" -filter:v fps=5 -preset slower -tune animation -crf 22 -c:a copy -movflags +faststart -bf 2 -refs 10 04.mp4
可以得到一个画面几乎没有什么差别且不影响观看,但是大小却可以从 300M 降到 88M。
如果狠心再降低下画质指标和音频(实际观看和 -crf 22 版并没有发现大的区别):
ffmpeg -i "第四节.恭喜你获得广告&弹窗静默卡.mp4" -c:v libx264 -filter:v fps=5 -preset slower -tune animation -crf 29 -movflags +faststart -bf 2 -refs 10 -c:a libfdk_aac -vbr 2 04_crf29_fdkaac_vbr2.mp4
可以得到一个 50M 的最终文件(编码测试文件: https://wwbg.lanzouj.com/iP5hE13bwy0h ):
General
Complete name : 04_crf29_fdkaac_vbr2.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/avc1/mp41)
File size : 49.2 MiB
Duration : 36 min 55 s
Overall bit rate : 186 kb/s
Frame rate : 5.000 FPS
Writing application : Lavf60.3.100
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L5
Format settings : CABAC / 10 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 10 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 36 min 55 s
Bit rate : 133 kb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 5.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.013
Stream size : 35.0 MiB (71%)
Writing library : x264 core 164 r3095 baee400
Encoding settings : cabac=1 / ref=10 / deblock=1:1:1 / analyse=0x3:0x133 / me=umh / subme=9 / psy=1 / psy_rd=0.40:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=34 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=2 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=5 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=29.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:0.60
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
Codec configuration box : avcC
Audio
ID : 2
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Codec ID : mp4a-40-2
Duration : 36 min 54 s
Source duration : 36 min 54 s
Bit rate mode : Constant
Bit rate : 51.3 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 44.1 kHz
Frame rate : 43.066 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 13.5 MiB (28%)
Source stream size : 13.5 MiB (28%)
Default : Yes
Alternate group : 1
(你也可以继续调优找到更合适的一个不损害体验的情况下让文件变得更小的参数;也可以用 Handbrake 等 GUI 程序替代手动调用 ffmpeg。试了下降低到 720p,文字会有点糊,所以还是不调整分辨率了 :D)
参考:
全部重编码后的大小:
16M 01.模拟器环境搭建.mp4
35M 02.初识APK文件结构、双开、汉化、基础修改.mp4
48M 03.初识smali,vip终结者.mp4
50M 04.恭喜你获得广告&弹窗静默卡.mp4
58M 05.1000-7=?&动态调试&Log插桩.mp4
130M 06.校验的N次方-签名校验对抗的多种姿势、PM代{过}{滤}理、IO重定向.mp4
55M 07.Sorry,会Hook真的可以为所欲为-xposed快速上手(上)模块编写,Api详解.mp4
102M 08.Sorry,会Hook真的可以为所欲为-xposed快速上手(下)常用Api,免root与快速Hook.mp4
94M 09.密码学基础、算法自吐、非标准加密对抗.mp4
60M 10.不是我说,有了IDA还要什么女朋友?.mp4
112M 12.大佬帮我分析一下.mp4
|