- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据 ffmpeg 文档
-vsync parameter
Video sync method. For compatibility reasons old values can be specified as numbers. Newly added values will have to bespecified as strings always.
drop
As passthrough but destroys all timestamps, making the muxergenerate fresh timestamps based on frame-rate.
ffmpeg -f lavfi -i testsrc=duration=20:size=1280x720:rate=50 -pix_fmt yuv420p -c:v libx264 -b:v 4000000 -x264-params ref=1:bframes=0:vbv-maxrate=4500:vbv-bufsize=4000:nal-hrd=cbr:aud=1:bframes=0:intra-refresh=1:keyint=30:min-keyint=30:scenecut=0 -f mpegts -muxrate 5985920 -pcr_period 20 video.ts -y
生成具有正确间隔 PTS 值的输出 ts
ffmpeg -i video.ts -vsync drop -c:v copy -bsf:v h264_mp4toannexb -f h264 - | ffmpeg -fflags +igndts -fflags +nofillin -fflags +genpts -r 50 -i - -c:v copy -f mpegts -muxrate 5985920 video_all_pts_ok.ts -y
生成所有 PTS 为零的输出 ts
ffmpeg -i video.ts -vsync drop -c:v copy -bsf:v h264_mp4toannexb -f mpegts - | ffmpeg -fflags +igndts -fflags +nofillin -fflags +genpts -r 50 -i - -c:v copy -f mpegts -muxrate 5985920 video_all_pts_zero.ts -y
看来 vsync drop 确实会破坏它们,但 mpegts 不会重新生成它们?关于需要添加什么以使其作为单个 ffmpeg 命令工作的任何想法?
最佳答案
尝试仅使用 -vsync 1 重新编码视频,而不使用 -fflags +genpts。我在这里找到了一些很好的信息。这家伙在谈论流媒体视频。所以最高质量不是他的目标。但是有有用的信息。
https://videoblerg.wordpress.com/2017/11/10/ffmpeg-and-how-to-use-it-wrong/
第一节 – 恒定帧率
“-r 用于指定输出帧速率。这必须与输入帧速率相同以消除抖动。这与使用 1 选项的 -vsync 参数结合使用,将相应地重新计时 PTS/DTS 时间戳”
第六部分 - 音频 [也有一些好的建议]
"-af "aresample=async=1:min_hard_comp=0.100000:first_pts=0"有助于使您的音频与视频的开头对齐。容器通常具有视频的开头和视频的开头"
我还没有尝试过,目前没有同步问题的视频。
关于FFMPEG vsync 删除和重新生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67075693/
根据 ffmpeg 文档 -vsync parameter Video sync method. For compatibility reasons old values can be specifi
我正在尝试使我的窗口应用程序与显示器刷新垂直同步。此代码可在“fullscreen = true”(报告 75FPS,显示器刷新率)下正常工作,但在窗口模式下仅报告 32FPS。有人知道我在这里做错了
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 6 年前。 Improve t
我正在决定是否将 VSync 用于我一直使用 OpenGL 开发的新游戏。目标是为用户提供最佳的游戏体验,并在性能和质量之间取得良好的平衡。该游戏设计为可在较旧的(Intel/上网本)计算机和较新的(
我正在用 C 语言制作一款适用于 linux 帧缓冲区的游戏。到目前为止,我有一个红色的 100x100 正方形,它与鼠标一起移动,就像指针一样。我已经实现了双缓冲并且它工作正常(方 block 不闪
当 vsync 不是一个选项时,与监视器刷新同步的首选方法是什么?我们启用了 vsync,但是,一些用户在驱动程序设置中将其禁用,并且这些用户会覆盖应用程序首选项。我们需要可靠的可预测帧长度来正确模拟
我正在寻找一种可移植方法来制作非阻塞 SwapBuffers(),即使 VSync 已激活。 换句话说,是否有可能收到事件通知或知道下一个 VSync 之前的延迟? 最佳答案 IIRC 此扩展可帮助:
我使用 UDP API 将相机源更新到 ImageSource,我有一个计时器更新 ViewModel 的 ImageSource,然后 WPF 数据绑定(bind)屏幕上的图像。 计时器的间隔时间与
在注意到我的游戏在构建到我的iOS设备上时非常不稳定时,我检查了事件探查器,发现vsync负责。经过一些研究,我发现为了解决游戏的抖动问题,我不得不将目标帧频设置为60,因为默认情况下将其设置为30。
我一直在研究游戏循环和物理。前几天,我添加了一些调试语句来查看我的游戏循环的每一帧花费了多少时间。正如预期的那样,结果在 16 毫秒范围内。但是,我尝试禁用 vsync,这些结果并没有改变。显然 vs
在我实现的 2D OpenGL 引擎中,我有一个固定的时间步长,如著名的 fix your timestep 中所述。文章,以及混合。 我有一个垂直移动的测试对象(y 轴)。运动中存在卡顿(预编程运动
我正在调查我的 Android 应用中的丢帧问题。它们是不规则的,平均每秒发生一次。我已将有问题的渲染器配对回一个非常简单的着色器,我相信帧渲染时间很短。 当我运行 systrace 时,我可以看到看
对于科学任务,屏幕上应显示具有稳定频率(最大 60 Hz)的闪烁区域。我尝试使用 Qt 5.6 实现稳定的刺激可视化。 根据这个blog entry和许多其他在线建议,我实现了三种不同的方法:继承自
我在同一个主线程中使用三个不同的 QGLWidgets,最好以 60fps 渲染,但我无法达到超过 20fps。这似乎是由 Vsync 引起的,因为每个小部件可能会尝试独立地与刷新率同步,因此它们会以
所以,我在窗口应用程序中使用 D3D。 我使用以下参数初始化 D3D: windowed: true; backbufferformat: D3DFMT_X8R8G8B8; presentinterv
对于我所有的 SDL/OpenGL 程序,帧速率都停留在 60fps,所以看起来 vsync 已启用,但不是由我,也不是在我的代码或我的设置中。所以我想现在是否有办法禁用它,也许在一些深层的 macO
使用时 AnimationController ,那vsync的目的是什么?范围? class Example extends StatefulWidget { @override _Exam
AnimationController 停止工作,因为不知何故 vsync 不再是命名参数。 这行代码停止工作。controller = AnimationController(duration: D
我目前正在为 Android 开发一款游戏,我想截取它的屏幕截图。我是在 eclipse 中使用 DDMS 工具这样做的。但是,大多数屏幕截图都是两帧的混合: ___________ |new fra
我正在使用 XWindow Drawable、Pixmap 和 XRender 在屏幕上绘制一些东西。我可以看到有时会出现闪烁。有没有办法等待VBLANK?我已经在谷歌上搜索了很多,感觉就像在森林里寻
我是一名优秀的程序员,十分优秀!