Wie kann ich einen Teil eines HLS-Streams aufnehmen und als Audiopodcast auf YouTube hochladen?

1294
Moongazer

Ich werde einen Leitfaden als Antwort auf diese Frage veröffentlichen. Es wird gezeigt, wie die obige Aufgabe zu erfüllen ist, und es werden fünf Anforderungen erfüllt, die zunächst schwierig zu sein schienen:

  1. Ich musste dies mit einem minimalen Satz von Softwaretools tun, am besten kostenlos und noch besser, wenn es sich um Open Source handelt. Die von mir verwendeten sind unten aufgeführt.

  2. Ich wollte die Audiodatei von M4A in MP3 konvertieren.

  3. Ich wollte das Audio bearbeiten, um es an beiden Enden zuzuschneiden und möglicherweise auch einige Bits dazwischen zu entfernen.

  4. Es ist möglich, eine Videodatei (z. B. mp4) nur mit einer Audiospur und ohne Videospur zu erstellen, aber YouTube akzeptiert eine solche Datei nicht. YouTube benötigt mindestens ein einziges Standbild, um die Audiospur zu begleiten.

  5. Das Speichern des Audiostreams in einer Datei ist relativ einfach, die Datei muss jedoch für die Schritte 2 bis 4 nachbearbeitet werden. Das Laden einer 2,5-stündigen Audiodatei in einen Editor kann recht zeitaufwändig sein. Idealerweise wäre dies der Fall Es wäre besser, nur das halbstündige Segment in der Mitte herunterzuladen, das ich wollte. Dieses Segment beginnt zum Zeitpunkt ~ 1: 34: 00.

0

1 Antwort auf die Frage

0
Moongazer

So nehmen Sie einen Teil eines HLS-gestreamten Audios auf und laden ihn als Audio-Podcast auf YouTube hoch

Diese "How-to" -Information ist ein Leitfaden dafür, wie ich fünf Anforderungen an diese Aufgabe erfüllte, die zunächst schwierig zu sein schienen. Sie sind unten aufgeführt:

Der Podcast, den ich erstellen wollte, ist ein halbstündiges Segment inmitten eines 2,5-Stunden-Radiosenders, das nur für einen begrenzten Zeitraum (1 Woche) nach dem Sendedatum von der Website des Radiosenders gestreamt werden kann. Es ist ein HLS-Stream. Meine spezifischen Anforderungen an diese Aufgabe waren:

1) Ich musste dies mit einem minimalen Satz von Softwaretools tun, am besten kostenlos und noch besser, wenn es sich um Open Source handelt. Die von mir verwendeten sind unten aufgeführt.

2) Ich wollte die Audiodatei von M4A in MP3 konvertieren.

3) Ich wollte das Audio bearbeiten, um es an beiden Enden zuzuschneiden und möglicherweise auch einige Bits dazwischen zu entfernen.

4) Es ist möglich, eine Videodatei (z. B. mp4) nur mit einer Audiospur und keiner Videospur zu erstellen, aber YouTube akzeptiert eine solche Datei nicht. YouTube benötigt mindestens ein einziges Standbild, um die Audiospur zu begleiten.

5) Das Speichern des Audiostreams in einer Datei ist relativ einfach, aber die Datei muss für die Schritte 2 bis 4 nachbearbeitet werden. Das Laden einer 2,5-stündigen Audiodatei in einen Editor kann sehr zeitaufwändig sein. Es wäre besser, einfach das halbe Stunden-Segment in der Mitte herunterzuladen, das ich wollte. Dieses Segment beginnt zum Zeitpunkt ~ 1: 34: 00.

Die von mir verwendete Software ist unten aufgeführt. (Es gibt vier Punkte.) Hinweis: Obwohl einige dieser Programme plattformübergreifend sind, habe ich dies alles mit Windows 7 und dem Firefox-Webbrowser 53.0.2 gemacht.) Ich kann keine Ergebnisse auf anderen Plattformen sowie einige der folgenden Anweisungen garantieren Möglicherweise müssen für andere Browser geringfügige Änderungen vorgenommen werden.

  • VDH (Firefox-Erweiterung: Video DownloadHelper 6.3.1.) (Auch für Chrome-Browser verfügbar.)

  • VLC Media Player 2.2.4

  • Kühnheit 2.1.2

  • FFmpeg

Überprüfen Sie den Ordner, in dem FFmpeg installiert ist. Wenn es keine Datei mit dem Namen ff-prompt.bat enthält, erstellen Sie eine (es handelt sich um eine Textdatei), indem Sie den Anweisungen von Maxime folgen:

https://disqus.com/home/discussion/mrfdev/ffmpeg_command_generator/newest/#comment-3264465301 

In dieser Anleitung werde ich das Beispiel der Website und des Audiostroms verwenden, an dem ich gearbeitet habe. YMMV, wenn Sie dies mit einer anderen Audioquelle versuchen.

Das Radioprogramm ist: ABC Radio Melbourne: "Mornings with Jon Faine" Es gibt eine Liste der vergangenen Episoden dieser Show hier:

http://www.abc.net.au/radio/melbourne/programs/mornings/episodes/%20(http://www.abc.net.au/radio/melbourne/programs/mornings/episodes/) 

Diejenigen, die nicht älter als eine Woche sind, können gestreamt werden. (In einigen Ländern ist das Streaming möglicherweise geoblockt.)

VORGEHENSWEISE: (Dies ist in drei Teile unterteilt: Herunterladen, Bearbeiten und Erstellen eines Videos)

(1) AUDIO HERUNTERLADEN:

Suchen Sie auf der letzten Episoden-Website das entsprechende Programm und klicken Sie auf den Link, um zur Seite des jeweiligen Programms zu gelangen, auf der Sie einen Player mit dem Symbol "Abhören" sehen.

Was Sie jetzt brauchen, ist die Streaming-Playlist für diesen Audio-Inhalt. Es gibt zwei Methoden, um dies zu erhalten: Die einfachste Methode (Methode a unten) ist die Browsererweiterung VDH. Wenn Sie es nicht haben, verwenden Sie unten stehende Methode b.

Methode (a) (Verwenden Sie dies, wenn Sie die Browsererweiterung VDH haben, die oben erwähnt wurde):

  • Klicken Sie auf das Wiedergabesymbol, um den Stream zu starten.

Warten Sie, bis der Ton abgespielt wird. Wenn es tut,

  • Klicken Sie auf das VDH-Symbol, um das Menü zu öffnen.

  • Bewegen Sie den Mauszeiger im VDH-Bedienfeld über den gewünschten Artikel. Rechts erscheint ein Pfeil nach rechts.

  • Klicken Sie auf den Rechtspfeil rechts neben dem Element und wählen Sie "URL kopieren".

    (Dadurch wird die Medien-URL in die Zwischenablage kopiert.)

  • Sie können jetzt die Webseite schließen, auf der sich der Player befindet.

Die URL wird der folgenden ähneln:

http://abcradiomodhls.abc-cdn.net.au/i/local_melbourne/audio/abf-2017-05-16.m4a/index_0_a.m3u8?null=0

  • Öffnen Sie eine neue Browserregisterkarte, fügen Sie die Medien-URL in die Adressleiste des Webbrowsers ein und gehen Sie zu dieser Adresse.

Fahren Sie bei (c) unten fort.

Methode (b) (Verwenden Sie diese Methode, wenn Sie nicht über die Browsererweiterung VDH verfügen.)

  • Öffnen Sie den Quell-HTML-Code für die Webseite, die den Player enthält.

    (Klicken Sie dazu in Firefox mit der rechten Maustaste auf einen leeren Bereich der Seite und wählen Sie "Seitenquelle anzeigen".)

Der HTML-Quellcode für diese Webseite sollte in einer neuen Browserregisterkarte geöffnet werden.

  • Verwenden Sie die Suchfunktion Ihres Webbrowsers, um eine ähnliche Zeile zu finden:

    "URL": " http://abcradiomodhls.abc-cdn.net.au/i/local_melbourne/audio/abf-2017-05-16.m4a/master.m3u8 ",

  • Wählen Sie den Teil dieser Zeile zwischen den zweiten Anführungszeichen.

  • Klicken Sie mit der rechten Maustaste auf die Auswahl und wählen Sie "Link öffnen".

    Ein Dialogfeld zum Öffnen / Speichern von Dateien wird für eine Datei mit dem Namen master.m3u8 geöffnet.

  • Laden Sie die Datei herunter.

  • Öffnen Sie die Datei master.m3u8 in einem Texteditor.

Es wird drei ähnliche Zeilen enthalten:

#EXTM3U #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=130000,CODECS="mp4a.40.2",CLOSED-CAPTIONS=NONE http://abcradiomodhls.abc-cdn.net.au/i/local_melbourne/audio/abf-2017-05-16.m4a/index_0_a.m3u8?null=0 

Die dritte Zeile ist eine URL.

  • Kopieren Sie es, fügen Sie es in die Adressleiste Ihres Webbrowsers ein und gehen Sie zu dieser Adresse.

(c) Fahren Sie hier entweder von (a) oder (b) oben fort:

Ein Dialogfeld "Datei öffnen / speichern" wird für eine Datei mit dem Namen index_0_a.m3u8 geöffnet.

  • Speicher die Datei.

Bei diesem Dateityp handelt es sich um eine Nur-Text-Datei mit einer Audio-Wiedergabeliste, die den Playern mitteilt, wo sich Mediendateien befinden.

  • Öffnen Sie die Datei in einem Texteditor.

Sein Inhalt wird ähnlich aussehen:

#EXTM3U #EXT-X-TARGETDURATION:10 #EXT-X-ALLOW-CACHE:YES #EXT-X-PLAYLIST-TYPE:VOD #EXT-X-VERSION:3 #EXT-X-MEDIA-SEQUENCE:1 #EXTINF:10.000, http://abcradiomodhls.abc-cdn.net.au/i/local_melbourne/audio/abf-2017-05-16.m4a/segment1_0_a.ts?null=0 #EXTINF:10.000, http://abcradiomodhls.abc-cdn.net.au/i/local_melbourne/audio/abf-2017-05-16.m4a/segment2_0_a.ts?null=0  ... <snip> ... (for a 2.5-hour stream, there will be about 900 pairs of lines here)  #EXTINF:8.997 http://abcradiomodhls.abc-cdn.net.au/i/local_melbourne/audio/abf-2017-05-16.m4a/segment900_0_a.ts?null=0 #EXT-X-ENDLIST 

Die obige Datei enthält URLs für 900 Audiosegmente mit einer Dauer von 10 Sekunden, die von 1 bis 900 nummeriert sind. Für jedes Segment gibt es ein Zeilenpaar:

Die erste Zeile in jedem Paar besteht aus dem Text: "#EXTINF: 10.000".

Die zweite Zeile in jedem Paar enthält die URL für das Audiosegment.

Jetzt entfernen Sie im Texteditor die unten aufgeführten Segmente, indem Sie das Zeilenpaar für jedes zu löschende Segment löschen.

  • Entfernen Sie die Segmente 1 bis 563 (dh die ersten ~ 94 Minuten).
  • Entfernen Sie die Segmente 834 bis 900. (die letzten 11 Minuten)

(Achten Sie darauf, dass die letzte Zeile unverändert bleibt: # EXT-X-ENDLIST)

Dadurch verbleiben 270 Segmente in der Mitte (die 45 Minuten beginnen um ~ 1: 34: 00).

  • Speichern Sie die bearbeitete Datei als A.m3u8

(d) Jetzt können Sie mit VLC den gewünschten Audioausschnitt streamen und als MP3-Datei speichern.

Öffnen Sie den VLC Media Player und im VLC-Menü:

  • Klicken Sie auf "Medien" und dann auf "Konvertieren / Speichern ...".

Im Dialogfeld "Medien öffnen" auf der Registerkarte "Datei"

  • Klicken Sie auf "Hinzufügen".

Im Dialogfeld "Dateien auswählen"

  • Suchen und wählen Sie die Datei A.m3u8 ,

Zurück im Dialogfeld "Medien öffnen",

  • Klicken Sie auf "Konvertieren / Speichern".

Im Dialogfeld "Konvertieren"

  • bei "Profile" wählen Sie "Audio - MP3",

  • bei "Zieldatei:" klicken Sie auf "Durchsuchen"

Im Dialogfeld "Datei speichern ..."

  • Navigieren Sie zum gewünschten Ordner und geben Sie einen Dateinamen für die MP3-Datei ein.

  • Klicken Sie auf "Speichern".

Zurück im Dialogfeld "Konvertieren",

  • Klicken Sie auf "Start".

VLC wird das Medium (im Hintergrund) streamen und als MP3-Datei speichern.

(Dabei wirkt der Zeitschiebebalken als Fortschrittsbalken.)

(2) AUDIO BEARBEITEN:

Bearbeiten Sie ggf. die MP3-Datei in Ihrem bevorzugten Audio-Editor, um sie am Anfang und am Ende zuzuschneiden und / oder unerwünschte Teile aus der Mitte zu entfernen. Exportieren Sie dann die bearbeitete Version als neue MP3-Datei. Ich habe dazu Audacity verwendet. Eine Erklärung dazu, wie Sie dies in Audacity tun können, würde den Rahmen dieses Artikels sprengen. Die gute Nachricht ist, dass dieser Schritt möglicherweise unnötig ist, wenn die Bearbeitung der Wiedergabeliste in Teil 1 zu einem ausreichend genauen Auszug des Teils des Audiostroms geführt hat, den Sie speichern wollten.

(3) KOMBINIEREN SIE EIN BILD UND DAS AUDIO IN EIN VIDEO:

Diese Methode verwendet FFmpeg. Es kommt von Ed Mann. Es wird hier ausführlicher erklärt:

http://eddmann.com/posts/uploading-podcast-audio-to-youtube/ 

In diesem Beispiel wird davon ausgegangen, dass FFmpeg in C: \ Apps \ FFmpeg installiert ist.

  • Kopieren Sie die Audiodatei und eine JPG-Datei für das Bild, das in der Videospur angezeigt werden soll, in den Ordner C: \ Apps \ FFmpeg \ bin. Nennen Sie sie input.mp3 und image.jpg

  • Öffnen Sie eine Eingabeaufforderung und geben Sie die drei folgenden Befehle ein:

Zeile 1 macht den Ordner, der FFmpeg enthält, zum aktuellen Verzeichnis.

Zeile 2 führt die Kommandodatei FF-prompt.bat aus.

Zeile 3 übergibt einen angepassten Befehl an FFmpeg, der die beiden Dateien in einer Videodatei mit dem Namen Output.mkv zusammenfasst. Wenn Sie die Ausgabedatei als MP4-Datei bevorzugen möchten, ändern Sie einfach die letzten drei Buchstaben in Zeile 3.

CD "C:\Apps\FFmpeg"  FF-prompt.bat  ffmpeg -loop 1 -r 2 -i image.jpg -i input.mp3 -vf scale=-1:380 -c:v libx264 -preset slow -tune stillimage -crf 18 -c:a copy -shortest -pix_fmt yuv420p -threads 0 output.mkv 

Warten Sie, bis der Befehl abgeschlossen ist. Wenn dies der Fall ist, kann Ihre Videodatei nach YouTube hochgeladen werden. Sie finden es im Unterordner "bin", in dem FFmpeg installiert ist. (In diesem Beispiel wird es sich in C: \ Apps \ FFmpeg \ bin befinden.)

Hier ist ein Beispielergebnis:

https://www.youtube.com/watch?v=k01yREFsYTs