Javascript 获取youtube动画缩略图
有没有办法将youtube上的动画缩略图嵌入我的网站?我说的不是静态缩略图,而是一个看起来像3秒左右的动画.gif的缩略图。我不知道它是否对您有帮助 但当你进入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
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结构(更多细节)
- 显然,桌面浏览器Chrome和Opera()
- 顺便说一句,缩略图是图像格式的,具有更宽的宽度
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移动缩略图的变体,您需要
- 在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中第一帧的时间(从网络选项卡)
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(“视频”)