首页 > 其他分享 >使用FFmpeg将视频的分辨率从1080p转换为2160p

使用FFmpeg将视频的分辨率从1080p转换为2160p

时间:2024-04-27 18:33:23浏览次数:21  
标签:视频 20 FFmpeg mp4 1080p 2160p

1.要使用FFmpeg将视频的分辨率从1080p转换为2160p(也称为4K),可以使用以下命令行代码:

ffmpeg -i input.mp4 -s 3840x2160 -c:v libx264 -preset slow -crf 20 output.mp4

这里的参数解释如下:

-i input.mp4:指定输入文件。
-s 3840x2160:设置输出视频的分辨率为3840像素宽和2160像素高。
-c:v libx264:指定使用H.264编码。
-preset slow:设置编码器预设为慢速编码,以保持较高的画质。
-crf 20:设置CRF(常量速率因子)值为20,这是画质控制的设置,值越低画质越好。
output.mp4:指定输出文件名。

确保你的FFmpeg版本支持这些选项。如果需要其他编码器预设或CRF值,可以根据需要调整命令。

2.如果你想要使用一条命令将文件夹中的多个视频文件从1080p转换为2160p,你可以使用for循环结合FFmpeg命令来实现。以下是一个在Linux或macOS系统上的bash shell示例,它将当前目录下的所有.mp4文件从1080p转换到2160p:

for file in *.mp4; do
  ffmpeg -i "$file" -vf "scale=3840:2160" -c:v libx264 -preset slow -crf 20 "${file%.*}_2160p.mp4"
done

这里,*.mp4会匹配当前目录下所有的.mp4文件。for循环会遍历这些文件,并对每个文件执行FFmpeg命令。

-i "$file":指定当前循环中的文件作为输入。
-vf "scale=3840:2160":使用视频滤镜scale来缩放视频到2160p分辨率。
-c:v libx264:指定输出视频编码为H.264。
-preset slow:使用慢预设进行编码,以获得更好的压缩效率和画质。
-crf 20:设置CRF值为20。
"${file%.*}_2160p.mp4":输出文件名将原始文件名(不包括扩展名)加上_2160p后缀和.mp4扩展名。

如果你正在使用Windows的命令提示符(CMD),你可以使用类似的循环结构,但是语法会稍有不同:

for %%F in (*.mp4) do (
  ffmpeg -i "%%F" -vf "scale=3840:2160" -c:v libx264 -preset slow -crf 20 "%%~nF_2160p.mp4"
)

请注意,在Windows的for循环中,变量是%%F,而在bash中是$file。同时,%%~nF会提取不带扩展名的文件名。

确保在执行这些命令之前,你已经安装了FFmpeg,并且它在你的系统PATH中,这样你就可以在任何目录下直接调用ffmpeg命令了。

另外,请注意,这种简单的方法只是简单地通过滤镜将视频缩放到2160p分辨率,而不是真正地提高视频的质量。实际上,将1080p的视频转换为2160p并不能增加视频中的细节,它只会通过插值算法来放大像素。如果你想要得到真正的2160p质量,你需要从原始的高分辨率源开始。

标签:视频,20,FFmpeg,mp4,1080p,2160p
From: https://www.cnblogs.com/pengpengboshi/p/18162344

相关文章

  • FFmpeg开发笔记(十七)Windows环境给FFmpeg集成字幕库libass
    ​libass是一个适用于ASS和SSA格式(AdvancedSubstationAlpha/SubstationAlpha)的字幕渲染器,支持的字幕类型包括srt、ass等,凡是涉及到给视频画面添加字幕,均需事先集成libass。《FFmpeg开发实战:从零基础到短视频上线》一书的“7.3.1 Linux环境安装libass”介绍了如何在Linux环境......
  • 1. FFmpeg介绍
    FFmpeg介绍什么是FFmpeg?FFmpeg既是一款音视频编解码工具,同时也是一组音视频编解码开发套件,提供了丰富的命令行工具,以及音视频处理的调用接口。FFmpeg提供了多种媒体格式的封装和解封装,包括多种音视频编码,多种协议的流媒体,多种色彩格式转换,多种采样率转换,多种码率转换等。FFmpe......
  • 深入理解 FFmpeg 书籍笔记
    知识点太多,目前只记录遇到的错误1.在Ubuntu22.0464位上编译FFmpeg-0.6.3时,使用./configure配置时遇到如下错误ffserver.c:Infunction‘rtsp_cmd_describe’:ffserver.c:2987:5:error:implicitdeclarationoffunction‘ff_url_split’[-Werror=implicit-fun......
  • FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
    ​《FFmpeg开发实战:从零基础到短视频上线》一书的例程主要测试本地的音视频文件,当然为了安全起见,很多网络视频都采用了https地址。FFmpeg若要访问https视频,就必须集成第三方的openssl库,但编译FFmpeg时却默认关闭了openssl。为了让App能够播放采用https的在线视频,需要编译安装并启......
  • ffmpeg命令分类查询
    ffmpeg命令分类查询命令参数内容命令参数内容-version显示版本-bsfs显示可用比特流filter-buildconf显示编译配置-protocols显示可用的协议-formats显示可用格式(muxers+demuxers)-filters显示可用的过滤器-muxers显示可用复用器-pix_fmts显示可......
  • FFmpeg如何查询命令帮助文档
    FFmpeg如何查询命令帮助文档ffmpeg/ffplay/ffprobe区别ffmpeg:​ HyperfastAudioandVideoencoder​ 超快音视频编码器(类似爱剪辑)ffplay:​ Simplemediaplayer简单媒体播放器ffprobe:​ Simplemultimediastreamsanalyzer​ 简单多媒体流分析器ffmpeg命令查看......
  • WIN11安装FFmpeg
    WIN11安装FFmpeg官网:https://ffmpeg.org/download.html#build-windows找WindowsbuildsbyBtbN,跳转到:https://github.com/BtbN/FFmpeg-Builds/releases选择合适的版本下载。我这里下载的是ffmpeg-master-latest-win64-gpl-shared下载完后,进行解压,然后把解压有的路径......
  • C# ffmpeg m3u8 ts 视频拼接mp4
    准备拼接文件里面放的是需要拼接视频文件的路径concat_list.txt  准备代码 privatevoidCombineFile(stringfilesDir,stringtargetmp4fileName){stringbasedir=AppDomain.CurrentDomain.BaseDirectory;//ffmpeg的......
  • FFmpeg开发笔记(十五)详解MediaMTX的推拉流
    ​MediaMTX是个开源的轻量级流媒体服务器,它的安装过程参见《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2.2 FFmpeg向网络推流”。MediaMTX下载后的压缩包包括可执行程序mediamtx.exe和配置文件mediamtx.yml,看起来非常简约,但它提供的流媒体服务一点也没缩水。双击mediamtx......
  • 使用ffmpeg 插入片头片尾(指定时长)
    功能需求:1、插入的片头可以时图片或视频。图片格式暂时未jpg视频格式为mp4。可能存在的问题:1)、图片需要先转换成ts文件:增加视频和音频。2)、mp4文件可能无声音。3)、片头片尾的参数与录制视频的参数不匹配:导致连接过程可能会黑屏。  首先参数统一1、如何加快编码h264......