|
|
|
@ -64,7 +64,7 @@ def _get_audio_map(title=None, mpv_output=None, device=None):
|
|
|
|
|
|
|
|
|
|
@with_fifo
|
|
|
|
|
def _rip_title(title, output_dir, fifo_path, device=None, media_type=None,
|
|
|
|
|
keep_audio=False):
|
|
|
|
|
keep_audio=False, quality=18):
|
|
|
|
|
out_file = os.path.join(output_dir, '{}.mkv'.format(title))
|
|
|
|
|
|
|
|
|
|
mpv_cmd = ['mpv', '--quiet', '--stream-dump={}'.format(fifo_path),
|
|
|
|
@ -82,7 +82,7 @@ def _rip_title(title, output_dir, fifo_path, device=None, media_type=None,
|
|
|
|
|
#'-c:a', 'flac',
|
|
|
|
|
'-c:a', 'copy',
|
|
|
|
|
'-c:v', 'h264',
|
|
|
|
|
'-crf', '18',
|
|
|
|
|
'-crf', '{}'.format(quality),
|
|
|
|
|
'-pix_fmt', 'yuv420p',
|
|
|
|
|
#'-x264-params', 'keyint=240:min-keyint=20',
|
|
|
|
|
'-preset:v', 'slower',
|
|
|
|
@ -192,11 +192,12 @@ def _get_dvd_titles(device=None):
|
|
|
|
|
@click.option('-d', '--device', type=DEVICE_OR_DIRECTORY_TYPE)
|
|
|
|
|
@click.option('--media-type', type=click.Choice(['film', 'animation']))
|
|
|
|
|
@click.option('--keep-audio', is_flag=True)
|
|
|
|
|
def all(output_dir, device=None, media_type=None, keep_audio=False):
|
|
|
|
|
@click.option('--quality', type=click.INT)
|
|
|
|
|
def all(output_dir, device=None, media_type=None, keep_audio=False, quality=18):
|
|
|
|
|
titles = _get_dvd_titles(device=device)
|
|
|
|
|
for title in range(0, titles):
|
|
|
|
|
_rip_title(title, output_dir, device=device, media_type=media_type,
|
|
|
|
|
keep_audio=keep_audio)
|
|
|
|
|
keep_audio=keep_audio, quality=quality)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@cli.command()
|
|
|
|
@ -205,9 +206,11 @@ def all(output_dir, device=None, media_type=None, keep_audio=False):
|
|
|
|
|
@click.option('-d', '--device', type=DEVICE_OR_DIRECTORY_TYPE)
|
|
|
|
|
@click.option('--media-type', type=click.Choice(['film', 'animation']))
|
|
|
|
|
@click.option('--keep-audio', is_flag=True)
|
|
|
|
|
def single(title, output_dir, device=None, media_type=None, keep_audio=False):
|
|
|
|
|
@click.option('--quality', type=click.INT)
|
|
|
|
|
def single(title, output_dir, device=None, media_type=None, keep_audio=False,
|
|
|
|
|
quality=18):
|
|
|
|
|
_rip_title(title, output_dir, device=device, media_type=media_type,
|
|
|
|
|
keep_audio=keep_audio)
|
|
|
|
|
keep_audio=keep_audio, quality=quality)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@cli.command('get-chapters')
|
|
|
|
|