0

I am studying on the source identification of video files especially about those from smartphones.

I got to know that the values in avcC box in .mp4 video files have the encoding options(h.264) which decoder must know when processing the encoded stream.

And I guess most of the smartphone uses the customized FFmpeg to encode the raw stream. I want to know if the values in the avcC box are affected only by the version of FFmpeg(if not customized version is used).

I didn't delve into this but think that the libavcodec.so in FFmpeg fill the values in avcC box when doing encoding(is this right?).

So what I want to ask is if two different smartphones use the same libavcodec.so(even in the case whether other .so files, .apk file used for the recording, etc are different) and two video files which have the same resolution were filmed from each smartphone, do the values in avcC box the same? I think this question may equal to "are the values in avcC box affected by other FFmpeg library or other layers in overall Android framework"?

++ there is one more question! Is there any case that two videos which have same resolution from the same smartphone have different values in avcC box? (I suggest the the difference of encoding option originating from low-battery mode, execution conditions of other apps, etc and if any core developer customize FFmpeg for that.)

It would be a great help if anyone let me know the answer~!

a man
  • 1
  • 2
  • What do you mean by "the customized FFmpeg". What customized FFmpeg? – szatmary Nov 05 '15 at 18:16
  • Thank your for you answer! Customized FFmpeg means that the libraries in FFmpeg that was changed a little for each vendor's purpose(I guess?!) – a man Nov 06 '15 at 04:17
  • And do you know what does the PPS, SPS Nal unit in avcC box mean? For example, the number of SPS is written as 225 in avcC box then which SPS nal unit does the SPS nal unit value written in avcC box mean? Does it mean that there are 225 different SPS Nal units to select when encoding and this video was encoded using the SPS Nal unit value writeen in avcC box or there are the same 255 SPS NAL Units in this video file~?(I guess the former one is right becuase the number of sps nal unit value in avcC box does not change in much longer video.) – a man Nov 06 '15 at 04:27

1 Answers1

1

the avcC box contains the out of band extradata for the AVC stream. This stores way more than just resolution, such as profile, level, entropy encoding mode, color space information, etc. This is a standard, ffmpeg just implements that standard. iPhones for example produce perfectly valid mp4 file and do not use libav* / ffmpeg. See exactly what is is the avcC box here Possible Locations for Sequence/Picture Parameter Set(s) for H.264 Stream

Community
  • 1
  • 1
szatmary
  • 29,969
  • 8
  • 44
  • 57