Modifying/adding audio sample descriptors in a QT MOV

Started by fifer55, September 09, 2022, 02:26:14 AM

Previous topic - Next topic

fifer55

First time post and I hope this tool can help.

What I am trying to do is change several audio sample descriptions in a QT .mov file.

here an example file using the FAQ sample command: exiftool -a -G1 -s c:\images\test.jpg
Last login: Thu Sep  8 22:02:13 on ttys005
me@mie01-mac ~ % exiftool -a -u -g1 -s -api largefilesupport=1 /Users/meme/Desktop/tears_of_steel_1080p_Master_ffmpeg_v7.mov
---- ExifTool ----
ExifToolVersion                 : 12.44
---- System ----
FileName                        : tears_of_steel_1080p_Master_ffmpeg_v7.mov
Directory                       : /Users/meme/Desktop
FileSize                        : 13 GB
FileModifyDate                  : 2022:09:08 20:09:59-07:00
FileAccessDate                  : 2022:09:08 20:09:59-07:00
FileInodeChangeDate             : 2022:09:08 20:52:46-07:00
FilePermissions                 : -rw-r--r--
---- File ----
FileType                        : MOV
FileTypeExtension               : mov
MIMEType                        : video/quicktime
---- QuickTime ----
MajorBrand                      : Apple QuickTime (.MOV/QT)
MinorVersion                    : 0.2.0
CompatibleBrands                : qt
MediaDataSize                   : 12791236564
MediaDataOffset                 : 36
MovieHeaderVersion              : 0
CreateDate                      : 0000:00:00 00:00:00
ModifyDate                      : 0000:00:00 00:00:00
TimeScale                       : 1000
Duration                        : 0:12:14
PreferredRate                   : 1
PreferredVolume                 : 100.00%
MatrixStructure                 : 1 0 0 0 1 0 0 0 1
PreviewTime                     : 0 s
PreviewDuration                 : 0 s
PosterTime                      : 0 s
SelectionTime                   : 0 s
SelectionDuration               : 0 s
CurrentTime                     : 0 s
NextTrackID                     : 11
---- Track1 ----
TrackHeaderVersion              : 0
TrackCreateDate                 : 0000:00:00 00:00:00
TrackModifyDate                 : 0000:00:00 00:00:00
TrackID                         : 1
TrackDuration                   : 0:12:14
TrackLayer                      : 0
TrackVolume                     : 0.00%
MatrixStructure                 : 1 0 0 0 1 0 0 0 1
ImageWidth                      : 1920
ImageHeight                     : 1080
Unknown_edts                    : (Binary data 28 bytes, use -b option to extract)
TimeCode                        : 10
MediaHeaderVersion              : 0
MediaCreateDate                 : 0000:00:00 00:00:00
MediaModifyDate                 : 0000:00:00 00:00:00
MediaTimeScale                  : 24000
MediaDuration                   : 0:12:14
MediaLanguageCode               : Unknown (32767)
HandlerClass                    : Media Handler
HandlerType                     : Video Track
HandlerDescription              : VideoHandler
GraphicsMode                    : srcCopy
OpColor                         : 0 0 0
HandlerClass                    : Data Handler
HandlerType                     : URL
HandlerDescription              : DataHandler
CompressorID                    : apch
VendorID                        : FFmpeg
SourceImageWidth                : 1920
SourceImageHeight               : 1080
XResolution                     : 72
YResolution                     : 72
CompressorName                  : Lavc59.37.100 prores_ks
BitDepth                        : 24
VideoFieldOrder                 : Progressive; 0
ColorRepresentation             : nclc 1 1 1
PixelAspectRatio                : 1:1
VideoFrameRate                  : 23.976
SampleToChunk                   : (Binary data 20 bytes, use -b option to extract)
SampleSizes                     : (Binary data 70420 bytes, use -b option to extract)
ChunkOffset64                   : (Binary data 140824 bytes, use -b option to extract)
---- Track2 ----
TrackHeaderVersion              : 0
TrackCreateDate                 : 0000:00:00 00:00:00
TrackModifyDate                 : 0000:00:00 00:00:00
TrackID                         : 2
TrackDuration                   : 0:12:14
TrackLayer                      : 0
TrackVolume                     : 100.00%
MatrixStructure                 : 1 0 0 0 1 0 0 0 1
Unknown_edts                    : (Binary data 28 bytes, use -b option to extract)
MediaHeaderVersion              : 0
MediaCreateDate                 : 0000:00:00 00:00:00
MediaModifyDate                 : 0000:00:00 00:00:00
MediaTimeScale                  : 44100
MediaDuration                   : 0:12:14
MediaLanguageCode               : Unknown (32767)
HandlerClass                    : Media Handler
HandlerType                     : Audio Track
HandlerDescription              : SoundHandler
Balance                         : 0
HandlerClass                    : Data Handler
HandlerType                     : URL
HandlerDescription              : DataHandler
AudioFormat                     : in24
AudioChannels                   : 1
AudioBitsPerSample              : 16
AudioSampleRate                 : 44100
PurchaseFileFormat              : in24
Endianness                      : Little-endian (Intel, II)
LayoutFlags                     : UseBitmap
AudioChannelTypes               : Left
NumChannelDescriptions          : 0
TimeToSampleTable               : (Binary data 16 bytes, use -b option to extract)
SampleToChunk                   : (Binary data 20 bytes, use -b option to extract)
SampleSizes                     : (Binary data 12 bytes, use -b option to extract)
ChunkOffset64                   : (Binary data 252952 bytes, use -b option to extract)
---- Track3 ----
TrackHeaderVersion              : 0
TrackCreateDate                 : 0000:00:00 00:00:00
TrackModifyDate                 : 0000:00:00 00:00:00
TrackID                         : 3
TrackDuration                   : 0:12:14
TrackLayer                      : 0
TrackVolume                     : 100.00%
MatrixStructure                 : 1 0 0 0 1 0 0 0 1
Unknown_edts                    : (Binary data 28 bytes, use -b option to extract)
MediaHeaderVersion              : 0
MediaCreateDate                 : 0000:00:00 00:00:00
MediaModifyDate                 : 0000:00:00 00:00:00
MediaTimeScale                  : 44100
MediaDuration                   : 0:12:14
MediaLanguageCode               : Unknown (32767)
HandlerClass                    : Media Handler
HandlerType                     : Audio Track
HandlerDescription              : SoundHandler
Balance                         : 0
HandlerClass                    : Data Handler
HandlerType                     : URL
HandlerDescription              : DataHandler
AudioFormat                     : in24
AudioChannels                   : 1
AudioBitsPerSample              : 16
AudioSampleRate                 : 44100
PurchaseFileFormat              : in24
Endianness                      : Little-endian (Intel, II)
LayoutFlags                     : UseBitmap
AudioChannelTypes               : Right
NumChannelDescriptions          : 0
TimeToSampleTable               : (Binary data 16 bytes, use -b option to extract)
SampleToChunk                   : (Binary data 20 bytes, use -b option to extract)
SampleSizes                     : (Binary data 12 bytes, use -b option to extract)
ChunkOffset64                   : (Binary data 252952 bytes, use -b option to extract)
---- Track4 ----
TrackHeaderVersion              : 0
TrackCreateDate                 : 0000:00:00 00:00:00
TrackModifyDate                 : 0000:00:00 00:00:00
TrackID                         : 4
TrackDuration                   : 0:12:14
TrackLayer                      : 0
TrackVolume                     : 100.00%
MatrixStructure                 : 1 0 0 0 1 0 0 0 1
Unknown_edts                    : (Binary data 28 bytes, use -b option to extract)
MediaHeaderVersion              : 0
MediaCreateDate                 : 0000:00:00 00:00:00
MediaModifyDate                 : 0000:00:00 00:00:00
MediaTimeScale                  : 44100
MediaDuration                   : 0:12:14
MediaLanguageCode               : Unknown (32767)
HandlerClass                    : Media Handler
HandlerType                     : Audio Track
HandlerDescription              : SoundHandler
Balance                         : 0
HandlerClass                    : Data Handler
HandlerType                     : URL
HandlerDescription              : DataHandler
AudioFormat                     : in24
AudioChannels                   : 1
AudioBitsPerSample              : 16
AudioSampleRate                 : 44100
PurchaseFileFormat              : in24
Endianness                      : Little-endian (Intel, II)
LayoutFlags                     : UseDescriptions
TimeToSampleTable               : (Binary data 16 bytes, use -b option to extract)
SampleToChunk                   : (Binary data 20 bytes, use -b option to extract)
SampleSizes                     : (Binary data 12 bytes, use -b option to extract)
ChunkOffset64                   : (Binary data 252952 bytes, use -b option to extract)
---- Track5 ----
TrackHeaderVersion              : 0
TrackCreateDate                 : 0000:00:00 00:00:00
TrackModifyDate                 : 0000:00:00 00:00:00
TrackID                         : 5
TrackDuration                   : 0:12:14
TrackLayer                      : 0
TrackVolume                     : 100.00%
MatrixStructure                 : 1 0 0 0 1 0 0 0 1
Unknown_edts                    : (Binary data 28 bytes, use -b option to extract)
MediaHeaderVersion              : 0
MediaCreateDate                 : 0000:00:00 00:00:00
MediaModifyDate                 : 0000:00:00 00:00:00
MediaTimeScale                  : 44100
MediaDuration                   : 0:12:14
MediaLanguageCode               : Unknown (32767)
HandlerClass                    : Media Handler
HandlerType                     : Audio Track
HandlerDescription              : SoundHandler
Balance                         : 0
HandlerClass                    : Data Handler
HandlerType                     : URL
HandlerDescription              : DataHandler
AudioFormat                     : in24
AudioChannels                   : 1
AudioBitsPerSample              : 16
AudioSampleRate                 : 44100
PurchaseFileFormat              : in24
Endianness                      : Little-endian (Intel, II)
LayoutFlags                     : UseBitmap
AudioChannelTypes               : LFEScreen
NumChannelDescriptions          : 0
TimeToSampleTable               : (Binary data 16 bytes, use -b option to extract)
SampleToChunk                   : (Binary data 20 bytes, use -b option to extract)
SampleSizes                     : (Binary data 12 bytes, use -b option to extract)
ChunkOffset64                   : (Binary data 252952 bytes, use -b option to extract)
---- Track6 ----
TrackHeaderVersion              : 0
TrackCreateDate                 : 0000:00:00 00:00:00
TrackModifyDate                 : 0000:00:00 00:00:00
TrackID                         : 6
TrackDuration                   : 0:12:14
TrackLayer                      : 0
TrackVolume                     : 100.00%
MatrixStructure                 : 1 0 0 0 1 0 0 0 1
Unknown_edts                    : (Binary data 28 bytes, use -b option to extract)
MediaHeaderVersion              : 0
MediaCreateDate                 : 0000:00:00 00:00:00
MediaModifyDate                 : 0000:00:00 00:00:00
MediaTimeScale                  : 44100
MediaDuration                   : 0:12:14
MediaLanguageCode               : Unknown (32767)
HandlerClass                    : Media Handler
HandlerType                     : Audio Track
HandlerDescription              : SoundHandler
Balance                         : 0
HandlerClass                    : Data Handler
HandlerType                     : URL
HandlerDescription              : DataHandler
AudioFormat                     : in24
AudioChannels                   : 1
AudioBitsPerSample              : 16
AudioSampleRate                 : 44100
PurchaseFileFormat              : in24
Endianness                      : Little-endian (Intel, II)
LayoutFlags                     : UseBitmap
AudioChannelTypes               : LeftSurround
NumChannelDescriptions          : 0
TimeToSampleTable               : (Binary data 16 bytes, use -b option to extract)
SampleToChunk                   : (Binary data 20 bytes, use -b option to extract)
SampleSizes                     : (Binary data 12 bytes, use -b option to extract)
ChunkOffset64                   : (Binary data 252952 bytes, use -b option to extract)
---- Track7 ----
TrackHeaderVersion              : 0
TrackCreateDate                 : 0000:00:00 00:00:00
TrackModifyDate                 : 0000:00:00 00:00:00
TrackID                         : 7
TrackDuration                   : 0:12:14
TrackLayer                      : 0
TrackVolume                     : 100.00%
MatrixStructure                 : 1 0 0 0 1 0 0 0 1
Unknown_edts                    : (Binary data 28 bytes, use -b option to extract)
MediaHeaderVersion              : 0
MediaCreateDate                 : 0000:00:00 00:00:00
MediaModifyDate                 : 0000:00:00 00:00:00
MediaTimeScale                  : 44100
MediaDuration                   : 0:12:14
MediaLanguageCode               : Unknown (32767)
HandlerClass                    : Media Handler
HandlerType                     : Audio Track
HandlerDescription              : SoundHandler
Balance                         : 0
HandlerClass                    : Data Handler
HandlerType                     : URL
HandlerDescription              : DataHandler
AudioFormat                     : in24
AudioChannels                   : 1
AudioBitsPerSample              : 16
AudioSampleRate                 : 44100
PurchaseFileFormat              : in24
Endianness                      : Little-endian (Intel, II)
LayoutFlags                     : UseBitmap
AudioChannelTypes               : RightSurround
NumChannelDescriptions          : 0
TimeToSampleTable               : (Binary data 16 bytes, use -b option to extract)
SampleToChunk                   : (Binary data 20 bytes, use -b option to extract)
SampleSizes                     : (Binary data 12 bytes, use -b option to extract)
ChunkOffset64                   : (Binary data 252952 bytes, use -b option to extract)
---- Track8 ----
TrackHeaderVersion              : 0
TrackCreateDate                 : 0000:00:00 00:00:00
TrackModifyDate                 : 0000:00:00 00:00:00
TrackID                         : 8
TrackDuration                   : 0:12:14
TrackLayer                      : 0
TrackVolume                     : 100.00%
MatrixStructure                 : 1 0 0 0 1 0 0 0 1
Unknown_edts                    : (Binary data 28 bytes, use -b option to extract)
MediaHeaderVersion              : 0
MediaCreateDate                 : 0000:00:00 00:00:00
MediaModifyDate                 : 0000:00:00 00:00:00
MediaTimeScale                  : 44100
MediaDuration                   : 0:12:14
MediaLanguageCode               : Unknown (32767)
HandlerClass                    : Media Handler
HandlerType                     : Audio Track
HandlerDescription              : SoundHandler
Balance                         : 0
HandlerClass                    : Data Handler
HandlerType                     : URL
HandlerDescription              : DataHandler
AudioFormat                     : in24
AudioChannels                   : 1
AudioBitsPerSample              : 16
AudioSampleRate                 : 44100
PurchaseFileFormat              : in24
Endianness                      : Little-endian (Intel, II)
LayoutFlags                     : UseBitmap
AudioChannelTypes               : Left
NumChannelDescriptions          : 0
TimeToSampleTable               : (Binary data 16 bytes, use -b option to extract)
SampleToChunk                   : (Binary data 20 bytes, use -b option to extract)
SampleSizes                     : (Binary data 12 bytes, use -b option to extract)
ChunkOffset64                   : (Binary data 224824 bytes, use -b option to extract)
---- Track9 ----
TrackHeaderVersion              : 0
TrackCreateDate                 : 0000:00:00 00:00:00
TrackModifyDate                 : 0000:00:00 00:00:00
TrackID                         : 9
TrackDuration                   : 0:12:14
TrackLayer                      : 0
TrackVolume                     : 100.00%
MatrixStructure                 : 1 0 0 0 1 0 0 0 1
Unknown_edts                    : (Binary data 28 bytes, use -b option to extract)
MediaHeaderVersion              : 0
MediaCreateDate                 : 0000:00:00 00:00:00
MediaModifyDate                 : 0000:00:00 00:00:00
MediaTimeScale                  : 44100
MediaDuration                   : 0:12:14
MediaLanguageCode               : Unknown (32767)
HandlerClass                    : Media Handler
HandlerType                     : Audio Track
HandlerDescription              : SoundHandler
Balance                         : 0
HandlerClass                    : Data Handler
HandlerType                     : URL
HandlerDescription              : DataHandler
AudioFormat                     : in24
AudioChannels                   : 1
AudioBitsPerSample              : 16
AudioSampleRate                 : 44100
PurchaseFileFormat              : in24
Endianness                      : Little-endian (Intel, II)
LayoutFlags                     : UseBitmap
AudioChannelTypes               : Right
NumChannelDescriptions          : 0
TimeToSampleTable               : (Binary data 16 bytes, use -b option to extract)
SampleToChunk                   : (Binary data 20 bytes, use -b option to extract)
SampleSizes                     : (Binary data 12 bytes, use -b option to extract)
ChunkOffset64                   : (Binary data 224824 bytes, use -b option to extract)
---- Track10 ----
TrackHeaderVersion              : 0
TrackCreateDate                 : 0000:00:00 00:00:00
TrackModifyDate                 : 0000:00:00 00:00:00
TrackID                         : 10
TrackDuration                   : 0:12:14
TrackLayer                      : 0
TrackVolume                     : 0.00%
MatrixStructure                 : 1 0 0 0 1 0 0 0 1
Unknown_edts                    : (Binary data 28 bytes, use -b option to extract)
MediaHeaderVersion              : 0
MediaCreateDate                 : 0000:00:00 00:00:00
MediaModifyDate                 : 0000:00:00 00:00:00
MediaTimeScale                  : 24000
MediaDuration                   : 0:12:14
HandlerClass                    : Media Handler
HandlerType                     : Time Code
HandlerDescription              : TimeCodeHandler
GenMediaVersion                 : 0
GenFlags                        : 0 0 0
GenGraphicsMode                 : ditherCopy
GenOpColor                      : 32768 32768 32768
GenBalance                      : 0
Text                            : (Binary data 36 bytes, use -b option to extract)
TextFont                        : System
TextFace                        : Plain
TextSize                        : 12
TextColor                       : 0 0 0
BackgroundColor                 : 65535 65535 65535
FontName                        : Lucida Grande
HandlerClass                    : Data Handler
HandlerType                     : URL
HandlerDescription              : DataHandler
OtherFormat                     : tmcd
TimeToSampleTable               : (Binary data 16 bytes, use -b option to extract)
SampleToChunk                   : (Binary data 20 bytes, use -b option to extract)
SampleSizes                     : (Binary data 12 bytes, use -b option to extract)
ChunkOffset                     : (Binary data 12 bytes, use -b option to extract)
---- UserData ----
SoftwareVersion                 : Lavf59.27.100
---- Composite ----
ImageSize                       : 1920x1080
Megapixels                      : 2.1
AvgBitrate                      : 139 Mbps
Rotation                        : 0
me@me01-mac ~ %

What I am trying to do is only modify: "AudioChannels", "AudioChannelTypes", NumChannelDescriptions". Also, want to add: "MediaLanguageCode","Track*Name".

Reading up on: Audio Descriptors, I see the values I need so that's not an issue.

Me thinks it would be something like:

exiftool -m -overwrite_original_in_place -Track2:AudioChannelTypes='Bit 3' /Users/meme/Desktop/tears_of_steel_1080p_Master_ffmpeg_v7.mov
This is the above output:
Last login: Thu Sep  8 23:14:59 on ttys005
me@me01-mac ~ % exiftool -m -overwrite_original_in_place -Track2:AudioChannelTypes='Bit 3' /Users/meme/Desktop/tears_of_steel_1080p_Master_ffmpeg_v7.mov

Warning: Sorry, Track2:AudioChannelTypes doesn't exist or isn't writable
Nothing to do.
me@me01-mac ~ %

However, it seems that I cannot modify/write on these atoms.

Is there anyway around this?
 

StarGeek

Look up the tags you want to write on the Quicktime tags page.  One of the columns will tell you if the tag is writable or not.  For example, AudioChannelTypes is listed as not writable.

Exiftool primarily can only write to tags that are part of the video header. There are only a few track specific tags that exiftool can write, mostly time related ones.

You probably have to look into another program.  FFMpeg, MP4Box, and MP3Tag (despite the name, it can write to MP4/MKV files) are options to look into.
"It didn't work" isn't helpful. What was the exact command used and the output.
Read FAQ #3 and use that cmd
Please use the Code button for exiftool output

Please include your OS/Exiftool version/filetype