Javascript 获取youtube动画缩略图

Javascript 获取youtube动画缩略图,javascript,youtube,youtube-api,animated-gif,Javascript,Youtube,Youtube Api,Animated Gif,有没有办法将youtube上的动画缩略图嵌入我的网站?我说的不是静态缩略图,而是一个看起来像3秒左右的动画.gif的缩略图。我不知道它是否对您有帮助 但当你进入youtube的搜索页面时 您可以访问该对象 window.ytInitialData 这里我们有一个节点称为: window.ytInitialData.contents.twoColumnSearchResultsRenderer.primaryContents.sectionListRenderer.contents[“0”]。it

有没有办法将youtube上的动画缩略图嵌入我的网站?我说的不是静态缩略图,而是一个看起来像3秒左右的动画.gif的缩略图。

我不知道它是否对您有帮助

但当你进入youtube的搜索页面时 您可以访问该对象

window.ytInitialData

这里我们有一个节点称为:
window.ytInitialData.contents.twoColumnSearchResultsRenderer.primaryContents.sectionListRenderer.contents[“0”]。itemSectionRenderer.contents[2]。videoRenderer.richThumbnail.movingThumbnailRenderer.movingThumbnailDetails.thumbnails[“0”]。url

也许你能找到一种方法来检索这些数据

按以下方式访问搜索页面: 我在console中尝试的内容:

let videos=window.ytInitialData.contents.twoColumnSearchResultsRenderer.primaryContents.sectionListRenderer.contents[“0”]。itemSectionRenderer.contents;
如果(!videos.length){//包括其他渲染器,例如:“你是说…”
log(“搜索中没有视频”);
//返回;
}
让video=videos.filter(v=>v.videoRenderer&&v.videoRenderer.videoId==“uspwv1zwv4”)
如果(!video.length){
log('搜索中该ID没有视频');
//返回;
}
设thumbs=video[0]。videoRenderer.richThumbnail.movingThumbnailRenderer.movingThumbnailDetails.thumbnails;
如果(!thumbs.length){
log(“该视频没有移动的拇指”);
//返回;
}
console.log(拇指[0].url);
截至2019年6月:

1。获取静态缩略图非常简单

  • 它们通过YouTube API公开,更好的是,它们遵循一个非常简单和统一的URL结构(更多细节)
2。Youtube的动画缩略图在数量有限的浏览器中受支持。

  • 显然,桌面浏览器Chrome和Opera()
  • 顺便说一句,缩略图是图像格式的,具有更宽的宽度
3。为有限数量的视频制作动画拇指辫相对容易。

例如,您可以在浏览器开发工具中检查网络活动(有关详细信息,请参阅)

打开网络面板,访问包含所需视频的页面列表,清除网络活动(也可以选择“Img”仅显示与图像相关的活动),然后将所需视频悬停。然后右键单击所需的资源并复制url

如果图像有帮助

动画缩略图的URL如下所示:

https://i.ytimg.com/an_webp/zdOmNiXvM3w/mqdefault_6s.webp?du=3000&sqp=CPDloOgF&rs=AOn4CLD9rYflZAMK6qBIbYJDoQZLk9UARw

4。据我所知,目前无法通过编程方式获取动画缩略图(无网络垃圾)

  • 换句话说,给定视频ID,当前无法通过API或定义的URL模式获取动画缩略图URL

附:希望有人能证明我在第4点上是错的,这里有几个URL的例子:

https://i.ytimg.com/an_webp/zdOmNiXvM3w/mqdefault_6s.webp?du=3000&sqp=CPDloOgF&rs=AOn4CLD9rYflZAMK6qBIbYJDoQZLk9UARw

https://i.ytimg.com/an_webp/oIIDZq4nZpo/mqdefault_6s.webp?du=3000&sqp=CLyqoegF&rs=AOn4CLD9DyqMoxBTiOPTUX8FQJmUfiu8NA

https://i.ytimg.com/an_webp/X9tU8ybzcFs/mqdefault_6s.webp?du=3000&sqp=CLHroOgF&rs=AOn4CLAX8j6uWUko_54aPJLwkbAe_cUR3w


更改视频ID或其他参数不会返回有效的缩略图。

Gifs.com提供了一个免费API,用于从媒体相关URL生成带水印的GIF

它没有明确提到它,但事实上它接受Youtube URL并从中生成预览

下面是一个如何将其与cURL一起使用的示例

curl -XPOST -H "Content-type: application/json" -d '{ "source": "https://www.youtube.com/watch?v=74KxwkLjE9E" }' 'https://api.gifs.com/media/import'
生成大约需要一两分钟,因此,如果您使用服务器存储/缓存GIF,您可以创建自己的个人预览生成器

这是文档的存档链接
我键入了一个FFmpeg脚本。要获得许多未压缩YouTube移动缩略图的变体,您需要

  • 下载FFmpeg并将FFmpeg.exe解压缩到文件夹中
  • 将所需视频从YouTube下载到同一文件夹中,并将其重命名为“视频”(如果视频的纵横比为16:9)或“sar”(如果视频具有其他/特殊纵横比)
  • 在文件夹中运行cmd
  • 手动编辑我的脚本:

    • 在img.youtube.com/vi/(视频ID)/1.jpg上显示的帧的时间(在下载的视频中,hh:mm:ss.(1/10秒的一部分))与“CuttedFor1.mp4”对齐的“00:00:00.0”
    • “00:00:00.0”与“CuttedFor2.mp4”对齐=img.youtube.com/vi/(视频ID)/2.jpg上显示的帧时间
    • “00:00:00.0”与“CuttedFor3.mp4”对齐=img.youtube.com/vi/(视频ID)/3.jpg上显示的帧时间
    • 其他“00:00:00.0”=原始mqdefault_6s.webp中第一帧的时间(从网络选项卡)
  • 运行我的脚本

  • 计算每个结果webp的持续时间(例如,使用秒表,手动查看webp 100次,然后将其除以100)(可能会出现自动方法)
  • 手动编辑我的脚本,使setpts等于“1/(此处您需要粘贴在脚本第一次运行后获得的适当webp的持续时间)/3)*PTS[v]”,而atempo等于“(此处您需要粘贴在脚本第一次运行后获得的适当webp的持续时间)/3[a]”
  • 删除第一次运行脚本后获得的所有文件
  • 再次运行我的脚本
  • 易读:

    ffmpeg -i sar.mp4 -vf "crop=in_w:in_w/16*9" -c:a copy video.mp4
    rem // If to obtain a 16: 9 aspect ratio, you need to crop the thumbnail from above and below.
    ffmpeg -i sar.mp4 -vf "crop=in_h/9*16:in_h" -c:a copy video.mp4
    rem // If to obtain a 16: 9 aspect ratio, you need to crop the thumbnail on the sides.
    ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor0.mp4
    ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormaxresdefault.mp4
    ffmpeg -i SpeedChangedFormaxresdefault.mp4 -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 maxresdefault_6s.webp
    ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForsddefault.mp4
    ffmpeg -i SpeedChangedForsddefault.mp4 -vf "scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 sddefault_6s.webp
    ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForhqdefault.mp4
    ffmpeg -i SpeedChangedForhqdefault.mp4 -vf "scale=480:360:force_original_aspect_ratio=decrease,pad=480:360:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 hqdefault_6s.webp
    copy hqdefault_6s.webp 0_6s.webp
    ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormqdefault.mp4
    ffmpeg -i SpeedChangedFormqdefault.mp4 -vf "scale=320:180:force_original_aspect_ratio=decrease,pad=320:180:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 mqdefault_6s.webp
    ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFordefault.mp4
    ffmpeg -i SpeedChangedFordefault.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 default_6s.webp
    ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor1.mp4
    ffmpeg -i CuttedFor1.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor1.mp4
    ffmpeg -i SpeedChangedFor1.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 1_6s.webp
    ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor2.mp4
    ffmpeg -i CuttedFor2.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor2.mp4
    ffmpeg -i SpeedChangedFor2.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 2_6s.webp
    ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor3.mp4
    ffmpeg -i CuttedFor3.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor3.mp4
    ffmpeg -i SpeedChangedFor3.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 3_6s.webp
    
    ffmpeg -i sar.mp4 -vf "crop=in_w:in_w/16*9" -c:a copy video.mp4 && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor0.mp4 && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormaxresdefault.mp4 && ffmpeg -i SpeedChangedFormaxresdefault.mp4 -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 maxresdefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForsddefault.mp4 && ffmpeg -i SpeedChangedForsddefault.mp4 -vf "scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 sddefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForhqdefault.mp4 && ffmpeg -i SpeedChangedForhqdefault.mp4 -vf "scale=480:360:force_original_aspect_ratio=decrease,pad=480:360:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 hqdefault_6s.webp && copy hqdefault_6s.webp 0_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormqdefault.mp4 && ffmpeg -i SpeedChangedFormqdefault.mp4 -vf "scale=320:180:force_original_aspect_ratio=decrease,pad=320:180:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 mqdefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFordefault.mp4 && ffmpeg -i SpeedChangedFordefault.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 default_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor1.mp4 && ffmpeg -i CuttedFor1.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor1.mp4 && ffmpeg -i SpeedChangedFor1.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 1_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor2.mp4 && ffmpeg -i CuttedFor2.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor2.mp4 && ffmpeg -i SpeedChangedFor2.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 2_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor3.mp4 && ffmpeg -i CuttedFor3.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor3.mp4 && ffmpeg -i SpeedChangedFor3.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 3_6s.webp
    
    ffmpeg -i sar.mp4 -vf "crop=in_h/9*16:in_h" -c:a copy video.mp4 && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor0.mp4 && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormaxresdefault.mp4 && ffmpeg -i SpeedChangedFormaxresdefault.mp4 -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 maxresdefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForsddefault.mp4 && ffmpeg -i SpeedChangedForsddefault.mp4 -vf "scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 sddefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForhqdefault.mp4 && ffmpeg -i SpeedChangedForhqdefault.mp4 -vf "scale=480:360:force_original_aspect_ratio=decrease,pad=480:360:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 hqdefault_6s.webp && copy hqdefault_6s.webp 0_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormqdefault.mp4 && ffmpeg -i SpeedChangedFormqdefault.mp4 -vf "scale=320:180:force_original_aspect_ratio=decrease,pad=320:180:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 mqdefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFordefault.mp4 && ffmpeg -i SpeedChangedFordefault.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 default_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor1.mp4 && ffmpeg -i CuttedFor1.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor1.mp4 && ffmpeg -i SpeedChangedFor1.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 1_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor2.mp4 && ffmpeg -i CuttedFor2.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor2.mp4 && ffmpeg -i SpeedChangedFor2.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 2_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor3.mp4 && ffmpeg -i CuttedFor3.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor3.mp4 && ffmpeg -i SpeedChangedFor3.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 3_6s.webp
    
    ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor0.mp4 && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormaxresdefault.mp4 && ffmpeg -i SpeedChangedFormaxresdefault.mp4 -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 maxresdefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForsddefault.mp4 && ffmpeg -i SpeedChangedForsddefault.mp4 -vf "scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 sddefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForhqdefault.mp4 && ffmpeg -i SpeedChangedForhqdefault.mp4 -vf "scale=480:360:force_original_aspect_ratio=decrease,pad=480:360:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 hqdefault_6s.webp && copy hqdefault_6s.webp 0_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormqdefault.mp4 && ffmpeg -i SpeedChangedFormqdefault.mp4 -vf "scale=320:180:force_original_aspect_ratio=decrease,pad=320:180:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 mqdefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFordefault.mp4 && ffmpeg -i SpeedChangedFordefault.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 default_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor1.mp4 && ffmpeg -i CuttedFor1.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor1.mp4 && ffmpeg -i SpeedChangedFor1.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 1_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor2.mp4 && ffmpeg -i CuttedFor2.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor2.mp4 && ffmpeg -i SpeedChangedFor2.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 2_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor3.mp4 && ffmpeg -i CuttedFor3.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor3.mp4 && ffmpeg -i SpeedChangedFor3.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 3_6s.webp
    
    准备执行:

    SAR压缩(从上方和下方裁剪缩略图):

    ffmpeg -i sar.mp4 -vf "crop=in_w:in_w/16*9" -c:a copy video.mp4
    rem // If to obtain a 16: 9 aspect ratio, you need to crop the thumbnail from above and below.
    ffmpeg -i sar.mp4 -vf "crop=in_h/9*16:in_h" -c:a copy video.mp4
    rem // If to obtain a 16: 9 aspect ratio, you need to crop the thumbnail on the sides.
    ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor0.mp4
    ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormaxresdefault.mp4
    ffmpeg -i SpeedChangedFormaxresdefault.mp4 -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 maxresdefault_6s.webp
    ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForsddefault.mp4
    ffmpeg -i SpeedChangedForsddefault.mp4 -vf "scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 sddefault_6s.webp
    ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForhqdefault.mp4
    ffmpeg -i SpeedChangedForhqdefault.mp4 -vf "scale=480:360:force_original_aspect_ratio=decrease,pad=480:360:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 hqdefault_6s.webp
    copy hqdefault_6s.webp 0_6s.webp
    ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormqdefault.mp4
    ffmpeg -i SpeedChangedFormqdefault.mp4 -vf "scale=320:180:force_original_aspect_ratio=decrease,pad=320:180:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 mqdefault_6s.webp
    ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFordefault.mp4
    ffmpeg -i SpeedChangedFordefault.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 default_6s.webp
    ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor1.mp4
    ffmpeg -i CuttedFor1.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor1.mp4
    ffmpeg -i SpeedChangedFor1.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 1_6s.webp
    ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor2.mp4
    ffmpeg -i CuttedFor2.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor2.mp4
    ffmpeg -i SpeedChangedFor2.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 2_6s.webp
    ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor3.mp4
    ffmpeg -i CuttedFor3.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor3.mp4
    ffmpeg -i SpeedChangedFor3.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 3_6s.webp
    
    ffmpeg -i sar.mp4 -vf "crop=in_w:in_w/16*9" -c:a copy video.mp4 && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor0.mp4 && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormaxresdefault.mp4 && ffmpeg -i SpeedChangedFormaxresdefault.mp4 -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 maxresdefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForsddefault.mp4 && ffmpeg -i SpeedChangedForsddefault.mp4 -vf "scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 sddefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForhqdefault.mp4 && ffmpeg -i SpeedChangedForhqdefault.mp4 -vf "scale=480:360:force_original_aspect_ratio=decrease,pad=480:360:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 hqdefault_6s.webp && copy hqdefault_6s.webp 0_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormqdefault.mp4 && ffmpeg -i SpeedChangedFormqdefault.mp4 -vf "scale=320:180:force_original_aspect_ratio=decrease,pad=320:180:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 mqdefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFordefault.mp4 && ffmpeg -i SpeedChangedFordefault.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 default_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor1.mp4 && ffmpeg -i CuttedFor1.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor1.mp4 && ffmpeg -i SpeedChangedFor1.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 1_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor2.mp4 && ffmpeg -i CuttedFor2.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor2.mp4 && ffmpeg -i SpeedChangedFor2.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 2_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor3.mp4 && ffmpeg -i CuttedFor3.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor3.mp4 && ffmpeg -i SpeedChangedFor3.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 3_6s.webp
    
    ffmpeg -i sar.mp4 -vf "crop=in_h/9*16:in_h" -c:a copy video.mp4 && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor0.mp4 && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormaxresdefault.mp4 && ffmpeg -i SpeedChangedFormaxresdefault.mp4 -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 maxresdefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForsddefault.mp4 && ffmpeg -i SpeedChangedForsddefault.mp4 -vf "scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 sddefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForhqdefault.mp4 && ffmpeg -i SpeedChangedForhqdefault.mp4 -vf "scale=480:360:force_original_aspect_ratio=decrease,pad=480:360:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 hqdefault_6s.webp && copy hqdefault_6s.webp 0_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormqdefault.mp4 && ffmpeg -i SpeedChangedFormqdefault.mp4 -vf "scale=320:180:force_original_aspect_ratio=decrease,pad=320:180:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 mqdefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFordefault.mp4 && ffmpeg -i SpeedChangedFordefault.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 default_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor1.mp4 && ffmpeg -i CuttedFor1.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor1.mp4 && ffmpeg -i SpeedChangedFor1.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 1_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor2.mp4 && ffmpeg -i CuttedFor2.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor2.mp4 && ffmpeg -i SpeedChangedFor2.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 2_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor3.mp4 && ffmpeg -i CuttedFor3.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor3.mp4 && ffmpeg -i SpeedChangedFor3.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 3_6s.webp
    
    ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor0.mp4 && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormaxresdefault.mp4 && ffmpeg -i SpeedChangedFormaxresdefault.mp4 -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 maxresdefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForsddefault.mp4 && ffmpeg -i SpeedChangedForsddefault.mp4 -vf "scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 sddefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForhqdefault.mp4 && ffmpeg -i SpeedChangedForhqdefault.mp4 -vf "scale=480:360:force_original_aspect_ratio=decrease,pad=480:360:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 hqdefault_6s.webp && copy hqdefault_6s.webp 0_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormqdefault.mp4 && ffmpeg -i SpeedChangedFormqdefault.mp4 -vf "scale=320:180:force_original_aspect_ratio=decrease,pad=320:180:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 mqdefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFordefault.mp4 && ffmpeg -i SpeedChangedFordefault.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 default_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor1.mp4 && ffmpeg -i CuttedFor1.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor1.mp4 && ffmpeg -i SpeedChangedFor1.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 1_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor2.mp4 && ffmpeg -i CuttedFor2.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor2.mp4 && ffmpeg -i SpeedChangedFor2.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 2_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor3.mp4 && ffmpeg -i CuttedFor3.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor3.mp4 && ffmpeg -i SpeedChangedFor3.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 3_6s.webp
    
    为SAR压缩(裁剪侧面的缩略图):

    ffmpeg -i sar.mp4 -vf "crop=in_w:in_w/16*9" -c:a copy video.mp4
    rem // If to obtain a 16: 9 aspect ratio, you need to crop the thumbnail from above and below.
    ffmpeg -i sar.mp4 -vf "crop=in_h/9*16:in_h" -c:a copy video.mp4
    rem // If to obtain a 16: 9 aspect ratio, you need to crop the thumbnail on the sides.
    ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor0.mp4
    ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormaxresdefault.mp4
    ffmpeg -i SpeedChangedFormaxresdefault.mp4 -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 maxresdefault_6s.webp
    ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForsddefault.mp4
    ffmpeg -i SpeedChangedForsddefault.mp4 -vf "scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 sddefault_6s.webp
    ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForhqdefault.mp4
    ffmpeg -i SpeedChangedForhqdefault.mp4 -vf "scale=480:360:force_original_aspect_ratio=decrease,pad=480:360:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 hqdefault_6s.webp
    copy hqdefault_6s.webp 0_6s.webp
    ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormqdefault.mp4
    ffmpeg -i SpeedChangedFormqdefault.mp4 -vf "scale=320:180:force_original_aspect_ratio=decrease,pad=320:180:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 mqdefault_6s.webp
    ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFordefault.mp4
    ffmpeg -i SpeedChangedFordefault.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 default_6s.webp
    ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor1.mp4
    ffmpeg -i CuttedFor1.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor1.mp4
    ffmpeg -i SpeedChangedFor1.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 1_6s.webp
    ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor2.mp4
    ffmpeg -i CuttedFor2.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor2.mp4
    ffmpeg -i SpeedChangedFor2.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 2_6s.webp
    ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor3.mp4
    ffmpeg -i CuttedFor3.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor3.mp4
    ffmpeg -i SpeedChangedFor3.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 3_6s.webp
    
    ffmpeg -i sar.mp4 -vf "crop=in_w:in_w/16*9" -c:a copy video.mp4 && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor0.mp4 && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormaxresdefault.mp4 && ffmpeg -i SpeedChangedFormaxresdefault.mp4 -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 maxresdefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForsddefault.mp4 && ffmpeg -i SpeedChangedForsddefault.mp4 -vf "scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 sddefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForhqdefault.mp4 && ffmpeg -i SpeedChangedForhqdefault.mp4 -vf "scale=480:360:force_original_aspect_ratio=decrease,pad=480:360:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 hqdefault_6s.webp && copy hqdefault_6s.webp 0_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormqdefault.mp4 && ffmpeg -i SpeedChangedFormqdefault.mp4 -vf "scale=320:180:force_original_aspect_ratio=decrease,pad=320:180:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 mqdefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFordefault.mp4 && ffmpeg -i SpeedChangedFordefault.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 default_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor1.mp4 && ffmpeg -i CuttedFor1.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor1.mp4 && ffmpeg -i SpeedChangedFor1.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 1_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor2.mp4 && ffmpeg -i CuttedFor2.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor2.mp4 && ffmpeg -i SpeedChangedFor2.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 2_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor3.mp4 && ffmpeg -i CuttedFor3.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor3.mp4 && ffmpeg -i SpeedChangedFor3.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 3_6s.webp
    
    ffmpeg -i sar.mp4 -vf "crop=in_h/9*16:in_h" -c:a copy video.mp4 && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor0.mp4 && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormaxresdefault.mp4 && ffmpeg -i SpeedChangedFormaxresdefault.mp4 -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 maxresdefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForsddefault.mp4 && ffmpeg -i SpeedChangedForsddefault.mp4 -vf "scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 sddefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForhqdefault.mp4 && ffmpeg -i SpeedChangedForhqdefault.mp4 -vf "scale=480:360:force_original_aspect_ratio=decrease,pad=480:360:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 hqdefault_6s.webp && copy hqdefault_6s.webp 0_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormqdefault.mp4 && ffmpeg -i SpeedChangedFormqdefault.mp4 -vf "scale=320:180:force_original_aspect_ratio=decrease,pad=320:180:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 mqdefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFordefault.mp4 && ffmpeg -i SpeedChangedFordefault.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 default_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor1.mp4 && ffmpeg -i CuttedFor1.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor1.mp4 && ffmpeg -i SpeedChangedFor1.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 1_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor2.mp4 && ffmpeg -i CuttedFor2.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor2.mp4 && ffmpeg -i SpeedChangedFor2.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 2_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor3.mp4 && ffmpeg -i CuttedFor3.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor3.mp4 && ffmpeg -i SpeedChangedFor3.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 3_6s.webp
    
    ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor0.mp4 && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormaxresdefault.mp4 && ffmpeg -i SpeedChangedFormaxresdefault.mp4 -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 maxresdefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForsddefault.mp4 && ffmpeg -i SpeedChangedForsddefault.mp4 -vf "scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 sddefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedForhqdefault.mp4 && ffmpeg -i SpeedChangedForhqdefault.mp4 -vf "scale=480:360:force_original_aspect_ratio=decrease,pad=480:360:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 hqdefault_6s.webp && copy hqdefault_6s.webp 0_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFormqdefault.mp4 && ffmpeg -i SpeedChangedFormqdefault.mp4 -vf "scale=320:180:force_original_aspect_ratio=decrease,pad=320:180:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 mqdefault_6s.webp && ffmpeg -i CuttedFor0.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFordefault.mp4 && ffmpeg -i SpeedChangedFordefault.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 default_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor1.mp4 && ffmpeg -i CuttedFor1.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor1.mp4 && ffmpeg -i SpeedChangedFor1.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 1_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor2.mp4 && ffmpeg -i CuttedFor2.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor2.mp4 && ffmpeg -i SpeedChangedFor2.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 2_6s.webp && ffmpeg -ss 00:00:00.0 -i video.mp4 -c copy -t 6 CuttedFor3.mp4 && ffmpeg -i CuttedFor3.mp4 -filter_complex "[0:v]setpts=1*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" SpeedChangedFor3.mp4 && ffmpeg -i SpeedChangedFor3.mp4 -vf "scale=120:90:force_original_aspect_ratio=decrease,pad=120:90:(ow-iw)/2:(oh-ih)/2" -vcodec libwebp -lossless 1 -loop 0 -an -vsync 0 3_6s.webp
    
    压缩为16:9(“视频”)