Add set_hardware_accelerator for ffmpeg
This commit is contained in:
@@ -105,6 +105,7 @@ def extract_frames(target_path : str, temp_video_resolution : str, temp_video_fp
|
|||||||
extract_frame_total = predict_video_frame_total(target_path, temp_video_fps, trim_frame_start, trim_frame_end)
|
extract_frame_total = predict_video_frame_total(target_path, temp_video_fps, trim_frame_start, trim_frame_end)
|
||||||
temp_frames_pattern = get_temp_frames_pattern(target_path, '%08d')
|
temp_frames_pattern = get_temp_frames_pattern(target_path, '%08d')
|
||||||
commands = ffmpeg_builder.chain(
|
commands = ffmpeg_builder.chain(
|
||||||
|
ffmpeg_builder.set_hardware_accelerator('auto'),
|
||||||
ffmpeg_builder.set_input(target_path),
|
ffmpeg_builder.set_input(target_path),
|
||||||
ffmpeg_builder.set_media_resolution(temp_video_resolution),
|
ffmpeg_builder.set_media_resolution(temp_video_resolution),
|
||||||
ffmpeg_builder.set_frame_quality(0),
|
ffmpeg_builder.set_frame_quality(0),
|
||||||
@@ -169,6 +170,7 @@ def restore_audio(target_path : str, output_path : str, trim_frame_start : int,
|
|||||||
|
|
||||||
output_audio_encoder = fix_audio_encoder(temp_video_format, output_audio_encoder)
|
output_audio_encoder = fix_audio_encoder(temp_video_format, output_audio_encoder)
|
||||||
commands = ffmpeg_builder.chain(
|
commands = ffmpeg_builder.chain(
|
||||||
|
ffmpeg_builder.set_hardware_accelerator('auto'),
|
||||||
ffmpeg_builder.set_input(temp_video_path),
|
ffmpeg_builder.set_input(temp_video_path),
|
||||||
ffmpeg_builder.select_media_range(trim_frame_start, trim_frame_end, target_video_fps),
|
ffmpeg_builder.select_media_range(trim_frame_start, trim_frame_end, target_video_fps),
|
||||||
ffmpeg_builder.set_input(target_path),
|
ffmpeg_builder.set_input(target_path),
|
||||||
@@ -194,6 +196,7 @@ def replace_audio(target_path : str, audio_path : str, output_path : str) -> boo
|
|||||||
|
|
||||||
output_audio_encoder = fix_audio_encoder(temp_video_format, output_audio_encoder)
|
output_audio_encoder = fix_audio_encoder(temp_video_format, output_audio_encoder)
|
||||||
commands = ffmpeg_builder.chain(
|
commands = ffmpeg_builder.chain(
|
||||||
|
ffmpeg_builder.set_hardware_accelerator('auto'),
|
||||||
ffmpeg_builder.set_input(temp_video_path),
|
ffmpeg_builder.set_input(temp_video_path),
|
||||||
ffmpeg_builder.set_input(audio_path),
|
ffmpeg_builder.set_input(audio_path),
|
||||||
ffmpeg_builder.copy_video_encoder(),
|
ffmpeg_builder.copy_video_encoder(),
|
||||||
@@ -217,7 +220,8 @@ def merge_video(target_path : str, temp_video_fps : Fps, output_video_resolution
|
|||||||
|
|
||||||
output_video_encoder = fix_video_encoder(temp_video_format, output_video_encoder)
|
output_video_encoder = fix_video_encoder(temp_video_format, output_video_encoder)
|
||||||
commands = ffmpeg_builder.chain(
|
commands = ffmpeg_builder.chain(
|
||||||
ffmpeg_builder.set_conditional_fps(temp_video_fps),
|
ffmpeg_builder.set_hardware_accelerator('auto'),
|
||||||
|
ffmpeg_builder.set_input_fps(temp_video_fps),
|
||||||
ffmpeg_builder.set_input(temp_frames_pattern),
|
ffmpeg_builder.set_input(temp_frames_pattern),
|
||||||
ffmpeg_builder.set_media_resolution(output_video_resolution),
|
ffmpeg_builder.set_media_resolution(output_video_resolution),
|
||||||
ffmpeg_builder.set_video_encoder(output_video_encoder),
|
ffmpeg_builder.set_video_encoder(output_video_encoder),
|
||||||
|
|||||||
@@ -20,6 +20,10 @@ def get_encoders() -> Commands:
|
|||||||
return [ '-encoders' ]
|
return [ '-encoders' ]
|
||||||
|
|
||||||
|
|
||||||
|
def set_hardware_accelerator(value : str) -> Commands:
|
||||||
|
return [ '-hwaccel', value ]
|
||||||
|
|
||||||
|
|
||||||
def set_progress() -> Commands:
|
def set_progress() -> Commands:
|
||||||
return [ '-progress' ]
|
return [ '-progress' ]
|
||||||
|
|
||||||
@@ -28,8 +32,8 @@ def set_input(input_path : str) -> Commands:
|
|||||||
return [ '-i', input_path ]
|
return [ '-i', input_path ]
|
||||||
|
|
||||||
|
|
||||||
def set_conditional_fps(conditional_fps : Fps) -> Commands:
|
def set_input_fps(input_fps : Fps) -> Commands:
|
||||||
return [ '-r', str(conditional_fps) ]
|
return [ '-r', str(input_fps)]
|
||||||
|
|
||||||
|
|
||||||
def set_output(output_path : str) -> Commands:
|
def set_output(output_path : str) -> Commands:
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ def open_stream(stream_mode : StreamMode, stream_resolution : str, stream_fps :
|
|||||||
commands = ffmpeg_builder.chain(
|
commands = ffmpeg_builder.chain(
|
||||||
ffmpeg_builder.capture_video(),
|
ffmpeg_builder.capture_video(),
|
||||||
ffmpeg_builder.set_media_resolution(stream_resolution),
|
ffmpeg_builder.set_media_resolution(stream_resolution),
|
||||||
ffmpeg_builder.set_conditional_fps(stream_fps)
|
ffmpeg_builder.set_input_fps(stream_fps)
|
||||||
)
|
)
|
||||||
|
|
||||||
if stream_mode == 'udp':
|
if stream_mode == 'udp':
|
||||||
|
|||||||
Reference in New Issue
Block a user