Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
노드 만들기
Godot는 모든 2D 또는 3D 프로젝트에서 비실시간 비디오 및 오디오를 녹화할 수 있습니다. 이러한 종류의 기록을 *오프라인 렌더링*이라고도 합니다. 이것이 유용한 여러 시나리오가 있습니다.
홍보용으로 게임 예고편을 녹화합니다.
:ref:` 최종 게임에서 사전 녹화된 비디오 <doc_playing_videos>`로 표시될 녹화 컷씬입니다. 이를 통해 플레이어의 하드웨어에 관계없이 파일 크기를 희생하면서 더 높은 품질 설정을 사용할 수 있습니다.
절차적으로 생성된 애니메이션이나 모션 디자인을 기록합니다. 비디오 녹화 중에도 사용자 상호 작용이 가능하며 오디오도 포함될 수 있습니다. 단, 비디오 녹화 중에는 오디오를 들을 수 없습니다.
그래픽 설정, 셰이더의 시각적 출력 또는 애니메이션 씬의 렌더링 기술을 비교합니다.
AnimationPlayer 노드, 트위너, 입자 및 셰이더와 같은 Godot의 애니메이션 기능을 사용하면 모든 종류의 2D 및 3D 애니메이션(및 정지 이미지)을 만드는 데 효과적으로 사용할 수 있습니다.
이미 Godot의 작업 흐름에 익숙하다면 Blender에 비해 비디오 렌더링에 Godot를 사용하면 생산성이 더 높아질 수 있습니다. 즉, Cycles 및 Eevee와 같은 비실시간 사용을 위해 설계된 렌더러는 더 나은 시각적 결과를 제공할 수 있습니다(렌더링 시간이 길어짐).
실시간 비디오 녹화와 비교하여 비실시간 녹화의 몇 가지 장점은 다음과 같습니다.
하드웨어 성능에 관계없이 모든 그래픽 설정(매우 까다로운 설정 포함)을 사용하십시오. 출력 비디오는 항상 완벽한 프레임 속도를 갖습니다. 프레임이 떨어지거나 끊김 현상이 발생하지 않습니다. 하드웨어가 빨라지면 특정 애니메이션을 더 짧은 시간에 렌더링할 수 있지만 시각적 출력은 동일하게 유지됩니다.
NVIDIA의 동적 초해상도 또는 AMD의 가상 초해상도와 같은 드라이버별 도구에 의존하지 않고도 화면 해상도보다 높은 해상도로 렌더링할 수 있습니다.
비디오의 목표 프레임 속도보다 높은 프레임 속도로 렌더링한 다음 :ref:`후처리를 통해 고품질 모션 블러 <doc_creating_movies_motion_blur>`를 생성합니다. 이는 또한 여러 프레임에 걸쳐 수렴되는 효과(예: 시간적 안티앨리어싱, SDFGI 및 체적 안개)를 더 좋게 보이게 만듭니다.
경고
이 기능은 게임 플레이 중 실시간 영상을 캡처하도록 설계되지 않았습니다.
플레이어는 OBS Studio 또는 `SimpleScreenRecorder <https://www.maartenbaert.be/simplescreenrecorder/>`__와 같은 것을 사용하여 게임 플레이 비디오를 녹화해야 합니다. 이는 Godot가 Vulkan이나 OpenGL을 기본적으로 사용하여 수행할 수 있는 것보다 합성기를 가로채는 데 훨씬 더 나은 작업을 수행하기 때문입니다.
즉, 캡처할 때 게임이 거의 실시간 속도로 실행되는 경우에도 이 기능을 사용할 수 있습니다(그러나 사운드가 비디오 파일에 직접 저장되므로 가청 사운드 재생이 부족합니다).
Movie Maker 모드 활성화
Movie Maker 모드를 활성화하려면 프로젝트를 실행하기 전에 편집기 오른쪽 상단에 있는 "영화 릴" 버튼을 클릭하세요.
Movie Maker 모드가 비활성화되었습니다. 활성화하려면 "영화 릴" 아이콘을 클릭하세요.
Movie Maker 모드를 활성화하고 설정으로 이동하는 옵션이 포함된 메뉴가 표시됩니다. Movie Maker 모드가 활성화되면 아이콘의 배경이 강조 색상과 일치합니다.
Movie Maker 모드가 활성화되었습니다. 비활성화하려면 "영화 릴" 아이콘을 다시 클릭하세요.
Movie Maker 상태는 편집기가 종료될 때 지속되지 않습니다. 따라서 필요한 경우 편집기를 다시 시작한 후 Movie Maker 모드를 다시 활성화해야 합니다.
참고
프로젝트를 실행하는 동안 Movie Maker 모드를 전환하면 프로젝트를 다시 시작할 때까지 아무런 효과가 없습니다.
프로젝트를 실행하여 비디오를 녹화하려면 먼저 출력 파일 경로를 구성해야 합니다. 이 경로는 프로젝트 설정의 모든 장면에 대해 설정할 수 있습니다.
Movie Maker 프로젝트 설정(고급 토글 활성화됨)
또는 이름이 ``movie_file``인 문자열 메타데이터를 씬의 **루트 노드**에 추가하여 씬별로 출력 파일 경로를 설정할 수 있습니다. 이는 메인 씬이 문제의 씬로 설정된 경우 또는 F6`(macOS에서는 :kbd:`Cmd + R)을 눌러 씬을 직접 실행할 때만 사용됩니다.
문자열 유형의 movie_file 메타데이터를 생성한 후 인스펙터 보기
프로젝트 설정 또는 메타데이터에 지정된 경로는 절대 경로이거나 프로젝트 루트에 대한 상대 경로일 수 있습니다.
Movie Maker 모드를 구성하고 활성화하면 편집기에서 프로젝트를 실행할 때 자동으로 사용됩니다.
명령줄(Command line) 튜토리얼
Movie Maker는 :ref:`명령줄 <doc_command_line_tutorial>`에서도 활성화할 수 있습니다.
godot --path /path/to/your_project --write-movie output.avi
출력 경로가 상대 경로인 경우 현재 작업 디렉터리가 아닌 **프로젝트 폴더에 상대적**입니다. 위의 예에서는 파일이 /path/to/your_project/output.avi``에 기록됩니다. 이 동작은 ``--export-release 명령줄 인수와 유사합니다.
Movie Maker의 출력 해상도는 뷰포트 크기로 설정되므로 프로젝트에서 disabled 또는 canvas_items :ref:`stretch 모드 <doc_multiple_solutions>`을 사용하는 경우 시작 시 창 크기를 조정하여 이를 재정의할 수 있습니다.
godot --path /path/to/your_project --write-movie output.avi --resolution 1280x720
창 크기는 디스플레이 해상도에 따라 고정됩니다. 화면 해상도보다 높은 해상도로 비디오를 녹화해야 하는 경우 :ref:`doc_creating_movies_recording_at_higher_resolution`를 참조하세요.
프로젝트 설정를 편집하지 않고도 명령줄에서 녹화 FPS를 재정의할 수도 있습니다.
godot --path /path/to/your_project --write-movie output.avi --fixed-fps 30
참고
--write-movie 및 --fixed-fps 명령줄 인수는 모두 내보낸 프로젝트에서 사용할 수 있습니다. 프로젝트가 실행되는 동안 Movie Maker 모드를 전환할 수는 없지만 OS.execute() 메서드를 사용하여 비디오 파일을 녹화할 내보낸 프로젝트의 두 번째 인스턴스를 실행할 수 있습니다.
애니메이션 고르기
출력 형식은 MovieWriter 클래스에서 제공됩니다. Godot에는 3개의 :ref:`MovieWriters <class_MovieWriter>`이 내장되어 있으며 확장을 통해 더 많은 기능을 구현할 수 있습니다:
glTF 2.0 (권장).
비디오용 Theora와 오디오용 Vorbis가 포함된 OGV 컨테이너입니다. MJPEG보다 더 나은 이미지 품질과 함께 파일 크기와 인코딩 속도의 적절한 균형을 갖춘 손실 있는 비디오 및 오디오 압축 기능을 제공합니다. **Editor > Movie Writer > Encoding Speed**를 변경하여 조정할 수 있는 4가지 속도 레벨이 있으며 가장 빠른 레벨은 더 나은 압축률을 갖춘 AVI만큼 빠릅니다. 느린 속도 수준에서는 동일한 이미지 품질을 유지하면서 더 효과적으로 압축할 수 있습니다. 손실 압축 품질은 비디오의 경우 **Editor > Movie Writer > Video Quality**를 변경하고 오디오의 경우 **Editor > Movie Writer > Audio Quality**를 변경하여 조정할 수 있습니다.
**Editor > Movie Writer > Keyframe Interval**을 변경하여 키프레임 간격을 조정할 수 있습니다. 경우에 따라 이 설정을 높이면 단점 없이 압축 효율성이 향상될 수 있습니다.
결과 파일은 VideoStreamPlayer 및 대부분의 비디오 플레이어를 사용하여 Godot에서 볼 수 있지만 웹 브라우저는 볼 수 없습니다. OGV는 투명성을 지원하지 않습니다.
OGV를 사용하려면 Editor > Movie Writer > Movie File 프로젝트 설정에서 생성할 .ogv 파일의 경로를 지정하세요.
참고
OGV는 에디터 빌드에만 기록할 수 있습니다. 반면, :ref:`OGV 재생 <doc_playing_videos>`은 편집기와 내보내기 템플릿 빌드 모두에서 가능합니다.
AVI
비디오 및 비압축 오디오용 MJPEG가 포함된 AVI 컨테이너입니다. 손실이 있는 비디오 압축 기능을 통해 중간 파일 크기와 빠른 인코딩이 가능합니다. 손실 압축 품질은 **Editor > Movie Writer > Video Quality**를 변경하여 조정할 수 있습니다.
결과 파일은 대부분의 비디오 플레이어에서 볼 수 있지만 웹에서 보거나 Godot에서 VideoStreamPlayer 노드를 사용하여 다른 형식으로 변환해야 합니다. MJPEG는 투명성을 지원하지 않습니다. AVI 출력은 현재 최대 4GB의 파일 크기로 제한됩니다.
AVI를 사용하려면 Editor > Movie Writer > Movie File 프로젝트 설정에서 생성할 .avi 파일의 경로를 지정하세요.
PNG
비디오의 경우 PNG 이미지 시퀀스, 오디오의 경우 WAV입니다. 파일 크기가 크고 인코딩 속도가 느린 대신 무손실 비디오 압축 기능을 제공합니다. 이는 :ref:`녹화 후 외부 도구를 사용하여 비디오 파일로 인코딩 <doc_creating_movies_converting_avi>`로 설계되었습니다.
투명도는 지원되지만 출력 이미지에 투명도가 표시되도록 하려면 루트 뷰포트의 transparent_bg 속성을 ``true``로 반드시 설정해야 합니다. 이는 렌더링 > 투명 배경 고급 프로젝트 설정을 활성화하여 달성할 수 있습니다. 디스플레이 > 창 > 크기 > 투명 및 **디스플레이 > 창 > 픽셀당 투명도 > 활성화**를 선택적으로 활성화하여 비디오를 녹화하는 동안 투명도를 미리 볼 수 있지만 출력 이미지에 투명도를 포함하도록 활성화할 필요는 없습니다.
PNG를 사용하려면 Editor > Movie Writer > Movie File 프로젝트 설정에서 생성할 .png 파일을 지정하세요. 생성된 .wav 파일은 .png 파일과 이름이 동일합니다(확장명 제외).
커스텀
다른 형식으로 직접 인코딩해야 하거나 타사 소프트웨어를 통해 스트림을 파이프해야 하는 경우 MovieWriter 클래스를 확장하여 자신만의 영화 작가를 만들 수 있습니다. 이는 일반적으로 성능상의 이유로 GDExtension을 사용하여 수행해야 합니다.
구성
프로젝트 설정의 Editor > Movie Writer 섹션에는 구성할 수 있는 몇 가지 옵션이 있습니다. 그 중 일부는 프로젝트 설정 대화 상자의 오른쪽 상단에 있는 고급 토글을 활성화한 후에만 표시됩니다.
믹스 비율(Hz): 동영상 작성 시 녹음된 오디오에 사용할 오디오 믹스 비율입니다. 이는 프로젝트의 믹스 속도와 다를 수 있지만 시간이 지남에 따라 오디오가 비동기화되는 것을 방지하려면 이 값을 기록된 FPS로 나누어야 합니다.
스피커 모드: 영화를 작성할 때 녹음된 오디오에 사용하는 스피커 모드(스테레오, 5.1 서라운드 또는 7.1 서라운드).
비디오 품질:
0.01``부터 ``1.0``(포함) 사이의 OGV 또는 AVI 파일에 비디오를 기록할 때 사용할 이미지 품질입니다. 품질 값이 높을수록 파일 크기가 커지더라도 출력이 더 좋아집니다. 권장 품질 값은 ``0.75``에서 ``0.9사이입니다.1.0품질에서도 압축은 여전히 손실이 있습니다. 이 설정은 오디오 품질에 영향을 주지 않으며 PNG 이미지 시퀀스에 쓸 때 무시됩니다.영화 파일: 영화의 출력 경로입니다. 이는 프로젝트 루트에 대해 절대적이거나 상대적일 수 있습니다.
V-Sync 비활성화: 활성화된 경우 동영상 작성 시 V-Sync가 비활성화되도록 요청합니다. 하드웨어가 모니터의 새로 고침 빈도보다 높은 프레임 속도로 비디오를 렌더링, 인코딩 및 저장할 수 있을 만큼 빠른 경우 비디오 쓰기 속도를 높일 수 있습니다. 운영 체제나 그래픽 드라이버가 응용 프로그램에서 V-Sync를 비활성화하지 못하도록 강제하는 경우에는 이 설정이 적용되지 않습니다.
FPS: 출력 동영상에서 초당 렌더링된 프레임입니다. 값이 높을수록 애니메이션이 더 부드러워지지만 렌더링 시간이 길어지고 출력 파일 크기가 커집니다. 대부분의 비디오 호스팅 플랫폼은 60보다 높은 FPS 값을 지원하지 않지만 더 높은 값을 사용하여 모션 블러를 생성하는 데 사용할 수 있습니다.
오디오 품질:
-0.1``부터 ``1.0``(포함) 사이의 OGV 파일에 비디오를 작성할 때 사용할 오디오 품질입니다. 품질 값이 높을수록 파일 크기가 약간 커지지만 오디오 품질이 향상됩니다. 권장 품질 값은 ``0.3``에서 ``0.5사이입니다.1.0품질에서도 압축은 여전히 손실이 있습니다.인코딩 속도: OGV 파일에 비디오를 쓸 때 사용할 속도 수준입니다. 속도 수준이 빠를수록 압축 효율성이 떨어집니다. 이미지 품질은 거의 동일하게 유지됩니다.
키프레임 간격: GOP(그룹 Of Pictures)라고도 하며, OGV 파일에 쓸 때 사용할 최대 프레임 간 수입니다. 값이 높을수록 품질 손실 없이 압축 효율성이 향상되지만 비디오 검색 속도가 느려집니다.
Movie Maker 모드 종료
Movie Maker 모드를 사용 중인 프로젝트를 안전하게 종료하려면 창 상단의 X 버튼을 사용하거나 스크립트에서 get_tree().quit()``를 호출하세요. ``--quit-after N 명령줄 인수를 사용할 수도 있습니다. 여기서 ``N``는 종료하기 전에 렌더링할 프레임 수입니다.
F8`(macOS에서는 :kbd:`Cmd + .)을 누르거나 Godot를 실행하는 터미널에서 :kbd:`Ctrl + C`를 누르는 것은 권장되지 않습니다. 길이 정보가 없는 잘못된 형식의 AVI 파일이 생성되기 때문입니다. PNG 이미지 시퀀스의 경우 PNG 이미지는 부정적으로 변경되지 않지만 관련 WAV 파일에는 지속 시간 정보가 여전히 부족합니다. OGV 파일은 비디오 및 오디오 트랙의 지속 시간이 약간 다를 수 있지만 여전히 유효합니다.
일부 비디오 플레이어에서는 작동하는 비디오 및 오디오와 함께 AVI 또는 WAV 파일을 계속 재생할 수 있습니다. 그러나 비디오 편집기와 같이 AVI 또는 WAV 파일을 사용하는 소프트웨어에서는 파일을 열지 못할 수도 있습니다. :ref:`비디오 변환기 프로그램 사용 <doc_creating_movies_converting_avi>`이 이러한 경우에 도움이 될 수 있습니다.
씬에서 "주 작업"(예: 카메라 이동)을 제어하기 위해 AnimationPlayer를 사용하는 경우 해당 AnimationPlayer 노드에서 Movie Quit On Finish 속성을 활성화할 수 있습니다. 활성화되면 이 속성은 애니메이션 재생이 완료되고 엔진이 Movie Maker 모드에서 실행 중일 때 Godot가 자체적으로 종료되도록 합니다. *이 속성은 반복 애니메이션에는 영향을 미치지 않습니다. 따라서 애니메이션이 반복되지 않도록 설정되어 있는지 확인해야 합니다.
고품질 그래픽 설정 사용
movie :ref:`feature 태그 <doc_feature_tags>`를 사용하여 특정 프로젝트 설정을 재정의할 수 있습니다. 이는 하드웨어에서 실시간 속도로 실행될 만큼 빠르지 않은 고품질 그래픽 설정을 활성화하는 데 유용합니다. 모든 설정을 최대값으로 설정하면 특히 더 높은 해상도로 녹화할 때 동영상 저장 속도가 느려질 수 있습니다. 따라서 출력 이미지에 의미 있는 차이가 있는 경우에만 그래픽 설정을 높이는 것이 좋습니다.
이 기능 태그는 스크립트에서 쿼리하여 환경 리소스에 설정된 품질 설정을 높일 수도 있습니다. 예를 들어 SDFGI 디테일을 더욱 향상하고 빛 누출을 줄이려면 다음을 수행하세요.
extends Node3D
func _ready():
if OS.has_feature("movie"):
# When recording a movie, improve SDFGI cell density
# without decreasing its maximum distance.
get_viewport().world_3d.environment.sdfgi_min_cell_size *= 0.25
get_viewport().world_3d.environment.sdfgi_cascades = 8
using Godot;
public partial class MyNode3D : Node3D
{
public override void _Ready()
{
if (OS.HasFeature("movie"))
{
// When recording a movie, improve SDFGI cell density
// without decreasing its maximum distance.
GetViewport().World3D.Environment.SdfgiMinCellSize *= 0.25f;
GetViewport().World3D.Environment.SdfgiCascades = 8;
}
}
}
화면 해상도보다 높은 해상도로 렌더링
4K나 8K와 같은 고해상도로 렌더링하면 전반적인 렌더링 품질이 크게 향상될 수 있습니다.
참고
3D 렌더링의 경우 Godot는 슈퍼샘플 앤티앨리어싱*을 얻기 위해 ``1.0`` 이상으로 설정할 수 있는 **렌더링 > 3D 크기 조정 > 크기 조절* 고급 프로젝트 설정을 제공합니다. 그런 다음 3D 렌더링은 뷰포트에 그려질 때 *다운샘플링*됩니다. 이는 최종 출력 해상도를 높이지 않고도 비용이 많이 들지만 고품질의 앤티앨리어싱 형태를 제공합니다.
실제로 출력 해상도를 높이는 것에 비해 동영상 쓰기 속도가 느려지고 출력 파일 크기가 늘어나는 것을 방지하므로 이 프로젝트 설정을 먼저 사용하는 것을 고려해 보십시오.
더 높은 해상도로 2D를 렌더링하려는 경우 또는 실제로 3D 렌더링을 위해 더 높은 원시 픽셀 출력이 필요한 경우 화면에서 허용하는 것 이상으로 해상도를 높일 수 있습니다.
기본적으로 Godot는 프로젝트에서 disabled 스트레치 모드 <doc_multiple_solutions>`를 사용합니다. ``disabled` 또는 canvas_items 스트레치 모드를 사용하는 경우 창 크기에 따라 출력 비디오 해상도가 결정됩니다.
반면, 프로젝트가 viewport 스트레치 모드를 사용하도록 구성된 경우 뷰포트 해상도에 따라 출력 비디오 해상도가 결정됩니다. 뷰포트 해상도는 디스플레이 > 창 > 크기 > 뷰포트 너비 및 뷰포트 높이 프로젝트 설정을 사용하여 설정됩니다. 이는 화면 해상도보다 높은 해상도로 비디오를 렌더링하는 데 사용할 수 있습니다.
출력 비디오 해상도에 영향을 주지 않고 녹화 중에 창을 더 작게 만들려면 디스플레이 > 창 > 크기 > 창 너비 재정의 및 창 높이 재정의 고급 프로젝트 설정을 ``0``보다 큰 값으로 설정할 수 있습니다.
동영상을 녹화할 때만 해상도 재정의를 적용하려면 movie :ref:`feature 태그 <doc_feature_tags>`을 사용하여 해당 설정을 재정의할 수 있습니다.
프로세싱(Processing)
몇 가지 일반적인 후처리 단계는 다음과 같습니다.
참고
여러 후처리 단계를 사용하는 경우 단일 FFmpeg 명령으로 모든 단계를 수행해 보세요. 이렇게 하면 여러 손실 인코딩 단계를 방지하여 인코딩 시간을 절약하고 품질을 향상할 수 있습니다.
key들을 text로 컨버팅하기
YouTube와 같은 일부 플랫폼은 AVI 파일 직접 업로드를 지원하지만 다른 많은 플랫폼에서는 사전에 변환 단계가 필요합니다. `HandBrake <https://handbrake.fr/>`__(GUI) 및 `FFmpeg <https://ffmpeg.org/>`__(CLI)는 이러한 목적으로 널리 사용되는 오픈 소스 도구입니다. FFmpeg는 학습 곡선이 더 가파르지만 더 강력합니다.
아래 명령은 OGV/AVI 비디오를 CRF(Constant Rate Factor)가 15인 MP4(H.264) 비디오로 변환합니다. 이렇게 하면 파일이 비교적 커지지만 크기를 줄이기 위해 비디오를 다시 인코딩하는 플랫폼(예: 대부분의 비디오 공유 웹사이트)에 적합합니다.
ffmpeg -i input.avi -crf 15 output.mp4
품질을 희생하면서 더 작은 파일을 얻으려면 위 명령에서 CRF 값을 *증가*하세요.
더 나은 크기/품질 비율의 파일을 얻으려면(인코딩 시간이 느려짐) 위 명령에서 -crf 15 앞에 ``-preset veryslow``를 추가하세요. 반대로, ``-preset veryfast``를 사용하면 크기/품질 비율이 더 나빠지지만 더 빠른 인코딩을 달성할 수 있습니다.
PNG 이미지 시퀀스 + WAV 오디오를 비디오로 변환
WAV 파일이 옆에 있는 PNG 이미지 시퀀스를 녹화하기로 선택한 경우 다른 곳에서 사용하기 전에 해당 시퀀스를 비디오로 변환해야 합니다.
Godot가 생성한 PNG 이미지 시퀀스의 파일 이름은 항상 0부터 시작하여 0으로 채워진 숫자로 시작하는 8자리 숫자를 포함합니다. 출력 경로 folder/example.png``를 지정하면 Godot는 해당 폴더에 ``folder/example00000000.png, folder/example00000001.png 등을 쓸 것입니다. 오디오는 ``folder/example.wav``에 저장됩니다.
FPS는 -r 인수를 사용하여 지정됩니다. 녹화 중에 지정된 FPS와 일치해야 합니다. 그렇지 않으면 비디오 속도가 느려지거나 빨라지는 것처럼 보이고 오디오는 비디오와 동기화되지 않습니다.
ffmpeg -r 60 -i input%08d.png -i input.wav -crf 15 output.mp4
투명도가 활성화된 PNG 이미지 시퀀스를 기록한 경우 투명도 저장을 지원하는 비디오 형식을 사용해야 합니다. MP4/H.264는 투명도 저장을 지원하지 않으므로 WebM/VP9를 대안으로 사용할 수 있습니다.
ffmpeg -r 60 -i input%08d.png -i input.wav -c:v libvpx-vp9 -crf 15 -pix_fmt yuva420p output.webm
노드 만들기
영상을 녹화한 후 보관하고 싶지 않은 영상 부분을 잘라낼 수 있습니다. 예를 들어 12.1초 이전의 모든 내용을 삭제하고 해당 시점 이후의 비디오를 5.2초만 유지하려면 다음을 수행하세요.
ffmpeg -i input.avi -ss 00:00:12.10 -t 00:00:05.20 -crf 15 output.mp4
Cutting videos can also be done with the GUI tool LosslessCut.
비디오 크기 조정
다음 명령은 기존 종횡비를 유지하면서 비디오 크기를 1080픽셀(1080p)로 조정합니다.
ffmpeg -i input.avi -vf "scale=-1:1080" -crf 15 output.mp4
스크립트 추가하기
다음 명령은 비디오의 프레임 속도를 30FPS로 변경하고 입력 비디오에 더 많은 프레임이 있는 경우 원래 프레임 중 일부를 삭제합니다.
ffmpeg -i input.avi -r 30 -crf 15 output.mp4
FFmpeg를 사용하여 누적 모션 블러 생성
Godot는 모션 블러를 기본적으로 지원하지 않지만, 녹화된 비디오에서 모션 블러를 생성할 수 있습니다.
원래 프레임 속도의 배수로 비디오를 녹화하는 경우 프레임을 혼합한 다음 프레임 속도를 줄여 *누적 모션 블러*가 포함된 비디오를 생성할 수 있습니다. 이 모션 블러는 매우 좋아 보일 수 있지만 초당 더 많은 프레임을 렌더링해야 하기 때문에(후처리에 소요되는 시간 외에도) 생성하는 데 시간이 오래 걸릴 수 있습니다.
240FPS 소스 비디오의 예에서는 4배 모션 블러를 생성하고 출력 프레임 속도를 60FPS로 줄입니다.
ffmpeg -i input.avi -vf "tmix=frames=4, fps=60" -crf 15 output.mp4
또한 여러 프레임에 걸쳐 수렴되는 효과(예: 시간적 안티앨리어싱, SDFGI 및 체적 안개)가 더 빠르게 수렴되어 더 보기 좋게 만듭니다. 주어진 시간에 더 많은 데이터를 사용할 수 있기 때문입니다. 모션 블러를 추가하지 않고 이 이점을 얻으려면 :ref:`doc_creating_movies_reducing_framerate`를 참조하세요.