FFmpeg : 수평 비디오 회전 및 패딩


1

전화로 찍은 세로 비디오 (9:16 비율)가 있는데 측면에 검은 색 패딩이 있거나 이상적으로 흐리게 패딩이있는 Lanscape One (16 : 9)으로 변환하고 싶습니다. 중대한).

SE에 대한 많은 질문과 다른 웹 사이트의 자습서가 있지만이 작업을 수행 할 수 없었습니다. 이들은 전혀 실행되지 않거나 "No such filter"라는 오류를 표시 한 다음 명령 입력을 나열합니다 (예 :

ffmpeg -i MC_orig.mp4 -filter_complex '[0:v]scale=ih*16/9:-1,boxblur=luma_radius=min(h\,w)/20:luma_power=1:chroma_radius=min(cw\,ch)/20:chroma_power=1[bg];[bg][0:v]overlay=(W-w)/2:(H-h)/2,crop=h=iw*9/16' outputfile.mp4

오류를 준다

[AVFilterGraph @ 000001bc89ea28c0] No such filter: '[0:v]scale=ih*16/9:-1,boxblur=luma_radius=min(h\,w)/20:luma_power=1:chroma_radius=min(cw\,ch)/20:chroma_power=1[bg];[bg][0:v]overlay=(W-w)/2:(H-h)/2,crop=h=iw*9/16' Error initializing complex filters. Invalid argument

내가 찾은 모든 자습서 / SE 질문은 위의 것과 유사한 입력을 제안하며 기본적으로 동일한 오류가 발생합니다.

내가 사용하는 FFmpeg 버전의 세부 정보를 포함한 전체 콘솔 출력 (Windows 10, 명령 프롬프트 또는 Cmder 사용)은 다음과 같습니다.

D:\Users\Sam\Videos\FFMPEG\bin>ffmpeg -i MC_orig.mp4 -filter_complex '[0:v]scale=ih*16/9:-1,boxblur=luma_radius=min(h\,w)/20:luma_power=1:chroma_radius=min(cw\,ch)/20:chroma_power=1[bg];[bg][0:v]overlay=(W-w)/2:(H-h)/2,crop=h=iw*9/16' outputfile.mp4 ffmpeg version N-91930-g0caa33c60b Copyright (c) 2000-2018 the FFmpeg developers built with gcc 8.2.1 (GCC) 20180813 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth libavutil 56. 19.101 / 56. 19.101 libavcodec 58. 30.100 / 58. 30.100 libavformat 58. 18.100 / 58. 18.100 libavdevice 58. 4.103 / 58. 4.103 libavfilter 7. 29.100 / 7. 29.100 libswscale 5. 2.100 / 5. 2.100 libswresample 3. 2.100 / 3. 2.100 libpostproc 55. 2.100 / 55. 2.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MC_orig.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: isommp42 creation_time : 2018-09-09T18:07:24.000000Z com.android.version: 7.0 Duration: 00:07:12.03, start: 0.000000, bitrate: 12081 kb/s Stream #0:0(eng): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 11950 kb/s, 24.94 fps, 24.92 tbr, 90k tbn, 300 tbc (default) Metadata: rotate : 90 creation_time : 2018-09-09T18:07:24.000000Z handler_name : VideoHandle Side data: displaymatrix: rotation of -90.00 degrees Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s (default) Metadata: creation_time : 2018-09-09T18:07:24.000000Z handler_name : SoundHandle [AVFilterGraph @ 000001bc89ea28c0] No such filter: '[0:v]scale=ih*16/9:-1,boxblur=luma_radius=min(h\,w)/20:luma_power=1:chroma_radius=min(cw\,ch)/20:chroma_power=1[bg];[bg][0:v]overlay=(W-w)/2:(H-h)/2,crop=h=iw*9/16' Error initializing complex filters. Invalid argument

답변:


2

Windows에서는 인수를 큰 따옴표로 묶어야하므로

-filter_complex "[0:v]scale=ih*16/9:-1...crop=h=iw*9/16"

내부의 인수는 다음과 같이 작은 따옴표로 묶을 수 있습니다.

-vf "drawtext=text='Hello World':fontcolor=white"

고맙습니다. 지금 운영 중입니다. 작은 따옴표를 사용하는 것이 오래된 구문입니까? 내가 본 모든 튜토리얼에만 작은 따옴표가있었습니다. (실제로, 일부는 두 배가되었지만 실패했지만 다른 이유로 인해 지금 잊어 버렸습니다!) 어쨌든 실행 중이며 완료되면 업데이트됩니다!
Sam T

따옴표를 사용하는 것은 ffmpeg가 아닌 쉘과 관련이 있습니다. 리눅스 / OSX에서는 작은 따옴표가 좋습니다.
Gyan

이제 완료되었으며 원하는 출력을 제공합니다. 그러나, 나는 다음에서 변경하려는 mp4avi. 코드를 사용하여 이전 파일 로이 작업을 수행 ffmpeg -i MC_orig.mp4 -vcodec copy out.avi했으며 정상적으로 작동했습니다. 그러나 방금 만든 도움으로 만든 비디오를 입력하면 ffmpeg는 실행되지만 비디오는 작동하지 않습니다 (오디오는 작동하지만 비디오는 없음)
Sam T

(I는 일반적으로 하나가 별도의 질문으로이 물어 보곤 실현,하지만 난 여기에 추가 해요 이유는 내가 있다는 것입니다 이전에 그것을 할 수 있었지만 함께 이 비디오 나는 문제가 있습니다.)
샘 T

ffmpeg -i outputfile.mp4
Gyan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.