Generar una lista de reproducción M3U aleatoria de Video o Audio

Si dispones de una gran colección de películas, puede ser util para tus fiestas o reuniones ir mostrando diferentes secuencias aleatorias de dichas películas.

Este script en Python permite seleccionar una carpeta y crear con todos sus archivos un fichero m3u.

from os import scandir, system
from datetime import datetime, date, time, timedelta
import subprocess
import random
import math
import sys


segundos = 30
ahora = datetime.now()
hora_actual = time(ahora.hour, ahora.minute, ahora.second)
hora = "%H-%M-%S"

path = '/Volumes/Mac HD/Series/Forever/Vistos/'
ruta_b = path.replace(' ', '\ ')

f = open('Lista_' + ahora.strftime(hora) + '_.m3u', 'wt')
f.write("#EXTM3U" + '\n')

def ls2(path): 
    return [obj.name for obj in scandir(path) if obj.is_file()]

archivos = ls2(path)

for archivo in archivos:
    print(archivo)
    if archivo != ".DS_Store":
        
        archivo_b = archivo.replace(' ', '\ ')

        if not archivo_b.find("(") > 0:
            duracion = subprocess.getoutput("exiftool -q -p '$Duration#' " + ruta_b + archivo_b)
            print(duracion)


            dur0 = duracion.replace('\n', '').replace('\r', '')

            dur_ini = random.randint(0, int(float(dur0)-segundos))
            dur_stop = dur_ini + segundos
            
            f.write("#EXTVLCOPT:start-time=" + str(dur_ini) + '\n')
            f.write("#EXTVLCOPT:stop-time=" + str(dur_stop) + '\n')
            f.write(path + archivo + '\n')
        

f.close()

Para que el script funcione, debemos tener instalada en nuestro sistema la utilidad exiftool. Con esta herramienta consegimos la duración del video, “exiftool -q -p ‘$Duration#’ ” + ruta_b + archivo_b“, y obtenemos el momento aleatorio del comienzo del video.

La ruta a la carpeta con los archivos de video se configura en “path = ‘/Volumes/Mac HD/Series/Forever/Vistos/’

Por defecto la duración del video será de 30 segundos, “segundos = 30

Al ejecutar el script se crea un archivo con la hora actual, similar a “Lista_18-47-24_.m3u“. Tan solo debemos abrir dicho archivo con la aplicación “VLC“, para que los fragmentos aleatorios se vayan repriduciendo.

Este script a sido creado para su utilización en Mac OS X, para utilizarlo en Windows, serán necesarios unos pequeños retoques.

Share

Comments are closed.