Ich möchte in einem Video ein bzw. mehrere Texte einfügen.
Ich nutze hierzu ffmpeg.
Mit der Kommandozeile mit ffmpeg exe bekomme ich das hin.
Ich möchte das aber gerne in VB.net machen mit Accord.
Bei der Ausführung kommt die Meldung "Fehler BC30560 "VideoFileReader und FileWriter" ist im Namespace "Accord.Video.FFMPEG" mehrdeutig.".
Ich hatte auch schon "Accord.Video.FFMPEG.VideoFileReader()" versucht.
Kann mir jemand einen Tipp geben?
Ich nutze hierzu ffmpeg.
Mit der Kommandozeile mit ffmpeg exe bekomme ich das hin.
Ich möchte das aber gerne in VB.net machen mit Accord.
Bei der Ausführung kommt die Meldung "Fehler BC30560 "VideoFileReader und FileWriter" ist im Namespace "Accord.Video.FFMPEG" mehrdeutig.".
Ich hatte auch schon "Accord.Video.FFMPEG.VideoFileReader()" versucht.
Kann mir jemand einen Tipp geben?
VB.NET-Quellcode
- Imports Accord.Video.FFMPEG
- Imports System.Drawing
- Public Class frmVideo
- Private Sub btnAddText_Click(sender As Object, e As EventArgs) Handles btnAddText.Click
- Dim inputPath As String = "C:\logs\Digital.mp4"
- Dim outputPath As String = "C:\logs\Digital_out.mp4"
- Dim overlayText As String = "Neuer Preis"
- AddTextOverlay(inputPath, outputPath, overlayText)
- MessageBox.Show("Die Verarbeitung ist abgeschlossen.")
- End Sub
- Private Sub AddTextOverlay(inputPath As String, outputPath As String, overlayText As String)
- 'Fehler BC30560 "VideoFileReader" ist im Namespace "Accord.Video.FFMPEG" mehrdeutig.
- Using reader As New VideoFileReader()
- reader.Open(inputPath)
- 'Fehler BC30560 "VideoFileWriter" ist im Namespace "Accord.Video.FFMPEG" mehrdeutig.
- Using writer As New VideoFileWriter()
- writer.Open(outputPath, reader.Width, reader.Height, reader.FrameRate, reader.VideoCodec)
- Dim frameIndex As Integer = 0
- While True
- Dim frame As Bitmap = reader.ReadVideoFrame()
- If frame Is Nothing Then
- Exit While
- End If
- Using g As Graphics = Graphics.FromImage(frame)
- Using font As New Font("HelveticaNeueLT Std ExtBlk Cn", 27)
- Dim textSize As SizeF = g.MeasureString(overlayText, font)
- Dim x As Integer = 500
- Dim y As Integer = 700
- g.DrawString(overlayText, font, Brushes.White, x, y)
- End Using
- End Using
- writer.WriteVideoFrame(frame)
- frameIndex += 1
- End While
- writer.Close()
- End Using
- reader.Close()
- End Using
- End Sub
- End Class
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „jnpanzer“ ()