使用ffmpeg调整视频分辨率/帧率并保持高清晰度

1、原始视频信息

通过ffmpeg -i命令查看视频基本信息

 ffmpeg -i input.mp4
ffmpeg version 6.1-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developersbuilt with gcc 12.2.0 (Rev10, Built by MSYS2 project)configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberbandlibavutil      58. 29.100 / 58. 29.100libavcodec     60. 31.102 / 60. 31.102libavformat    60. 16.100 / 60. 16.100libavdevice    60.  3.100 / 60.  3.100libavfilter     9. 12.100 /  9. 12.100libswscale      7.  5.100 /  7.  5.100libswresample   4. 12.100 /  4. 12.100libpostproc    57.  3.100 / 57.  3.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000024c98921a00] st: 0 edit list: 1 Missing key frame while searching for timestamp: 1000
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000024c98921a00] st: 0 edit list 1 Cannot find an index entry before timestamp: 1000.
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':Metadata:major_brand     : mp42minor_version   : 1compatible_brands: mp42hvc1CAEPmake            :make-eng        :model           :model-eng       :creation_time   : 2023-09-14T07:26:06.000000Ztimecode        : 00:25:37:02Duration: 00:07:01.44, start: 0.000000, bitrate: 214391 kb/sStream #0:0[0x1](eng): Video: hevc (Rext) (hvc1 / 0x31637668), yuv422p10le(tv, bt709), 4096x2160, 214092 kb/s, 50 fps, 50 tbr, 50k tbn (default)Metadata:creation_time   : 2023-09-14T07:26:06.000000Zvendor_id       : [0][0][0][0]Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 253 kb/s (default)Metadata:creation_time   : 2023-09-14T07:26:06.000000Zvendor_id       : [0][0][0][0]Stream #0:2[0x3](eng): Data: none (tmcd / 0x64636D74), 1 kb/s (default)Metadata:creation_time   : 2023-09-14T07:26:06.000000Ztimecode        : 00:25:37:02
At least one output file must be specified

通过命令查看,原始视频信息

Video: hevc (Rext) (hvc1 / 0x31637668), yuv422p10le(tv, bt709), 4096x2160, 214092 kb/s, 50 fps, 50 tbr, 50k tbn (default)

2、ffmpeg视频转换-保持清晰度

ffmpeg -i input.mp4 -r 25 -qscale 0 -q:v 1 -c:a aac -b:v 20000k -vf scale=2048:-1 output.mp4

-qscale value:使用固定的视频量化标度(VBR),以value质量为基础的VBR,取值0.01-255,越小质量越好

-q:v:表示存储jpeg的图像质量

-b:v:设置输出文件的视频比特率(码率)

-c:a:指定音频编码器

-r 输出帧率

-vf:设置视频滤镜,scale=2048:-1,宽度为2048,保持长宽比


参考自:https://blog.csdn.net/lsb2002/article/details/135276109

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/35401.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java数组转列表

Arrays.asList 是 Java 中的一个方法,用于将数组转换为固定大小的列表。这个方法在 java.util.Arrays 类中定义,常用于将数组转换为 List 以便使用集合框架中的其他方法。 主要特性 转换数组为列表:将一个数组转换为一个 List,从…

【MySQL】数据库的索引机制

文章目录 前言1. 索引是什么2. 索引的优缺点2.1 优点2.2 缺点 3. 索引的操作3.1 创建索引3.2 查看索引3.3 删除索引 4. 索引的存储原理4.1 B树4.2 B树 结语 前言 在数据库中,我们经常使用到的操作就是查询,当数据量小的时候,查询的速度很快&…

COMSOL - 一个点光源是否总能照亮整个房间?

20 世纪 50 年代,数学家恩斯特施特劳斯(Ernst Straus)提出了一个有趣的问题:在一个侧壁由理想反射镜构成的任意形状的空房间里,一个点光源是否总能照亮整个房间?诺贝尔奖获得者罗杰彭罗斯(Roger…

1S013485认证:企业腾飞的引擎

在全球化的今天,企业要想在激烈的市场竞争中立于不败之地,必须不断提升自身的综合实力。1S013485认证正是帮助企业实现这一目标的重要工具。获得这项认证,企业不仅能在市场竞争中占据优势,还能在多个层面实现质的飞跃,…

Linux下快速搭建jupyter远程连接-小白即可上手

如何设置jupyter远程连接 第一步 **[1] jupyter notebook --generate-config**此时,在~/.jupyter文件夹下就有 jupyter_notebook_config.py 第二步 vim jupyter_notebook_config.py在此文件最前面添加 c get_config() c.NotebookApp.ip * c.NotebookApp.passw…

mac m芯片下安装nacos

背景:最近再研究 下载地址: https://nacos.io/download/nacos-server/ 解压zip包 unzip nacos-server-2.3.2.zip启动 进入到bin目录下 ./startup.sh -m standalone访问可视化界面 账号密码都是nacos,进行登录即可,nacos的端口为…

还在为职场烦恼?六西格玛黑带培训来帮忙!

为什么现在越来越多的学员都直奔六西格玛黑带培训呢?别急,张驰咨询这就来给你们揭秘! 首先,六西格玛这个名头可不是盖的!它就像是企业管理的“超级英雄”,专门解决各种流程中的“小怪兽”——也就是那些影…

Hadoop3:MapReduce中的Shuffle机制

一、流程图 Shuffle是Map方法之后,Reduce方法之前的数据处理过程称。 二、图解说明 1、数据流向 map方法中context.write(outK, outV);开始,写入环形缓冲区,再进行分区排序,写到磁盘 reduce方法拉取磁盘上的数据,…

Appium+python自动化(二十五)- 那些让人抓耳挠腮、揪头发和掉头发的事 - 获取控件ID(超详解)

简介 在前边的第二十二篇文章里,已经分享了通过获取控件的坐标点来获取点击事件的所需要的点击位置,那么还有没有其他方法来获取控件点击事件所需要的点击位置呢?答案是:Yes!因为在不同的大小屏幕的手机上获取控件的坐…

[SAP ABAP] 汇总内表数据

在加入新数据记录时&#xff0c;将非数值字段具有相同内容记录的数值字段汇总 语法格式 COLLECT <wa> INTO <itab>. <wa>&#xff1a;代表工作区 <itab>&#xff1a;代表内表 示例1 结果显示&#xff1a;

多维度mysql性能优化手段实践

数据库优化维度有四个:硬件升级、系统配置、表结构设计、SQL语句及索引。 优化选择: 优化成本:硬件升级>系统配置>表结构设计>SQL语句及索引。 优化效果:硬件升级<系统配置<表结构设计<SQL语句及索引。 系统配置优化 保证从内存中读取数据 MySQL会在内…

【云原生】深入理解Pod的使用进行管理

深入理解Pod 文章目录 深入理解Pod一、介绍Pod1.1、什么是Pod1.2、Pod的特点1.3、Pod的用途1.4、Pod网络1.5、Pod存储1.6、Pod的工作方式 二、创建Pod2.1、命令行创建Pod2.2、资源清单创建Pod2.2.1、镜像拉取策略2.2.2、Pod重启策略2.2.3、部署资源2.2.4、删除资源 三、静态Pod…

Go语言之集合类型

个人网站&#xff1a; http://hardyfish.top/ 免费书籍分享&#xff1a; 资料链接&#xff1a;https://url81.ctfile.com/d/57345181-61545511-81795b?p3899 访问密码&#xff1a;3899 免费专栏分享&#xff1a; 资料链接&#xff1a;https://url81.ctfile.com/d/57345181-6…

浏览器扩展V3开发系列之 chrome.storage 的用法和案例

【作者主页】&#xff1a;小鱼神1024 【擅长领域】&#xff1a;JS逆向、小程序逆向、AST还原、验证码突防、Python开发、浏览器插件开发、React前端开发、NestJS后端开发等等 chrome.storage 是用于存储、获取用户数据的 API。当我们需要持久化存储数据时&#xff0c;比如&…

昇思25天学习打卡营第3天|linchenfengxue

ResNet50迁移学习 在实际应用场景中&#xff0c;由于训练数据集不足&#xff0c;所以很少有人会从头开始训练整个网络。普遍的做法是&#xff0c;在一个非常大的基础数据集上训练得到一个预训练模型&#xff0c;然后使用该模型来初始化网络的权重参数或作为固定特征提取器应用…

目标检测系列(四)-利用pyqt5实现yolov8目标检测GUI界面

1、pyqt5安装 Qt Designer&#xff1a;一个用于创建图形用户界面的工具&#xff0c;可轻松构建复杂的用户界面。它基于MVC架构&#xff0c;可以将界面设计与逻辑分离&#xff0c;使得开发更为便捷。在Qt Designer中&#xff0c;可以通过拖拽控件来灵活地调整界面&#xff0c;并…

11. Java线程的状态详解

1. 前言 本节内容主要是对多线程的 6 种状态进行详细讲解&#xff0c;具体内容点如下&#xff1a; 抛开语言&#xff0c;谈操作系统的线程的生命周期及线程 5 种状态&#xff0c;这是我们学习 Java 多线程 6 种状态的基础&#xff1b;掌握 Java 的线程生命周期及 6 种线程状态…

电脑没声音是什么原因?一篇文章帮你解决疑惑

在使用电脑时&#xff0c;声音是至关重要的一部分&#xff0c;无论是播放音乐、观看视频还是进行视频会议。然而&#xff0c;有时候电脑可能会出现没声音的情况&#xff0c;这让人感到非常困扰。那么电脑没声音是什么原因呢&#xff1f;本文将详细介绍解决电脑没声音问题的三种…

机器人自主学习方法学习

各类算法的优缺点 原理&#xff1a; 该结构中初始的知识为0&#xff0c;不存在任何先验知识&#xff0c;让机器人与环境交互不断获得经验&#xff0c;是一个增量学习的过程。 算法举例 基于强化学习的开源算法及工具 OpenAI Gym&#xff1a;用于开发和比较强化学习算法的工具…

电脑开不了机怎么办?无响应就试试这3个方法,快速解决黑屏

当电脑突然变得沉默寡言&#xff0c;没有任何响应&#xff0c;屏幕只剩下一片漆黑时&#xff0c;不仅会打断我们的计划&#xff0c;还可能让我们感到无助和焦虑。电脑开不了机怎么办呢&#xff1f;如果你正面临这样的困境&#xff0c;别担心&#xff0c;本文将引导你通过三个简…