Mat*_*rný 5 video ffmpeg scaling
我需要使用FFmpeg放大来自一款 DOS 游戏的视频。但是在左侧使用最近邻插值,在另一侧使用xBR过滤器。
输入 (320x200)
输出 (1280x800)
这是一个命令,xBR 在哪里处理整个屏幕...
ffmpeg
-i input.avi
-sws_flags neighbor
-vcodec libx264 -strict -2
-preset veryslow -qp 0
-filter:v "xbr=4"
output.mp4
Run Code Online (Sandbox Code Playgroud)
为了显示目的,我裁剪了图像以使输出尺寸更小。
hstack
ffmpeg -i input.avi -filter_complex \
"[0:v]xbr=4[bg]; \
[0:v]scale=iw*4:-1:flags=neighbor[fg]; \
[bg][fg]hstack,format=yuv420p[v]" \
-map "[v]" -map 0:a -movflags +faststart output.mp4
Run Code Online (Sandbox Code Playgroud)
所有输入流hstack
必须具有相同的像素格式和相同的宽度。
pad
&overlay
ffmpeg -i input.avi -filter_complex \
"[0:v]xbr=4,pad=iw*2[bg]; \
[0:v]scale=iw*4:-1:flags=neighbor[fg]; \
[bg][fg]overlay=w,format=yuv420p[v]" \
-map "[v]" -map 0:a -movflags +faststart output.mp4
Run Code Online (Sandbox Code Playgroud)
这种方法比仅使用hstack
.
ffmpeg -i input.avi -filter_complex \
"[0:v]xbr=4,pad=iw*2+10[bg]; \
[0:v]scale=iw*4:-1:flags=neighbor[fg]; \
[bg][fg]overlay=w+10,format=yuv420p[v]" \
-map "[v]" -map 0:a -movflags +faststart output.mp4
Run Code Online (Sandbox Code Playgroud)
ffmpeg -i input.avi -filter_complex \
"[0:v]xbr=4[bg]; \
[0:v]scale=iw*4:-1:flags=neighbor,crop=iw/2:ih:ow:0[fg]; \
[bg][fg]hstack[v]" \
-map "[v]" -map 0:a -movflags +faststart output.mp4
Run Code Online (Sandbox Code Playgroud)
vstack
ffmpeg -i input.avi -filter_complex \
"[0:v]xbr=4[bg]; \
[0:v]scale=iw*4:-1:flags=neighbor[fg]; \
[bg][fg]vstack,format=yuv420p[v]" \
-map "[v]" -map 0:a -movflags +faststart output.mp4
Run Code Online (Sandbox Code Playgroud)
所有输入流vstack
必须具有相同的像素格式和相同的宽度。
pad
&overlay
ffmpeg -i input.avi -filter_complex \
"[0:v]xbr=4,pad=iw*2[bg]; \
[0:v]scale=iw*4:-1:flags=neighbor[fg]; \
[bg][fg]overlay=0:h,format=yuv420p[v]" \
-map "[v]" -map 0:a -movflags +faststart output.mp4
Run Code Online (Sandbox Code Playgroud)
这种方法比仅使用vstack
.
ffmpeg -i input.avi -filter_complex \
"[0:v]xbr=4[bg]; \
[0:v]scale=iw*4:-1:flags=neighbor,crop=iw:ih/2:0:oh[fg]; \
[bg][fg]vstack[v]" \
-map "[v]" -map 0:a -movflags +faststart output.mp4
Run Code Online (Sandbox Code Playgroud)