Wie kann ich alle Einträge in einer Playlist mit MPlayer sichern?

1736
Aaron Digulla

Ich kann alle Elemente einer Playlist mit abspielen

mplayer -playlist file.m3u 

aber wenn ich den Stream mit entleere

mplayer -dumpfile file.ts -dumpstream -playlist file.m3u 

file.tsenthält nur den ersten Eintrag in der M3U-Wiedergabeliste. Wie kann ich sagen mplayer, alles zu entleeren?

0

1 Antwort auf die Frage

1
Aaron Digulla

Eine m3uoder eine m3u8Datei ist nur eine Liste von Links (einer pro Zeile) mit Kommentaren. Ich habe das folgende kleine Python-Programm verwendet, um alle Teile der Wiedergabeliste nacheinander herunterzuladen:

#!/usr/bin/env python3  import subprocess import os  def dump(playlist): urls = []  with open(playlist, 'r') as fh: for line in fh: if line[0] == '#': continue  urls.append(line.strip())  count = 1 for url in urls: dumpfile = 'part%04d.ts' % count count += 1  if os.path.exists(dumpfile): print('Skipping %s...' % dumpfile)  cmd = [ 'mplayer', '-dumpfile', dumpfile, '-dumpstream', url ]  print('%s -> %s' % (url, dumpfile)) rc = subprocess.call(cmd) if rc != 0: raise Exception('dump failed')  if __name__ == '__main__': import sys  playlist = sys.argv[1] dump(playlist) 

Wenn es sich bei den Teilen um MPEG- .tsDateien ("Transportstream") handelt, lesen Sie diese Frage, wie Sie sie verbinden können: Verwenden Sie den Kopiercodec ffmpeg, um * .ts-Dateien in einem einzigen mp4 zu kombinieren

Für andere Dateitypen benötigen Sie wahrscheinlich Werkzeuge. (siehe hier für mp3 )