diff --git a/moviepy/tools.py b/moviepy/tools.py index b42afd0e6..2e41fe501 100644 --- a/moviepy/tools.py +++ b/moviepy/tools.py @@ -156,7 +156,7 @@ def deprecated_func(*args, **kwargs): "mp3": {"type": "audio", "codec": ["libmp3lame"]}, "wav": {"type": "audio", "codec": ["pcm_s16le", "pcm_s24le", "pcm_s32le"]}, "m4a": {"type": "audio", "codec": ["libfdk_aac"]}, - "flac":{"type": "audio", "codec": ["flac"]} + "flac": {"type": "audio", "codec": ["flac"]}, } for ext in ["jpg", "jpeg", "png", "bmp", "tiff"]: diff --git a/moviepy/video/io/ffmpeg_writer.py b/moviepy/video/io/ffmpeg_writer.py index 1fe28401d..8ffdb60b6 100644 --- a/moviepy/video/io/ffmpeg_writer.py +++ b/moviepy/video/io/ffmpeg_writer.py @@ -121,7 +121,12 @@ def __init__( if audiofile is not None: cmd.extend(["-i", audiofile, "-acodec", "copy"]) - cmd.extend(["-vcodec", codec, "-preset", preset]) + if codec == "h264_nvenc": + cmd.extend(["-c:v", codec]) + else: + cmd.extend(["-vcodec", codec]) + + cmd.extend(["-preset", preset]) if ffmpeg_params is not None: cmd.extend(ffmpeg_params) @@ -136,7 +141,11 @@ def __init__( if codec == "libvpx" and with_mask: cmd.extend(["-pix_fmt", "yuva420p"]) cmd.extend(["-auto-alt-ref", "0"]) - elif (codec == "libx264") and (size[0] % 2 == 0) and (size[1] % 2 == 0): + elif ( + (codec == "libx264" or codec == "h264_nvenc") + and (size[0] % 2 == 0) + and (size[1] % 2 == 0) + ): cmd.extend(["-pix_fmt", "yuva420p"]) cmd.extend([ffmpeg_escape_filename(filename)])