Log in

View Full Version : Editing ProRes metadata


P.J
14th July 2017, 11:24
I got some prores videos that have wrong metadata e.g. scan type, aspect ratio.
Is there anyway to edit them?


Video
ID : 1
Format : ProRes
Format version : Version 0
Format profile : 422 HQ
Codec ID : apch
Duration : 5mn 32s
Bit rate mode : Variable
Bit rate : 41.0 Mbps
Width : 720 pixels
Height : 480 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 (30000/1001) fps
Standard : NTSC
Color space : YUV
Chroma subsampling : 4:2:2
Scan type : Progressive
Bits/(Pixel*Frame) : 3.955
Stream size : 1.58 GiB (95%)
Writing library : fmpg
Language : English
Matrix coefficients : BT.601

kolak
11th August 2017, 20:17
These are rather MOV headers.
You can edit them- there are some tools which can do it on hex level (most Mac thought)
You can fix it with ffmpeg using copy option for video and audio and just adjusting aspect and interlacing.

ProRes does also hold some private info about some parameters. e.g. interlacing, but 99% apps read MOV headers not ProRes private ones.

P.J
12th August 2017, 21:51
These are rather MOV headers.
You can edit them- there are some tools which can do it on hex level (most Mac thought)
You can fix it with ffmpeg using copy option for video and audio and just adjusting aspect and interlacing.

ProRes does also hold some private info about some parameters. e.g. interlacing, but 99% apps read MOV headers not ProRes private ones.

Thanks for reply, but would you explain more?

kolak
14th August 2017, 13:18
It has not much to do with fact that your video is ProRes.
Mediainfo reads those info from MOV container headers, not ProRes private headers, so fix is abut changing MOV headers, not ProRes.

poisondeathray
14th August 2017, 17:15
Mediainfo reads those info from MOV container headers, not ProRes private headers, so fix is abut changing MOV headers, not ProRes.


So you can use -aspect in ffmpeg with -c:v copy -c:a copy to change the AR , and you can hex edit the fiel atom to get scan type interleaved fields and TFF , but mediainfo will still introduce another field called "original scan type" - progressive . What can you do to get rid of that short of re-encoding, or what else to hex edit ?

kolak
14th August 2017, 20:19
This info comes from private PorRes header and only way to fix it is to re-encode file with proper interlaced encoding using prores_ks.
It's only mediainfo which checks ProRes private headers. Don't know any other real world app which would do this, so any transcoding etc will use MOV headers.
You can also hex edit 1st ProRes frame, but this info will be in every frame (although mediainfo most likely checks just 1st frame?).
Mediainfo will give you position of 1st PorRes frame in advanced parsing mode.

Proper solution is to use correct ffmpeg command in 1st place.

update: editing ProRes private frame headers may cause "adjusted" frames to be decoded as black or green.

P.J
15th January 2019, 09:35
Thank you very much :)

Is it possible to change the Frame rate too? =/