From bb952dfec09d0ac657e782772b427cc5022dc42e Mon Sep 17 00:00:00 2001 From: jbannon Date: Fri, 24 Jun 2022 16:10:13 +0000 Subject: [PATCH] test passing, is reproducible --- src/ytdl_sub/downloaders/youtube/merge_playlist.py | 2 +- src/ytdl_sub/utils/ffmpeg.py | 3 +-- tests/e2e/youtube/test_merge_playlist.py | 5 +++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ytdl_sub/downloaders/youtube/merge_playlist.py b/src/ytdl_sub/downloaders/youtube/merge_playlist.py index 3bb82829..7f3f879a 100644 --- a/src/ytdl_sub/downloaders/youtube/merge_playlist.py +++ b/src/ytdl_sub/downloaders/youtube/merge_playlist.py @@ -94,7 +94,7 @@ class YoutubeMergePlaylistDownloader( "playlistreverse": True, "postprocessors": [ { - "key": "FFmpegVideoRemuxer", + "key": "FFmpegVideoConvertor", "when": "post_process", "preferedformat": "mkv", }, diff --git a/src/ytdl_sub/utils/ffmpeg.py b/src/ytdl_sub/utils/ffmpeg.py index 3ed4ea82..e028fda0 100644 --- a/src/ytdl_sub/utils/ffmpeg.py +++ b/src/ytdl_sub/utils/ffmpeg.py @@ -1,8 +1,6 @@ import shutil import subprocess import tempfile -import termios -from typing import Dict from typing import List from typing import Optional @@ -123,6 +121,7 @@ def add_ffmpeg_metadata( metadata_file.name, "-map_metadata", "1", + "-bitexact", # for reproducibility "-codec", "copy", output_file_path, diff --git a/tests/e2e/youtube/test_merge_playlist.py b/tests/e2e/youtube/test_merge_playlist.py index bde43d6b..caea06d9 100644 --- a/tests/e2e/youtube/test_merge_playlist.py +++ b/tests/e2e/youtube/test_merge_playlist.py @@ -36,7 +36,8 @@ def subscription_dict(output_directory, subscription_name): "output_options": {"output_directory": output_directory}, # download the worst format so it is fast "ytdl_options": { - "format": "best", + "format": "best[height<=480]", + "postprocessor_args": {"ffmpeg": ["-bitexact"]}, # Must add this for reproducibility }, "overrides": {"artist": "JMC"}, } @@ -65,7 +66,7 @@ def expected_playlist_download(): return ExpectedDownload( expected_md5_file_hashes={ Path("JMC - Jesse's Minecraft Server.jpg"): "348e3007fc590d0b1e2f6682501b0b5f", - Path("JMC - Jesse's Minecraft Server.mkv"): "a568758afb79f42c7de0af027a4bf62d", + Path("JMC - Jesse's Minecraft Server.mkv"): "6053c47a8690519b0a33c13fa4b01ac0", Path("JMC - Jesse's Minecraft Server.nfo"): "10df5dcdb65ab18ecf21b3503c77e48b", } )