Batch-Einbettung von Videodateien in HTML-Dateien (mit Automator?)

3

Kann das Folgende mit Automator oder einem anderen Tool / Skript unter macOS durchgeführt werden?

  • Ich habe mehrere Videodateien mit verschiedenen Dateinamen (immer .mp4).
  • Alle Videodateien müssen in separate HTML-Dokumente eingebettet sein.
  • Die HTML-Dokumente sollten den gleichen Dateinamen haben wie die Videodatei.
  • Beide Dateien sollten zusammen in einer Zip-Datei gespeichert werden.
  • Die zip-Datei sollte den gleichen Namen haben wie das Video und die HTML-Datei.

Wenn ich die Datei habe video-to-html.mp4, möchte ich eine Zip-Datei mit zwei Dateien erhalten:

video-to-html/video-to-html.html
video-to-html/video-to-html.mp4

Der Inhalt der HTML-Datei sieht folgendermaßen aus:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Lorem ipsum</title>
</head>
<body>
<video autoplay controls>
<source src="video-to-html.mp4" type="video/mp4">
</video>
</body>
</html>

Ich bin kein Entwickler, daher verstehe ich nicht viel Codierung.

Generator Schj
quelle
1
Ich bin gespannt, warum Sie das wollen / müssen?
Joonas
1
Jeden Tag muss ich eine Menge Videodateien in ein Überprüfungs- und Genehmigungssystem hochladen. Das System erlaubt das Hochladen von Videodateien nur, wenn diese in ein HTML-Dokument eingebettet sind.
Generator Schj
2
: / seltsam, dass es nicht nur die Videodatei nimmt. - Es ist definitiv möglich zu automatisieren, aber ich lasse klügere Leute antworten.
Joonas

Antworten:

2

Sie können dies leicht mit einem kurzen Shell-Skript erreichen:

#!/bin/bash

for v do
    base=${v%%.mp4}
    cat >>"${base}.html" <<EOF
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Lorem ipsum</title>
</head>
<body>
<video autoplay controls>
<source src="$v" type="video/mp4">
</video>
</body>
</html>
EOF

    rm -f "${base}.zip"
    zip "${base}.zip" "${base}.html" "$v"
done

Speichern Sie es als Shell-Skript an einem geeigneten Ort, öffnen Sie das Terminal, führen Sie es aus chmod +x name-of-scriptund führen Sie es aus als./name-of-script *.mp4

nohillside
quelle
@GeneratorSchj Meine Güte, bitte entfernen Sie alle führenden Leerzeichen im HTML-Teil (bis einschließlich vor EOF)
nohillside
Habe es geschafft! Danke :) Wäre es möglich, dass das Skript den gesamten Prozess automatisch durch Doppelklicken auf die ausführbare Datei ausführt? Dann müsste ich gar nicht ins Terminal :)
Generator Schj 20.04.18
@GeneratorSchj Sie können eine Ordneraktion definieren oder Hazel (bevorzugt) verwenden. Die Frage ist wahrscheinlich schon einmal auf AD
aufgetaucht.
Patrix, ich bin neugierig ... Warum bevorzugst du Hazel? Ich mache das, weil Ordneraktionen für mich nie zuverlässig funktioniert haben. Auch etwas einfacher zu handhaben. Hin und wieder sehe ich Leute, die Ordneraktionen empfehlen, und ich denke nur daran, wie es kaum jemals funktioniert hat. - @GeneratorSchj, es gibt eine Aktion zum Auslösen eines Shell-Skripts in Automator, so dass dies eine Möglichkeit wäre, es über eine Verknüpfung oder eine Anwendung auszulösen ...
Joonas
@ Joonas Hazel ist viel zuverlässiger und vielseitiger für solche Dinge
Nohillside