def test_generate_video_dont_enlarge(tmpdir, fmt): """Video dimensions should not be enlarged.""" base, ext = os.path.splitext(TEST_VIDEO) dstfile = str(tmpdir.join(base + '.' + fmt)) settings = create_settings(video_size=(1000, 1000), video_format=fmt) generate_video(SRCFILE, dstfile, settings) size_src = video_size(SRCFILE) size_dst = video_size(dstfile) assert size_src == size_dst
def test_generate_video_dont_enlarge(tmpdir): """video dimensions should not be enlarged""" base, ext = os.path.splitext(TEST_VIDEO) dstfile = str(tmpdir.join(base + '.webm')) generate_video(SRCFILE, dstfile, (1000, 1000)) size_src = video_size(SRCFILE) size_dst = video_size(dstfile) assert size_src == size_dst
def test_generate_video_dont_enlarge(tmpdir): """video dimensions should not be enlarged""" base, ext = os.path.splitext(TEST_VIDEO) dstfile = str(tmpdir.join(base + '.webm')) generate_video(SRCFILE, dstfile, (1000, 1000)) size_src = vid_size(SRCFILE) size_dst = vid_size(dstfile) assert size_src == size_dst
def test_generate_video_dont_enlarge(tmpdir, fmt): """video dimensions should not be enlarged""" base, ext = os.path.splitext(TEST_VIDEO) dstfile = str(tmpdir.join(base + '.' + fmt)) settings = create_settings(video_size=(1000, 1000), video_format=fmt) generate_video(SRCFILE, dstfile, settings, options=settings.get(fmt + '_options')) size_src = video_size(SRCFILE) size_dst = video_size(dstfile) assert size_src == size_dst
def test_generate_video_fit_width(tmpdir): """largest fitting dimension is width""" base, ext = os.path.splitext(TEST_VIDEO) dstfile = str(tmpdir.join(base + '.webm')) generate_video(SRCFILE, dstfile, (100, 50)) size_src = video_size(SRCFILE) size_dst = video_size(dstfile) assert size_dst[1] == 50 # less than 2% error on ratio assert abs(size_dst[0] / size_dst[1] - size_src[0] / size_src[1]) < 2e-2
def test_generate_video_fit_width(tmpdir): """largest fitting dimension is width""" base, ext = os.path.splitext(TEST_VIDEO) dstfile = str(tmpdir.join(base + '.webm')) generate_video(SRCFILE, dstfile, (100, 50)) size_src = vid_size(SRCFILE) size_dst = vid_size(dstfile) assert size_dst[1] == 50 # less than 2% error on ratio assert abs(size_dst[0]/size_dst[1] - size_src[0]/size_src[1]) < 2e-2
def test_generate_video_fit_height(tmpdir): """largest fitting dimension is height""" base, ext = os.path.splitext(TEST_VIDEO) dstfile = str(tmpdir.join(base + '.webm')) settings = create_settings(video_size=(50, 100)) generate_video(SRCFILE, dstfile, settings) size_src = video_size(SRCFILE) size_dst = video_size(dstfile) assert size_dst[0] == 50 # less than 2% error on ratio assert abs(size_dst[0]/size_dst[1] - size_src[0]/size_src[1]) < 2e-2
def test_generate_video_fit_height(tmpdir, fmt): """largest fitting dimension is height""" base, ext = os.path.splitext(TEST_VIDEO) dstfile = str(tmpdir.join(base + '.' + fmt)) settings = create_settings(video_size=(80, 100), video_format=fmt) generate_video(SRCFILE, dstfile, settings) size_src = video_size(SRCFILE) size_dst = video_size(dstfile) assert size_dst[0] == 80 # less than 2% error on ratio assert abs(size_dst[0] / size_dst[1] - size_src[0] / size_src[1]) < 2e-2
def test_generate_video_fit_width(tmpdir, fmt): """largest fitting dimension is width""" base, ext = os.path.splitext(TEST_VIDEO) dstfile = str(tmpdir.join(base + '.' + fmt)) settings = create_settings(video_size=(100, 50), video_format=fmt) generate_video(SRCFILE, dstfile, settings, options=settings[fmt + '_options']) size_src = video_size(SRCFILE) size_dst = video_size(dstfile) assert size_dst[1] == 50 # less than 2% error on ratio assert abs(size_dst[0]/size_dst[1] - size_src[0]/size_src[1]) < 2e-2
def test_second_pass_video(mock_generate_video_pass, fmt, tmpdir): """Video should be run through ffmpeg.""" base, ext = os.path.splitext(TEST_VIDEO) dstfile = str(tmpdir.join(base + '.' + fmt)) settings_1 = '-c:v libvpx-vp9 -b:v 0 -crf 30 -pass 1 -an -f null dev/null' settings_2 = '-c:v libvpx-vp9 -b:v 0 -crf 30 -pass 2 -f {}'.format(fmt) settings_opts = { 'video_size': (100, 50), 'video_format': fmt, fmt + '_options': settings_1.split(" "), fmt + '_options_second_pass': settings_2.split(" ") } settings = create_settings(**settings_opts) generate_video(SRCFILE, dstfile, settings) call_args_list = mock_generate_video_pass.call_args_list # The method is called twice assert len(call_args_list) == 2 # The first call to the method should have 3 args, without the outname args, kwargs = call_args_list[0] assert len(args) == 3 # The second call to the method should have 4 args, with the outname args, kwargs = call_args_list[1] assert len(args) == 4