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

1、原始视频信息

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

python 复制代码
 ffmpeg -i input.mp4
ffmpeg version 6.1-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
  built 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-librubberband
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    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     : mp42
    minor_version   : 1
    compatible_brands: mp42hvc1CAEP
    make            :
    make-eng        :
    model           :
    model-eng       :
    creation_time   : 2023-09-14T07:26:06.000000Z
    timecode        : 00:25:37:02
  Duration: 00:07:01.44, start: 0.000000, bitrate: 214391 kb/s
  Stream #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.000000Z
      vendor_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.000000Z
      vendor_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.000000Z
      timecode        : 00:25:37:02
At least one output file must be specified

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

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

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

python 复制代码
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

相关推荐
叼烟扛炮11 小时前
[LangChain] 学习笔记(06):突破大模型限制——结构化输出(Structured Output)
windows·笔记·学习·langchain
一条破秋裤12 小时前
【V4L2采集视频】
音视频
Thneonl1 天前
桌宠穿透不是一行 SetWindowLong
windows·程序员
橙橙笔记1 天前
QT的学习第四部分
linux·qt·学习·音视频
Android系统攻城狮1 天前
Linux FFmpeg深度解析之av_guess_format调用流程与实战(三十六)
linux·运维·服务器·ffmpeg·ffmpeg音视频进阶
AI视频工具指南2 天前
用 AI 能做哪些视频?按想交付的作品选做法
人工智能·aigc·音视频
艺杯羹2 天前
Windows原生软件锁设计:从暴力杀进程丢数据到零轮询事件驱动架构
windows·系统架构·开源·开源软件·内存管理·开源协议
希和20272 天前
免费AI视频生成工具汇总(国内优先,适合做漫剧、短视频,Obsidian笔记版)
人工智能·笔记·音视频
csdn_aspnet2 天前
Redis 入门:Windows、Mac安装指南
数据库·windows·redis·缓存·mac
謓泽2 天前
【插件】用写网页的方式做视频?HyperFrames 让我重新理解了“做视频“这件事!
gpt·ai·大模型·音视频·媒体·claude·视频