nocode
deepin
2018-01-25 10:26 sofa,这晚还在战斗老王这是趁热打铁么?
Reply Like 0 View the author
https://bbs.deepin.org/post/152349
主要是无压缩格式,在4K屏下,现在的版本压得跟屎一样。
抱歉说了脏字,但真的是屎一样。 ...
https://bbs.deepin.org/post/152349
sofa,这晚还在战斗老王这是趁热打铁么?
https://bbs.deepin.org/post/152349
建议发 flatpak 打包的
https://bbs.deepin.org/post/152349
我要睡觉了,明天还要爬起来写文档,晚上加班写深度编辑器(主要是写标签合并的代码) ...
https://bbs.deepin.org/post/152349
深度编辑器写high了,突然来了一大堆修复录屏问题的灵感,挡都挡不住。

https://bbs.deepin.org/post/152349
微信不能播放视频的原因很简单,视频用libx264或x264, 音频使用aac编码即可以。我经常用ffmpeg录制屏幕和转 ...

https://bbs.deepin.org/post/152349
这个才是程序猿了啊,那天老王10点就睡觉了太反常了?
https://bbs.deepin.org/post/152349
深度录屏早已支持了无损录制,你在配置文件 ~/.config/deepin/deepin-screen-recorder/config.conf
把 lo ...
https://bbs.deepin.org/post/152349
不如直接允许用户设置 crf 值。默认值也可以调一调,接近肉眼无损就行了(17-18)。
https://trac.ffmpe ...
Popular Events
More
1、GIF录制的时候,录制的时间稍微长一点,最后录制的GIF总是不全(今天彻底修复了,补丁: https://github.com/manateelazyca ... a8da37053f471541d83)
2、GIF录制太快(比如就录制1秒钟,深度内部的变态测试大神的快手)时会导致GIF文件损坏,无法播放
3、MP4文件录制因为 ffmpeg "width/height not divisible by 2" 的错误,总是生成0字节的mp4文件,无法播放 (补丁: https://github.com/manateelazycat/deepin-screen-recorder/commit/a49612faed28fc70a98aa117839cc67d96b99761)
技术细节分享:
1、GIF丢东西和文件损坏都是因为原来深度录屏结束的时候,直接kill调GIF后台进程byzanz-record导致的, byzanz-record隔几秒机会把当前录制的GIF片段写到临时文件中,然后定期合并这些磁盘的临时文件追加到最后的GIF文件中,因为录屏原来是直接kill byzanz-record 进程,导致 byzanz-record 还没有合并完所有的临时文件就被杀掉了,因故用户最后看到的GIF文件内容就不完全。
解决方案:给 byzanz-record 命令添加 --exec 'sleep 365d' 的参数,sleep 365d 命令的意思是休息 365 天的意思(哈哈哈),只要 sleep 进程不退出,byzanz-record 进程就永远的录制GIF, 当用户结束录屏的时候,就顺藤摸瓜从 byzanz-record 找到 sleep 进程的pid, 杀死 sleep 进程后 byzanz-record 就知道自己该退出了,最后深度录屏进程再等着 byzanz-record 进程正常退出后,录制的GIF内容就完整了,也不会有损坏的问题。
简单来说解决方案,就是 “深度录屏这个老子,通过杀死自己孙子(sleep命令)的方式让自己的儿子(byzanz-record)心甘情愿的自杀”
2、MP4的问题是原来有很多用户抱怨深度录屏录制的mp4文件,不能在手机微信上播放,因为微信的视频播放器解码不了 ffmpeg 默认的yuv444p图形格式,所以我把ffmpeg mp4的图形格式改成yuv420p,yuv420p的mp4文件虽然可以在手机上播放,但是会导致如果用户截取的屏幕区域不是偶数的时候,ffmpeg 会直接崩溃,导致最后录制的mp4文件都是0字节。
解决方案:通过-vf scale=trunc(iw/2)*2:trunc(ih/2)*2 的方式结局了奇数大小报错的问题。
最后,为什么标题是“几乎完美”?因为我知道你们都在等我的录屏可以支持双屏自由录制的功能,我都在我的todolist上记录着的呢,一定会把深度录屏做完美的,让你们无可挑剔,哈哈哈哈。
最最最后,附件中有深度录屏的最新开发版,下载点击即可安装更新(FlatPak版的录屏需要先卸载了),等内部质量测试通过后,会通过更新进行推送的。