首页 > 其他分享 >FFMPE的两个参考文章

FFMPE的两个参考文章

时间:2023-06-06 20:44:32浏览次数:53  
标签:视频 ffmpeg 参考 FFMPE 图像 jpg mp4 文章 out

FFMpeg 的常用说明

1. 让视频以H.264编码

 

ffmpeg -i field.mp4 -c:v libx264 -crf 18 field_crf18.mp4

此处我们将恒定速率因子设置为 18。比例的范围是 ,其中无损,是默认值,并且质量可能最差。较低的值导致较高的质量,主观上合理的范围是 。考虑 17 或 18 在视觉上无损或几乎无损。

 

2. 缩放、裁剪和垫

 

原视频是1920*1080的

ffmpeg -i moon.mp4 -vf scale=640:480,setdar=4:3 moon_sc.mp4

这样就改为了640 * 480 ,且4:3的视频;

 

如果视频因为上面的问题导致比例失真,则使用下面的参数 -2: 480 ,则保持保持纵横比

ffmpeg -i moon.mp4 -vf scale=-2:480 moon_sc_ar.mp4

 

上面的重新缩放的视频大小,它比预期的要大,可以使用下面的方法裁切视频:

ffmpeg -i moon_sc_ar.mp4 -vf "crop=640:in_h:(in_w-out_w)/2:0" moon_sc_ar_crp.mp4

 

在上面的参数中:crop=out_w:out_h:x:y

  • out_w指示输出矩形的宽度
  • out_h指示输出矩形的高度
  • x并且是输出矩形的左上角y

 

下面是填充视频

ffmpeg -i moon_sc_ar_crp.mp4 -vf "pad=1920:1080:(out_w-in_w)/2:(out_h-in_h)/2" moon_pad.mp4

 

如果想让填充区域为白色,则:

ffmpeg -i moon_sc_ar_crp.mp4 -vf "pad=1920:1080:(out_w-in_w)/2:(out_h-in_h)/2:white" moon_padwhite.mp4

 

3. 视频的堆叠

我们可以水平堆叠视频:

ffmpeg -i relax.mp4 -i stream.mp4 -filter_complex hstack hComb.mp4

也可以垂直堆叠

ffmpeg -i relax.mp4 -i stream.mp4 -filter_complex vstack vComb.mp4

 

也可以创建一个视频马赛克

ffmpeg -i field.mp4 -i moon.mp4 -i relax.mp4 -i stream.mp4 \

-filter_complex "[0:v][1:v]hstack[h1];[2:v][3:v]hstack[h2];[h1][h2]vstack[v]" \

-map "[v]" -c:v libx264 -crf 18 combAll.mp4

 

以上内容来自yichuanzhu.com/creating-powerpoint-compatible-videos-with-ffmpeg

 

另外一篇很不错的参考

 

让以happy1/2/3等命名的图片,做成视频,并且1秒一张:

 

ffmpeg -framerate 1 -i happy%d.jpg -c:v libx264 -r 30 output.mp4

上面的命令需要输入图像,.这将搜索具有最低数字的图像,并将其设置为起始图像。然后,它将该数字递增 1,如果图像存在,它将被添加到序列中。你可以自己指定起始映像,如果我们添加到上面的命令中,起始映像将是 。-i happy%d.jpg-start_number n-start_number 3happy3.jpg

选项总是写在它们引用的文件之前,因此在我们的示例中,是用于输入图像的选项,也是输出文件的选项。-framerate 1 -i-c:v libx264 -r 30

我们用来定义读取图片的速度,在本例中为每秒 1 张图片。省略帧速率将默认为 25 帧速率。-framerate 1

-r 30是输出视频的帧速率。同样,如果我们不定义它,它将默认为 25。

指定用于对视频进行编码的编解码器。 是用于将视频流编码为 H.264/MPEG-4 AVC 压缩格式的库。-c:v libx264x264

您可以添加 或(当您的输出为 H.264 时)以提高视频与各种播放器的兼容性:-vf format=yuv420p-pix_fmt yuv420p

 

$ ffmpeg -framerate 1 -i happy%d.jpg -c:v libx264 -r 30 -pix_fmt yuv420p output.mp4

 

 

使用 FFmpeg concat 解复用器

您可以使用 concat 解复用器连接文件中列出的图像。

下面,我们创建一个带有标签的文件,并为幻灯片添加图像列表。我们指定每个图像将显示的持续时间(2 秒)。您可以为每个图像指定不同的持续时间:input.txt

file 'happy1.jpg'
duration 2
file 'happy2.jpg'
duration 2
file 'happy3.jpg'
duration 2
file 'happy4.jpg'
duration 2
file 'happy5.jpg'
duration 2
file 'happy6.jpg'
duration 2

然后,我们运行以下命令来输出图像的视频幻灯片:

$ ffmpeg -f concat -i input.txt -c:v libx264 -r 30 -pix_fmt yuv420p output.mp4

将音频添加到视频幻灯片

您可以通过添加音轨来使视频幻灯片更有趣:

$ ffmpeg -framerate 1 -pattern_type glob -i '*.jpg' -i freeflow.mp3 \
  -shortest -c:v libx264 -r 30 -pix_fmt yuv420p output6.mp4

上面添加了第二个输入文件,该文件是音频文件。-i freeflow.mp3

该选项将输出视频的长度设置为两个输入文件中的最短长度。由于我们的音频文件比六张图像的幻灯片长,因此输出视频的长度就是幻灯片的长度。-shortest

向视频幻灯片添加过渡效果

您可以通过在从一个图像过渡到另一个图像时添加一些效果来进一步改进视频幻灯片。

下面为图像添加淡入淡出效果:

$ ffmpeg \
-loop 1 -t 5 -i happy1.jpg \
-loop 1 -t 5 -i happy2.jpg \
-loop 1 -t 5 -i happy3.jpg \
-loop 1 -t 5 -i happy4.jpg \
-loop 1 -t 5 -i happy5.jpg \
-loop 1 -t 5 -i happy6.jpg \
-i freeflow.mp3 \
-filter_complex \
"[0:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=1,fade=t=out:st=4:d=1[v0]; \
 [1:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=1,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v1]; \
 [2:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=1,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v2]; \
 [3:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=1,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v3]; \
 [4:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=1,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v4]; \
 [5:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=1,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v5]; \
 [v0][v1][v2][v3][v4][v5]concat=n=6:v=1:a=0,format=yuv420p[v]" -map "[v]" -map 6:a -shortest output7.mp4

该选项指定每个图像的持续时间(以秒为单位)并循环图像。我们添加一个音频文件,然后添加一些配置,这将添加淡入淡出效果。-t-loop 1-i freeflow.mp3filter_complex

我们使用的一些图像具有不同的尺寸,因此我们使用 with 将图像调整为特定尺寸,使它们均匀。 淡入或淡出图像,设置淡入或淡入的持续时间并指定淡入淡出的开始时间。scalepadfadedst

使用https访问   shotstack.io/learn/use-ffmpeg-to-convert-images-to-video/

标签:视频,ffmpeg,参考,FFMPE,图像,jpg,mp4,文章,out
From: https://www.cnblogs.com/zhangruipeng/p/17461673.html

相关文章

  • FFmpeg组合图片声音为视频课程
    需求:有了PPT,有了课程的录音,想直接生成PPT画面+同步声音讲解,这样就可以搞成视频课程了。要做的步骤:把PPT另存为图片,比如60页PPT,就是60个JPG;听声音,然后记录画面出现的声音文件的时间位置。 比如:p1.jpg   出现时间点0:0:0  ; p2.jpg  0:0:35 ,做成个excel列表;......
  • Windows环境FFmpeg下载、环境变量配置
    FFmpeg官网下载地址第一步:点击Download下载按钮第二步:选择适合当前的运行环境,选择windows第一个地址Windowsbuildsfromgyan.dev第三步:选择releasebuilds中合适的版本第四步:环境变量配置,我安装的目录是:E:\ProgramFiles\ffmpeg-6.0-essentials_build点击ffmpeg安装......
  • 如何保护Angular应用?这篇文章告诉你答案!
    Angular应用现在很火,但它的安全问题尤为突出。因为开发者不仅要保护应用程序,还要保护到服务器连接。本文将告诉您如何保证Angular应用的安全,以及如何避免应用中的潜在漏洞。PS:给大家推荐一个实用组件~KendoUIforAngular是专业级的AngularUI组件库,不仅是将其他供应商提供的现......
  • 如何查找Black Hat会议文章
    BlackHat官网:https://www.blackhat.com/查看BlackHat历史文章:选择会议:选择主题:或者可以Ctrl+F搜索具体的文章......
  • 【猫带你上云】整套系列文章 - - - 传送门
    【猫带你上云】整套系列文章以及相关文章索引前言【猫带你上云】整套系列文章会非常多,为了便于大家查找阅读,因此在这里置顶这篇索引JAVA上云系列前端上云系列Python上云系列......
  • 一篇文章带你详细了解axios的封装
    axios封装对请求的封装在实际项目中是十分必要的,它可以让我们统一处理http请求。比如做一些拦截,处理一些错误等。本篇文章将详细介绍如何封装axios请求,具体实现的功能如下基本配置配置默认请求地址,超时等请求拦截拦截request请求,处理一些发送请求之前做的处......
  • 4、数据库:MySQL部署 - 系统部署系列文章
          MySQL数据库在其它博文中有介绍,包括学习规划系列。今天就讲讲MySQL的部署事情。一、先下载MySQL数据库;到下面这个网址去下载数据库,这里下载的社区版:https://dev.mysql.com/downloads/installer/二、安装数据库;打开EXE文件;       ......
  • 备忘:值得一看的文章,网站架构相关
    http://3g.163.com/ntes/special/0034073A/qq_article.html?docid=9GD1NIUD00964KA8http://3g.163.com/ntes/special/0034073A/qq_article.html?docid=9HIPAKH400964KA8http://3g.163.com/ntes/special/0034073A/qq_article.html?docid=99N86UP700964KA8http://3g.163.com/nte......
  • stm32空工程结构目录(仅供参考)
    寄存器版本在寄存器版本中,需要导入的外部文件只有stm32的启动文件,也就是一个以.s结尾的汇编文件可以手动为链接文件和目标文件创建文件夹,在配置中设置保存的目录即可在寄存器版本中,需要实现systeminit函数,为空即可故:寄存器版本对项目结构的依赖性较低库函数版本项目结构方面......
  • 乐享文章1
    1.首先正确安装好python,pycharm工具(这边不做介绍) 2.下载git的windows客户端官网:https://git-scm.com/download/win  根据自己的系统选择合适的版本,下载安装好。3.配置pycharm的git程序路径先找到安装在windows中的路径bin/中的git.exe  在pycharm工具中添......