Sample Header Ad - 728x90

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 *.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 no more shots available info 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 :).
Asked by humanityANDpeace (807 rep)
Oct 12, 2024, 08:41 AM
Last activity: Oct 12, 2024, 10:35 AM