Totaler Zufall

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Bor1sB00lean
Beiträge: 6
Registriert: 22.12.2020 19:23:11

Totaler Zufall

Beitrag von Bor1sB00lean » 22.12.2020 19:28:55

Glück auf,

ich würde gerne eine Playlist ( sowohl Audio als auch Video) zufallsbasiert abspielen. Die Besonderheit ist allerdings, dass ich neben der zufälligen Reihenfolge auch den Start- und Endpunkt,sowie die Länge der Mediadatei per Zufall bestimmen lassen will.

Falls jemand ein Lösung hat, wie ich dies umsetzen kann, wäre ich sehr dankbar.

Beste Grüße

Boris

rodney
Beiträge: 332
Registriert: 09.12.2016 04:15:59

Re: Totaler Zufall

Beitrag von rodney » 22.12.2020 19:42:32

* Mit shuf <playlist> die Playlist "zufaellig" sortieren
* Von der abzuspielenden Mediadatei die Laenge ermitteln
* Startpunkt: aus Laenge zufaellig generieren
* Endpunkt: aus (Laenge minus ermitteltem Startpunkt) zufaellig generieren und zu Startpunkt addieren.
* Laenge der Mediadatei per Zufall bestimmen ist... naja, ich komm nicht drauf was damit gemeint sein soll

Bor1sB00lean
Beiträge: 6
Registriert: 22.12.2020 19:23:11

Re: Totaler Zufall

Beitrag von Bor1sB00lean » 22.12.2020 19:46:14

Hi rodney,

danke für deine Antwort.

"* Laenge der Mediadatei per Zufall bestimmen ist... naja, ich komm nicht drauf was damit gemeint sein soll"

damit war die Abspiellänge gemeint. Also beispielsweise 25% der Gesamtlänge.


Mir ist nicht ganz klar wie ich deine Hinweise umsetzten soll.

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Totaler Zufall

Beitrag von Meillo » 22.12.2020 19:48:07

Willkommen im Forum!

Um die Wahrscheinlichkeit, dass diejenigen, die sich damit auskennen, diesen Thread auch finden, wuerde es sich empfehlen, relevante Stichworte (wie z.B. Mediaplayer) in den Titel zu schreiben. So sind es vielleicht eher die Kryptofreaks und die Smalltalker, die hier reinschauen, und die koennen dir bei deinem Problem weniger weiterhelfen.

Bor1sB00lean hat geschrieben: ↑ zum Beitrag ↑
22.12.2020 19:28:55
ich würde gerne eine Playlist ( sowohl Audio als auch Video) zufallsbasiert abspielen. Die Besonderheit ist allerdings, dass ich neben der zufälligen Reihenfolge auch den Start- und Endpunkt,sowie die Länge der Mediadatei per Zufall bestimmen lassen will.
Brauchst du ueberhaupt eine Playlist? Wuerde es reichen, wenn es um alle Dateien eines Ordners (inkl. Unterordner?) funktioniert? Das waere wahrscheinlich einfacher umzusetzen.

Welchen Mediaplayer verwendest du derzeit? Oder ist es dir egal, welchen zu installierst?

Mit ein bisschen Shellscripting liesse sich das machen. Wir erstellen dir gerne eine individuelle Loesung, falls es das fertig nicht gibt.
Use ed once in a while!

Bor1sB00lean
Beiträge: 6
Registriert: 22.12.2020 19:23:11

Re: Totaler Zufall

Beitrag von Bor1sB00lean » 22.12.2020 19:54:53

Hi Meillo,

auch Dir ein herzlichen Dank, sowohl für die nette Begrüßung, als auch für die Antwort.

Grundsätzlich, liegt die Zielsetzung im Vordergrund, daher wollte ich keine Einschränkungen beispielsweise bzgl. eines Mediaplayers geben.

Auch eine playlist ist kein muss. Wenn es über eine Ordnerstruktur einfacher umsetzbar ist, wäre das auch vollkommen ok.

rodney
Beiträge: 332
Registriert: 09.12.2016 04:15:59

Re: Totaler Zufall

Beitrag von rodney » 22.12.2020 19:55:42

Bor1sB00lean hat geschrieben: ↑ zum Beitrag ↑
22.12.2020 19:46:14

"* Laenge der Mediadatei per Zufall bestimmen ist... naja, ich komm nicht drauf was damit gemeint sein soll"

damit war die Abspiellänge gemeint. Also beispielsweise 25% der Gesamtlänge.
Wenn der Startpunkt und der Endpunkt zufaellig sind, dann ist die Abspiellaenge zwangslaeufig auch zufaellig.

Bor1sB00lean
Beiträge: 6
Registriert: 22.12.2020 19:23:11

Re: Totaler Zufall

Beitrag von Bor1sB00lean » 22.12.2020 20:00:37

"Wenn der Startpunkt und der Endpunkt zufaellig sind, dann ist die Abspiellaenge zwangslaeufig auch zufaellig."

Das stimmt natürlich. Danke für den Hinweis.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Totaler Zufall

Beitrag von eggy » 22.12.2020 20:16:26

Schau dir mal an, was mpv kann, z.B.
--start=<relative time>
--end=<relative time>
in der manpage gibts mehr und Beispiele.

Bor1sB00lean
Beiträge: 6
Registriert: 22.12.2020 19:23:11

Re: Totaler Zufall

Beitrag von Bor1sB00lean » 22.12.2020 20:17:34

Hi eggy,

ich schaue es mir an, danke Dir.

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Totaler Zufall

Beitrag von Meillo » 22.12.2020 21:16:35

Hier mal ein Ansatz:

Code: Alles auswählen

#!/bin/sh
#
# Requires: mediainfo, mplayer

find "$1" -type f | sort -R | while read i; do
        length="$(expr $(mediainfo --Output="General;%Duration%" "$i") / 1000)"
        start="$(expr $RANDOM / "$i")"
        duration="$(expr $RANDOM / \( "$length" - "$start" \))"
        mplayer -fs -ss "$start" -endpos "$duration" "$i"
done
Das Script enthaelt noch keine Fehlerbehandlung. Ich konnte es auch nicht testen, weil ich gerade kein System zur Hand habe, auf dem das laufen koennte.


Du brauchst Debianmediainfo und Debianmplayer. Es ist kein Problem, einen anderen Videoplayer zu verwenden; dann muss man halt die Kommandozeilenoptioenen anpassen.

Das Script musst du mit einem Verzeichnispfad als Argument aufrufen, dann nimmt es alle darunter liegenden Dateien in die Auswahlliste.

Man kann an dem Code noch viel schrauben. Ich wollte nur mal einen Ansatz bieten. Wenn der grundsaetzlich laeuft und so arbeitet, wie du es dir vorstellst, dann kann man optimieren.
Use ed once in a while!

Bor1sB00lean
Beiträge: 6
Registriert: 22.12.2020 19:23:11

Re: Totaler Zufall

Beitrag von Bor1sB00lean » 22.12.2020 22:22:09

Wow Meillo,

danke das du dir so eine Mühe machst. Ich werde es testen ob ich es so realisieren kann.

Benutzeravatar
smutbert
Moderator
Beiträge: 8315
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Totaler Zufall

Beitrag von smutbert » 22.12.2020 23:06:38

ich könnte noch etwas für Debianmpd in python anbieten. Hier habe ich die maximale Playlistlänge auf ein Hundertstel aller verfügbaren Lieder begrenzt, weil doch recht viele Lieder in meiner Datenbank sind. Benötigt Debianpython3-musicpd (oder wahlweise Debianpython3-mpd)

Code: Alles auswählen

#!/usr/bin/env python3

import musicpd as mpd
import random

mpd_client = mpd.MPDClient()
mpd_client.connect(localhost)

mpd_client.clear()
	
musikdateien = mpd_client.list('file')
playlistlaenge = random.randint(1, int(len(musikdateien) / 100))
	
for i in range(playlistlaenge):
	musikstueck = random.choice(musikdateien)
	mpd_client.searchadd('file', musikstueck)
	musikdateien.remove(musikstueck)

mpd_client.play()

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Totaler Zufall

Beitrag von Meillo » 22.12.2020 23:08:50

Bor1sB00lean hat geschrieben: ↑ zum Beitrag ↑
22.12.2020 22:22:09
danke das du dir so eine Mühe machst.
Das ist hier im Service inbegriffen. ;-)


Passend zu deinen eigenen Faehigkeiten unterstuetzen wird dich gerne ... solange du freundlich und selbst bemueht bist (dann macht uns das naemlich Spass).
Use ed once in a while!

Benutzeravatar
smutbert
Moderator
Beiträge: 8315
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Totaler Zufall

Beitrag von smutbert » 03.01.2021 20:05:24

Oh, ich habe gerade erst gesehen, dass auch das Abspielen von Videos im Anforderungskatalog war – damit habe ich das Thema wohl verfehlt.

Aber dafür glaube ich baue ich diese Art der Zufallswiedergabe gleich in meinen Musikplayer ein – wie sonst kommt man zu einer Playlist, in der Wolfgang Amadeus' Kleine Nachtmusik direkt auf ein Lied von Nirvana folgt, kurz bevor Bob Marley nicht den Hilfssheriff erschießt.

Antworten