如何解决在哪里可以找到简单的YUV可能是YUV420P图像进行测试? 我可以用ffmpeg提取吗?
我需要测试将YUV420P(和其他YUV格式)渲染为RGB的OpenGL着色器。仅为此解码视频就太多了。
是否有带Y,U和V缓冲区的图像样本可以发送给着色器?
在Google上,我只找到不再托管这些图片的旧网站。
也许有一种方法可以使用ffmpeg轻松地从任何视频中提取帧?
解决方法
Maybe there's a way to easily extract a frame from any video using ffmpeg?
(1)用于转换现有图像(例如: PNG):
ffmpeg -i test.png -pix_fmt yuv420p test.yuv
(2)用于按帧转换视频(例如:在视频帧xx
编号处提取图像):
ffmpeg -i test.mp4 -pix_fmt yuv420p -vf "select=eq(n\,xx)" -frames:v 1 test.yuv
(3)要通过时间戳转换视频(例如:提取特定时间的帧,ss
的格式为HH:MM:SS
):
ffmpeg -ss 00:23:00 -i test.mp4 -pix_fmt yuv420p -frames:v 1 test.yuv
PS:无论是视频还是图像,如果需要特定的分辨率,请使用视频过滤器scale
,其中W:H
设置中的宽度或高度之一可以替换为-1
以保持宽高比(如果需要):
ffmpeg -i test.png -pix_fmt yuv420p -vf "scale=1280:720" test.yuv
,
您只能使用ffmpeg生成一个。
ffmpeg -f lavfi -i testsrc2=s=1280x720,format=yuv420p -vframes 1 sample.yuv
请注意,这是平面布局,因此首先所有Y个样本,然后是U,然后是V。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。