
Ich versuche, Video und Audio von einer IP-Kamera aufzunehmen, die im H.264-Streaming arbeitet.
Ich habe diese verschiedenen Optionen gefunden:
-i "camera_url" -c:v libx264 -acodec copy "out.mp4"
-i "camera_url" -c:v copy -acodec copy "out.mp4"
-i "camera_url" -vcodec copy -acodec copy "out.mp4"
Kann mir jemand sagen, was der Unterschied zwischen diesen drei Aufnahmearten ist? Soweit ich weiß, wird bei der letzten keine Transkodierung durchgeführt, sodass alles, was von der Kamera kommt, in der Datei gespeichert wird. Was ist mit den anderen beiden?
Antwort1
Die -codec
Option legt die Wahl des Encoders fest. Dies kann entweder der Name eines Encoders oder sein copy
. Letzterer vermeidet die Transkodierung und kopiert die Pakete vom Eingang zum Ausgang. -c
ist eine Kurzform für -codec
. Beide können akzeptierenStream-Spezifizierer, wie -c:v:2
oder -codec:a
. Ersteres legt den Encoder für den 3. Videostream in der Ausgabe fest und letzteres legt den Encoder für alle Audiostreams fest.
vcodec
und acodec
sind Aliase für -c:v
und -c:a
, akzeptieren aber keine Stream-Spezifizierer.