Ich lese mit TagLib aus einer Audiodatei ein Cover Art aus. Dieses möchte ich dann beim Umwandeln mit ffmpeg wieder in die umgewandelte Audiodatei
als metadata integrieren. ffmpeg erwartet als Parameter einen Dateinamen.
Bisher habe ich erst diese Datei erzeugt und dann in ffmpeg verarbeitet.
Geht das auch irgenwie ohne das ich die Datei immer auf der Festplatte speichern muß ?
als metadata integrieren. ffmpeg erwartet als Parameter einen Dateinamen.
Bisher habe ich erst diese Datei erzeugt und dann in ffmpeg verarbeitet.
Quellcode
- Private Sub GetPictureData(ByVal InputAudioFile As String)
- Dim f As TagLib.File = TagLib.File.Create(InputAudioFile)
- If f.Tag.Pictures.Length >= 1 Then
- Dim bin As Byte() = DirectCast(f.Tag.Pictures(0).Data.Data, Byte())
- Dim Image As Image = ConvertBytes(bin)
- Image.Save("TmpCover.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
- End If
- f.Dispose()
- End Sub
- Private Function ConvertBytes(ByVal mybytes() As Byte) As Image
- Dim myimage As Image
- Dim ms As System.IO.MemoryStream = New System.IO.MemoryStream(mybytes)
- myimage = System.Drawing.Image.FromStream(ms)
- Return myimage
- End Function
Geht das auch irgenwie ohne das ich die Datei immer auf der Festplatte speichern muß ?