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

发布于:2024-06-30 ⋅ 阅读:(11) ⋅ 点赞:(0)

1、原始视频信息

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

 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

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

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