@nji9nji9 sagte in Audio-Only Herunterladen anbieten:
Einige Sendungen werden in mehreren Versionen angeboten, die sich nur in der Sprache unterscheiden (D, GB, F, …).
Da ich mich auch immer für die englische und französische Version interessiere, muss ich den kompletten Film (Video + Audio) mehrfach herunterladen (nur um das Audio hinzu zu muxen).
Es wäre daher eine echte Verbesserung, wenn auch die (bitgenaue) Audiospur angeboten würde.
Das würde viel Zeit und Bandbreite einsparen.
Hallo,
da inzwischen Sendungen in sehr vielen Sprachen angeboten werden ist es bestimmt nicht einfach ein entsprechendes Verhalten in MV zu integrieren.
Hier ist der Benutzer gefordert.
Ein nicht ganz befriedigender aber vielleicht hilfreicher Trick ist die zweite Sprache als Film, aber mit geringerer Auflösung herunterzuladen - geringe Bandbreite, wenig Zeitaufwand. Ist dann schon fast Audio-Only. Zum muxen dann z. B. ffmpeg nehmen. Ein kleiner Batch kann das dann, sofern Namensregeln eingehalten werden, ziemlich easy erledigen. Der Zeitaufwand des Muxens ist dann sehr gering. Ob das jetzt MV oder der interessiete Benutzer macht ist eigentlich egal. Natürlich geht das auch mit yt-dlp wenn die Audio-only vorliegen oder man dran kommt. Bei arte empfiehlt sich yt-dlp auch wegen der Filme, die auch in FHD vorliegen aber nicht direkt bei arte dem Benutzer und MV angeboten werden.
–Felix
Vorgang:
Man nehme eine Datei für Video und erste Sprache (hier die Datei mit der gewünschten Auflösung) und eine zweite Datei (mit niedrigster Auflösung) für die zweite Sprache und kopiere das alles in eine neue Datei (gewünschte Auflösung und Sprachen).
Video und Audio werden noch mit Sprachtags versehen.
Wie die Dateien heißen damit darauf Regeln angewendet werden können obliegt dem Benutzer.
Unter Windows könnte ein Batch z. B. so aussehen.
Für andere Sprachen halt entsprechend anpassen.
@echo off
setlocal EnableDelayedExpansion
FOR /F “tokens=1 delims=[” %%A IN (‘DIR /B *[Deutsch].mp4’) DO (
set EpisodeDeutsch=%%A[Deutsch].mp4
set EpisodeEnglisch=%%A[Englisch].mp4
set EpisodeEnglischDeutsch=%%A[Englisch, Deutsch].mp4
echo %%A
echo !EpisodeDeutsch!
echo !EpisodeEnglisch!
echo !EpisodeEnglischDeutsch!
if not exist “!EpisodeEnglisch!” (echo die Datei “!EpisodeEnglisch!” existiert nicht) else (
ffmpeg -loglevel warning -hide_banner -stats -i “!EpisodeEnglisch!” -i “!EpisodeDeutsch!” -map_metadata 0 -map 0:v -map 0:a:0 -map 1:a:0 -c copy -metadata:s:v:0 language=eng -metadata:s:a:0 language=eng -metadata:s:a:1 language=deu “!EpisodeEnglischDeutsch!” -y
)
)
endlocal