What are the additional data streams in Google Pixels MP4 videos?
3
votes
0
answers
98
views
Almost by accident I stumpled about 3 additional streams that are stored within the
I assume there is more info stored in the data streams, yet I this is still unclear and the hope is an answer to this question could provide some insight here :).
*.mp4
video files my google Pixle 7a makes.
This is what is reported about them
[alex@thinkbox ffmpeg]$ nn.ffmpeg -i PXL_20241011_171852306.LS.mp4 |& grep 'Stream #0'
Stream #0:0[0x1](eng): Video: hevc (Main) (hvc1 / 0x31637668), yuvj420p(pc, bt709), 1920x1080, 11870 kb/s, SAR 1:1 DAR 16:9, 24.72 fps, 24.75 tbr, 90k tbn (default)
Stream #0:1[0x2](eng): Data: none (mett / 0x7474656D), 1650 kb/s (default)
Stream #0:2[0x3](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s (default)
Stream #0:3[0x4](eng): Data: none (mett / 0x7474656D), 89 kb/s (default)
Stream #0:4[0x5](eng): Data: none (mett / 0x7474656D) (default)
I am very curious to know what they are. In particular stream #0:1 with its larger 1650 kb/s
?
I exported the stream to a file that starts like this
[alex@thinkbox ffmpeg]$ xxd stream_data.txt | head -n 30
00000000: 2111 4500 1450 0146 fff1 0a5a 5a5a 5a5a !.E..P.F...ZZZZZ
00000010: 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a ZZZZZZZZZZZZZZZZ
00000020: 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a ZZZZZZZZZZZZZZZZ
00000030: 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a ZZZZZZZZZZZZZZZZ
00000040: 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a ZZZZZZZZZZZZZZZZ
00000050: 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a ZZZZZZZZZZZZZZZZ
00000060: 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a ZZZZZZZZZZZZZZZZ
00000070: 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a ZZZZZZZZZZZZZZZZ
00000080: 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a ZZZZZZZZZZZZZZZZ
00000090: 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a ZZZZZZZZZZZZZZZZ
000000a0: 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a ZZZZZZZZZZZZZZZZ
000000b0: 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a ZZZZZZZZZZZZZZZZ
000000c0: 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a ZZZZZZZZZZZZZZZZ
000000d0: 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a ZZZZZZZZZZZZZZZZ
000000e0: 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a ZZZZZZZZZZZZZZZZ
000000f0: 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a ZZZZZZZZZZZZZZZZ
00000100: 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a ZZZZZZZZZZZZZZZZ
00000110: 5a5a 5a5a 5a5a 5de5 c214 b4b4 b4b4 b4b4 ZZZZZZ].........
00000120: b4b4 b4b4 b4b4 b4b4 b4b4 b4b4 b4b4 b4b4 ................
00000130: b4b4 b4b4 b4b4 b4b4 b4b4 b4b4 b4b4 b4b4 ................
00000140: b4b4 b4b4 b4b4 b4b4 b4b4 b4b4 b4b4 b4b4 ................
00000150: b4b4 b4b4 bc21 1145 0014 5001 46ff f10a .....!.E..P.F...
00000160: 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a ZZZZZZZZZZZZZZZZ
I was yet unable to find some insight. Given the nameng "Google and Pixel" it is also kind of challenging to "google" information about "pixel mp4" video files....
## (some) more info ##
I have been able to use adb
and ffmpeg
to do the following:
1. use ffmpeg to remove "data streams"
nn.ffmpeg -i PXL_20241011_171852306.LS.mp4 -map 0 -map -0:d -c copy PXL_20241011_171852306.LS.no.data.mp4
which removed all but the audio and video data.
it reduced the size of the video (21 seconds of FHD resolution) from 37MiB to 32MiB
2. use adb push
to push a)
the created file ....no.data.mp4
and also b)
an exact copy of the original file named ...copy.mp4
back to the Google Pixel 7a
3. On the phone I used the "file manager app" to create two copies of the files inside the /sdcard/Pictures
folder (as only this way the files appeared in the "Google Photos app"
This showed that the copy shows "equal as the original video mp4 file" while the ....no.data.mp4
version has the following differences (prosummed to be hence in the data streams):
* the date the video was taken is gone it is shown by the file modification date (i.e. file's unix mtime
)
* the "Shots available" is gone 
Asked by humanityANDpeace
(807 rep)
Oct 12, 2024, 08:41 AM
Last activity: Oct 12, 2024, 10:35 AM
Last activity: Oct 12, 2024, 10:35 AM