惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
G
Google Developers Blog
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
云风的 BLOG
云风的 BLOG
小众软件
小众软件
月光博客
月光博客
Recent Announcements
Recent Announcements
人人都是产品经理
人人都是产品经理
P
Proofpoint News Feed
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
The Cloudflare Blog
博客园_首页
美团技术团队
大猫的无限游戏
大猫的无限游戏
B
Blog
IT之家
IT之家
Jina AI
Jina AI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
Check Point Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

FFmpeg

[FFmpeg 的实时性太糟糕了] 后续 intel qsv ffmpeg 编码问题 FFmpeg 的实时性太糟糕了 早就听说过 ffmpeg,但是一直不知道有多牛 使用 FFmpeg 和 GPU 实现最简“图片+无损音频=视频”的方法 FFmpegKit has been officially retired. There will be no further ffmpeg-kit releases. 有没有精通 ffmpeg 的大佬帮我看下这个视频是怎么制作的 使用 FFmpeg 试图做个人用的转码点播服务端, 但 mpegts 多个切片间音频偶尔不连续? 求助大佬们, FFmpeg 指令拉实时流转推的正确姿势到底是什么? 在几乎不损失画质的前提下,怎么用 ffmpeg 把 h.264 格式的视频转换成 h.265 格式的? 我又来询问 ffmpeg 问题了!这次是硬件加速! 大佬们, nodejs 和 Python 做类似 jellyfin 实时转码是不是只能用 ffmpeg 实现了 有大佬开发过 ffmpeg 吗?用 c++调用 ffmpeg API 解码视频流 CPU 占用率高,求解决办法 ffmpeg 视频录制切分问题请教 通过 ffmpeg 压缩视频很慢 时间敏感的需求该怎么设置参数呢? ffmpeg 处理后视频时长问题 请教一个关于 ffmpeg 的问题 如何下载官方的 ffmpeg 二进制发布 视频模板替换图片,有偿 ffmpeg 过滤器 xfade 自定义动画的研究 关于我在 fcp 导入视频时出现的无法解决的问题,请求各位 ffmpeg 大佬的帮忙 go + ffmpeg pipe 怎么确定当前转码操作已经结束,可以停了 给人声视频加入背景声音,如何做到自动调整背景的音量 使用 ffmpeg 用 aes 加密 m3u8 文件的疑惑 把歌曲压缩至 7 kbps, FFmpeg 之父发布音频压缩工具 TSAC 求助使用 ffmpeg 压缩.mov 视频输出后丢失元数据问题如何解决 homebrew 安装的 fmpeg 转码速度比较慢?直接编译可以提高速度吗? 使用 nodejs 调用和在 macos 终端里直接调用 ffmpeg 转 m3u8,两者花费时间相差巨大 FFmpeg 如何录屏时排除录制指定的某个窗口 ffmpeg 最近大版本发布为啥这么快
ffmpeg 如何更快速的查询视频的"缺帧"
1054850490 · 2023-02-25 · via FFmpeg

我目前使用以下命令查缺帧
```
ffmpeg -v 16 -stats -hwaccel cuda -i 1.mkv -map v -fps_mode cfr -stats_period "0.05" -f null -
```
我来讲一下原理,其他不重要,主要是`-fps_mode cfr`,这个命令可以在遇到时间戳对不上的情况下补帧,虽然是补帧,但是这个补并不是我们想象中的那个补运动帧,而是将当前的帧当做下一帧继续播放。
我们先来看看官方文档的描述
https://i.imgur.com/aVkfu3Z.png
我来举例,当一部视频帧数为 30 帧的时候,当你设定了 60 帧输出的时候,是不是每一秒都缺了一半?这时候这个命令就会自动的把不够的帧自动补上,但是这补帧,更像是隔行扫描的视频转到逐行扫描上播放使用的"去隔行处理"。
另一种案例就是我的案例了,大家经常下载文件的时候都遇到过不完整的情况吧?比如臭名昭著的"百度云盘",下载没带校检,如果是视频还好,因为视频缺了中间部分并不影响播放,如果是文件直接就宣告整个文件的死刑了,压缩包更不用说了,所以我的问题就是下载视频的过程中,由于网络波动的影响经常导致文件不完整,而我就是想要找出到底哪个视频文件不完整。
视频的元数据里,开头就描述了该视频该采用多少帧率播放,列如一部视频自己元数据描述了帧数是 30F ,但是视频的中间数据丢失了,就会导致下图中的后果
https://i.imgur.com/VGzjR6B.png
绿色竖线左右空白的地方就是"缺帧"的部分,当使用以上命令进行补帧的时候,就会出现“dup”参数,dup 后面的数字参数就是指补了多少帧
https://i.imgur.com/aJhedLF.png
图中可以看到这个视频缺了 853 帧,借助这个方法,间接的观察视频的完整性,这个方法也适用于 115 以及百度云下载的视频文件不完整的筛选
但是这个方法缺点就是,太慢了,太太太慢了!!!!我本机配置是 12490f+1660ti ,但是我显卡的编码器还没我的 CPU 快,以下是我的测速
https://i.imgur.com/6rba4Yo.png
speed 就是速度,越高越好,可以看到 GPU 明显不如 CPU ,这又是为什么呢,我用 potplayer 硬解 1660ti 8K 片源很轻松,但是 12490f 解码 8K 有点吃力了,我又看到官方文档的一篇解释
https://i.imgur.com/h6CBk4r.png
感觉是我有某些地方没设置好导致的差异,因为我用 ffmpeg 硬解的时候发现只占用了 50%-60%左右,根本没吃满。
以上所述完了,我的需求就是让这个过程,更加的“省时间”,毕竟这个间接观察大法还是太耗算力,如果能稍微优化一下也好,我现在检索 2T 的视频的时候,通常都需要 5 天左右的时间才检索完,这速度实在是太慢了,我在想,就是能不能降低解码的质量换取速度,毕竟我也看不着这个画面,不知道能不能降低他的解码算力需求让我速度提升
下面提供一个损坏的视频样片,供你尝试
https://drive.google.com/file/d/1TDbxYD0vri0D8aIJ6a1OSY2abE9tc6Lk/view?usp=share_link