MediaInfo Fourcc-Werte

Ich versuche herauszufinden, welchen Fourcc-Wert ich verwenden muss, aber ich bin etwas verwirrt zwischen Dateiformaten und Codecs. Ich habe eine .mov-Datei und MediaInfo meldet sie wie unten gezeigt

Ich muss den Fourcc-Wert angeben, kann ihn aber nicht explizit aufgelistet sehen. Sind es die Subsampling-Werte für Farbraum und Chroma? Wenn es der Text ist, den ich verwende, schlägt vor, dass ich die Datei eine .avi nenne, aber spielt es eine Rolle, ob ich sie eine .mov nenne?

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : Main@L4.1
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 2 frames
Format settings, GOP                     : M=2, N=5
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 1h 8mn
Source duration                          : 1h 8mn
Bit rate mode                            : Variable
Bit rate                                 : 3 224 Kbps
Maximum bit rate                         : 768 Kbps
Width                                    : 1 024 pixels
Height                                   : 576 pixels
Display aspect ratio                     : 1.942
Original display aspect ratio            : 16:9
Frame rate mode                          : Variable
Frame rate                               : 25.000 fps
Minimum frame rate                       : 3.125 fps
Maximum frame rate                       : 25.000 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.219
Stream size                              : 1.53 GiB (100%)
Source stream size                       : 1.54 GiB (100%)
Language                                 : English
Encoded date                             : UTC 2016-01-16 15:40:20
Tagged date                              : UTC 2016-03-09 18:41:42
Color range                              : Limited
Color primaries                          : BT.601 PAL
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.601

Antworten (1)

FourCCs sind Microsofts ID-Tags für Streams zB avc1für H.264/AVC oder mp4afür einen AAC-Audiostream. Der Behälter ist eigentlich egal.

Wenn Sie den FourCC ändern möchten, verwenden Sie ffmpeg so

ffmpeg -i input.mov -strict -2 -c copy -vtag ABCD new.mov

Wo ABCDist Ihr neues 4CC/Tag.

Ihre aktuelle Datei wird bereits avc1für den Videostream angezeigt, was standardmäßig und erwartet ist.

Ich möchte den fourcc nicht ändern, ich möchte eigentlich sicher sein, dass ich den richtigen Wert verwende, wenn ich sie als Argument an einen OpenCV VideoWriter-Funktionsaufruf übergebe, um die Originaldatei in kleinere Segmente aufzuteilen. Spielt .avi oder .mov eine Rolle, wenn ich die fourcc richtig eingestellt habe?
Ah, ich weiß nichts über OpenCV, aber es sind im Großen und Ganzen zwei Schritte erforderlich - das Aufrufen eines Demuxers, damit OpenCV die Videospur lokalisieren und extrahieren kann. FourCC ist hier nicht beteiligt. Und sobald die Videospur gelesen wird, wird ein H.264-Bitstream-Reader/Decoder aufgerufen, um das Video korrekt aufzuteilen – FourCC ist erforderlich, um die richtige Bibliothek oder das richtige Modul aufzurufen. avc1ist gut für den 2 teil. Ich kenne OpenCV nicht, kann also zuerst nicht helfen. Vielleicht wird es basierend auf der Erweiterung automatisch ausgewählt?
Habe diesen Eigenschaftswert in OpenCV gefunden current_vid.get(cv2.CAP_PROP_FOURCC) , was für mich aber ausreichen könnte