首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将NV12文件列表转换为视频

将NV12文件列表转换为视频
EN

Ask Ubuntu用户
提问于 2022-11-23 05:05:45
回答 1查看 330关注 0票数 0

我有NV12格式的YUV文件文件夹,我想把它们制作成一个视频。我不能愚弄他们,因为他们没有一个好的数字领导零。实际上我改变不了它。但我有一个正确的顺序的视频文件列表。

代码语言:javascript
复制
ffmpeg -y -pix_fmt nv12 -s 1920x1080 -r 30 -f concat -safe 0 -i yuvlist.txt -c:v libx264 -pix_fmt yuv420p output.mp4

yuvlist.txt

代码语言:javascript
复制
file 'yuvfile_01.yuv'
file 'yuvfile_02.yuv'

依此类推(是的,这些文件存在)

这总是以这个错误结尾。

代码语言:javascript
复制
[IMGUTILS] Picture size 0x0 is invalid
[concat] Impossible to open 'yuvfile_01.yuv'
yuvlist.txt Invalid argument

我尝试将NV12 -pix_fmt nv12 -s 1920x1080的信息放在命令行的不同位置,但仍然得到相同的错误。

我可以实现这一点,首先用ffmpeg将所有的YUV转换成BMP,然后使用ffmpeg -y -r 30 -f concat -safe 0 -i bmplist.txt -c:v libx264 -pix_fmt yuv420p output.mp4,当然这里的图片大小是BMP内部的元数据,它可以成功。这需要时间和磁盘空间通过BMP,所以我应该把我的图片大小和格式直接使用YUV在第一个ffmpeg命令行的例子?

EN

回答 1

Ask Ubuntu用户

发布于 2022-12-12 20:44:46

输入必须是第一位的,几乎总是如此。有YUV色度问题与mpeg4输入。使用视频过滤器-vf来纠正它。如果文件分辨率匹配,通常不需要设置刻度。使用-r是输入速率。只有在处理可变比特率源时才需要完整的编码(而不是流副本)。使用-framerate作为输出速率。

5.6高级视频选项“如果pix_fmt是单个+,ffmpeg将选择与输入(或图形输出)相同的像素格式,并禁用自动转换”

试试看:

ffmpeg -f concat -safe 0 -i yuvlist.txt -pix_fmt "+" -vf "format=yuv420p,scale=1920:1080" -framerate 30 -c:v libx264 "output.mp4"

此外,如果需要的话,您可以在没有列表的情况下进行连接。曾经救过我一次。

ffmpeg -i concat:"file1.ext|file2.ext|file3.ext"

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1442062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档