问题描述

需要将一系列的视频从yuv格式的文件编码成每秒30帧的视频,但是在yuv生成mp4格式时,存在帧数不对齐的问题。

1.准备两个视频

  1. Animation_1080P-209f.mkv,25fps,20s,一共500帧
  2. CoverSong_1080P-0a86.mkv,30fps,20s,一共600帧


2.mkv转yuv

ffmpeg -hide_banner -i x.mkv -y x.yuv
  1. Animation_1080P-209f.yuv,一共500帧
  2. CoverSong_1080P-0a86.yuv,一共600帧


3.yuv转mp4

ffmpeg -hide_banner -s 1920*1080 -i x.yuv -r 30 -y x.mp4
  1. Animation_1080P-209f.mp4,30fps,20s,一共600帧
  2. CoverSong_1080P-0a86.mp4,30fps,24s,一共720帧


原因

yuv文件没有帧率(时间)的信息记录(不知道帧率就是不知道该视频播放的总时长),编码时默认按照25fps进行编码,所以如果原本就是25fps的视频,不会有问题出现。但如果之前fps不是25而是30(例如本实验中的视频CoverSong_1080P-0a86.mkv),他的计算方式如下:
yuv文件一共有600帧,按照默认的25fps,那一共可以播放600/25=24秒钟,想要编码输出30fps的视频,最终会得到24*30=720帧,24s的视频。

解决方法

在读取yuv文件前,加入-r参数告诉编码器yuv文件的帧率。

ffmpeg -hide_banner -s 1920*1080 -r 30 -i x.yuv -r 30 -y x.mp4

【Bug修复】yuv生成mp4格式文件帧数(时间)与原视频不一致相关推荐

  1. python下载大文件mp4_Python代码打开本地.mp4格式文件的方法

    Python代码打开本地.mp4格式文件的方法 想通过编写Python代码来打开本地的.mp4格式文件,使用os模块来操作文件.我的电脑默认的是QQ影音播放器,执行Python代码打开默认播放器,播放 ...

  2. Android多媒体:H264格式文件转MP4格式文件

    项目有Rtsp实时视频播放功能 ,现在要实现边播放边保存的功能要求.我在音视频方面技术处理白痴水平,所以 只能简单地实现先把h264格式的视频流保存到SD卡,再把对应地h264文件转码成MP4格式文件 ...

  3. 【Java】生成 .json格式文件工具类

    package com.glodon.kgb.utils.json;import java.io.File; import java.io.FileOutputStream; import java. ...

  4. python修改文件格式为unix_软件测试技术之如何用python在Windows系统下,生成UNIX格式文件...

    本文将带你了解软件测试技术之如何用python在Windows系统下,生成UNIX格式文件,希望对大家学测试技术有所帮助 如何用python在Windows系统下,生成UNIX格式文件 平时测试工作中 ...

  5. python亿级mysql数据库导出_Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法...

    本文实例讲述了python实现将MySQL数据库表中的数据导出生成csv格式文件的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding:utf- ...

  6. python处理文本文件实现生成指定格式文件的方法

    python处理文本文件实现生成指定格式文件的方法 关于python处理文本文件实现生成指定格式文件,很多朋友都不知道该怎么弄. 下面是具体代码,希望对大家有帮助 可以在下面复制: import os ...

  7. 【csv文件转xml文件】Excel表格数据快速批量生成xml格式文件

    使用背景: 使用场景举例:数据集标签处理 有时候我们需要将固定格式的Excel表格文件(csv文件)转换为xml文件使用,例如我们在目标检测实验当中我们需要制作数据集Pascal VOC格式的标签文件 ...

  8. python将字符串s和换行符写入文件fp_软件测试技术之如何用python在Windows系统下,生成UNIX格式文件...

    本文将带你了解软件测试技术之如何用python在Windows系统下,生成UNIX格式文件,希望对大家学测试技术有所帮助 如何用python在Windows系统下,生成UNIX格式文件 平时测试工作中 ...

  9. python将文件转成linux格式,怎么用python在Windows系统下,生成UNIX格式文件

    如何用python在Windows系统下,生成UNIX格式文件 平时测试工作中,少不了制造测试数据.最近一个项目,我就需要制造一批可在UNIX下正确读取的文件.为确保这批文件能从FTP下载成功,开发叮 ...

最新文章

  1. 【camera】1. 相机硬件组成
  2. android程序安装后图标不显示
  3. dubbogo 3.0:牵手 gRPC 走向云原生时代
  4. Springboot+Maven在IDEA中配置好Maven后执行Reimport时提示:com.google.inject.internal.Errors.throwCreationExceptio
  5. A Walk Through the Forest
  6. Modis数据处理工具:MRT百度网盘下载和手把手图文安装教程
  7. 在Gradle中为JPMS构建Java 6-8库
  8. life game c语言,c++生命游戏源码
  9. kettlejava脚本的api_[翻译]KETTLE JAVA API :编程定制自己的Kettle转换(transformation)...
  10. HTML+CSS制作Windows启动加载动画
  11. Vijos P1597 2的幂次方【进制+递归】
  12. unity渲染管线及升级URP
  13. 最新《圣思园JavaSE实地培训系列教程》
  14. 计算机考试二级搜题软件,计算机二级搜题库-可以帮助计算机二级备考生进行备考的刷题软件...
  15. python辛普森积分_辛普森在Python中的规则
  16. iar升级芯片库_【经验】如何使用IAR生成MCU RL78的库文件?
  17. MySQL使用HQL语句实现按中文拼音排序
  18. 【集创赛】arm杯一等奖作品:智能BLDC驱动系统
  19. 计算机教师师徒结对师傅总结,师徒结对师傅总结
  20. 极点五笔状态栏和候选窗口显隐

热门文章

  1. 电脑微信linux安装程序,Ubuntu安装Linux网页版微信
  2. 稀疏矩阵的三元组顺序表存储表示及基本操作
  3. 数据存、管、用一体构建企业数据安全堡垒
  4. vue 封装公用函数
  5. php 取消warning,php怎么关闭warning提示
  6. 06_基于树莓派wiringPi的温湿度采集实验
  7. windows黑客编程系列(十一):按键记录
  8. 快要做毕设了,几行代码Python生成创意动态二维码,这不猛猛加分......
  9. VMWare16Pro 调整中文
  10. 联想拯救者pro装华为鸿蒙OS,网友Mate 40 Pro+升级鸿蒙2.0:谷歌服务照样能用