Exemplo n.º 1
0
def compress_nodes(ids, ffmpeg_settings=None, overwrite=False):
    from contentcuration.utils.files import compress_video_wrapper

    for node in models.ContentNode.objects.filter(pk__in=ids):
        if node.kind_id == content_kinds.VIDEO:
            logging.debug("Compressing {}...".format(node.title))
            uncompressed_file = node.files.filter(preset_id=format_presets.VIDEO_HIGH_RES).first()\
                or node.files.filter(preset_id=format_presets.VIDEO_LOW_RES).first()
            if uncompressed_file:
                compressed_file = compress_video_wrapper(
                    uncompressed_file, ffmpeg_settings=ffmpeg_settings)
                logging.debug("   Compressed file {} to {}".format(
                    str(uncompressed_file), str(compressed_file)))

                compressed_file.contentnode = node
                compressed_file.save()

                if overwrite:
                    uncompressed_file.delete()
                else:
                    uncompressed_file.preset_id = format_presets.VIDEO_HIGH_RES
                    uncompressed_file.save()

        elif node.kind_id == content_kinds.TOPIC:
            compress_nodes(node.children.values_list('pk', flat=True),
                           ffmpeg_settings=ffmpeg_settings,
                           overwrite=overwrite)

    logging.debug("COMPRESSION COMPLETE")
Exemplo n.º 2
0
def compress_nodes(ids, ffmpeg_settings=None, overwrite=False):
    from contentcuration.utils.files import compress_video_wrapper

    for node in models.ContentNode.objects.filter(pk__in=ids):
        if node.kind_id == content_kinds.VIDEO:
            logging.debug("Compressing {}...".format(node.title))
            uncompressed_file = node.files.filter(preset_id=format_presets.VIDEO_HIGH_RES).first()\
                or node.files.filter(preset_id=format_presets.VIDEO_LOW_RES).first()
            if uncompressed_file:
                compressed_file = compress_video_wrapper(uncompressed_file, ffmpeg_settings=ffmpeg_settings)
                logging.debug("   Compressed file {} to {}".format(str(uncompressed_file), str(compressed_file)))

                compressed_file.contentnode = node
                compressed_file.save()

                if overwrite:
                    uncompressed_file.delete()
                else:
                    uncompressed_file.preset_id = format_presets.VIDEO_HIGH_RES
                    uncompressed_file.save()

        elif node.kind_id == content_kinds.TOPIC:
            compress_nodes(node.children.values_list('pk', flat=True), ffmpeg_settings=ffmpeg_settings, overwrite=overwrite)

    logging.debug("COMPRESSION COMPLETE")