Recherche avancée

Médias (91)

Autres articles (106)

  • Soumettre bugs et patchs

    10 avril 2011

    Un logiciel n’est malheureusement jamais parfait...
    Si vous pensez avoir mis la main sur un bug, reportez le dans notre système de tickets en prenant bien soin de nous remonter certaines informations pertinentes : le type de navigateur et sa version exacte avec lequel vous avez l’anomalie ; une explication la plus précise possible du problème rencontré ; si possibles les étapes pour reproduire le problème ; un lien vers le site / la page en question ;
    Si vous pensez avoir résolu vous même le bug (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

Sur d’autres sites (8470)

  • Ffmpeg - Reading header information takes too long

    13 mars 2023, par Md Yeamin

    I am using ffmpeg-kit to encode videos on android devices. For some files ffmpeg takes too long to read the header information. This issue happens very randomly. Sometime the execution completes within 1 or 2 seconds, sometime it takes longer than 10 seconds to complete, for the file linked below.

    


    I have build ffmpeg to log some additional info to figure out the root cause. There is a 10s gap between the log output at 15:17:02.276 and 15:17:12.909 (added a separator for quick find). After completion of the mov_read_ftyp there is a long delay before the mov_read_dref method starts the execution. Is there any other method that executed in between and could take this much long time to complete the execution ? What could be the reason behind the delay ?

    


    Here is detailed log about the issue.

    


    Log :

    


    2023-03-12 15:17:02.096 :: ffmpeg-kit-debug: execute:
2023-03-12 15:17:02.116 :: ffmpeg-kit-debug: LogCallback: setjmp
2023-03-12 15:17:02.120 :: ffmpeg-kit-debug: LogCallback: setjmp done
2023-03-12 15:17:02.124 :: ffmpeg-kit-debug: LogCallback: ffmpeg_var_cleanup
2023-03-12 15:17:02.127 :: ffmpeg-kit-debug: LogCallback: ffmpeg_var_cleanup done
2023-03-12 15:17:02.132 :: ffmpeg-kit-debug: LogCallback: init_dynload
2023-03-12 15:17:02.135 :: ffmpeg-kit-debug: LogCallback: init_dynload done
2023-03-12 15:17:02.137 :: ffmpeg-kit-debug: LogCallback: register_exit
2023-03-12 15:17:02.141 :: ffmpeg-kit-debug: LogCallback: register_exit done
2023-03-12 15:17:02.144 :: ffmpeg-kit-debug: LogCallback: avdevice_register_all
2023-03-12 15:17:02.151 :: ffmpeg-kit-debug: LogCallback: avdevice_register_all done
2023-03-12 15:17:02.155 :: ffmpeg-kit-debug: LogCallback: avformat_network_init
2023-03-12 15:17:02.159 :: ffmpeg-kit-debug: LogCallback: avformat_network_init done
2023-03-12 15:17:02.163 :: ffmpeg-kit-debug: LogCallback: show_banner
2023-03-12 15:17:02.165 :: ffmpeg-kit-debug: LogCallback: show_banner done
2023-03-12 15:17:02.169 :: ffmpeg-kit-debug: LogCallback: ffmpeg_parse_options
2023-03-12 15:17:02.172 :: ffmpeg-kit-debug: LogCallback: allocating memory
2023-03-12 15:17:02.176 :: ffmpeg-kit-debug: LogCallback: split_commandline
2023-03-12 15:17:02.179 :: ffmpeg-kit-debug: LogCallback: Splitting the commandline.

2023-03-12 15:17:02.182 :: ffmpeg-kit-debug: LogCallback: Reading option '-hide_banner' ...
2023-03-12 15:17:02.184 :: ffmpeg-kit-debug: LogCallback:  matched as option 'hide_banner' (do not show program banner) with argument '1'.

2023-03-12 15:17:02.187 :: ffmpeg-kit-debug: LogCallback: Reading option '-y' ...
2023-03-12 15:17:02.189 :: ffmpeg-kit-debug: LogCallback:  matched as option 'y' (overwrite output files) with argument '1'.

2023-03-12 15:17:02.193 :: ffmpeg-kit-debug: LogCallback: Reading option '-i' ...
2023-03-12 15:17:02.197 :: ffmpeg-kit-debug: LogCallback:  matched as input url with argument 'saf:6.MP4'.

2023-03-12 15:17:02.199 :: ffmpeg-kit-debug: LogCallback: Finished splitting the commandline.

2023-03-12 15:17:02.202 :: ffmpeg-kit-debug: LogCallback: split_commandline done
2023-03-12 15:17:02.203 :: ffmpeg-kit-debug: LogCallback: parse_optgroup
2023-03-12 15:17:02.205 :: ffmpeg-kit-debug: LogCallback: Parsing a group of options: global .

2023-03-12 15:17:02.207 :: ffmpeg-kit-debug: LogCallback: Applying option hide_banner (do not show program banner) with argument 1.

2023-03-12 15:17:02.210 :: ffmpeg-kit-debug: LogCallback: Applying option y (overwrite output files) with argument 1.

2023-03-12 15:17:02.212 :: ffmpeg-kit-debug: LogCallback: Successfully parsed a group of options.

2023-03-12 15:17:02.217 :: ffmpeg-kit-debug: LogCallback: parse_optgroup done
2023-03-12 15:17:02.220 :: ffmpeg-kit-debug: LogCallback: term_init
2023-03-12 15:17:02.224 :: ffmpeg-kit-debug: LogCallback: term_init done
2023-03-12 15:17:02.226 :: ffmpeg-kit-debug: LogCallback: open_files INPUT
2023-03-12 15:17:02.228 :: ffmpeg-kit-debug: LogCallback: Parsing a group of options: input url saf:6.MP4.

2023-03-12 15:17:02.232 :: ffmpeg-kit-debug: LogCallback: Successfully parsed a group of options.

2023-03-12 15:17:02.236 :: ffmpeg-kit-debug: LogCallback: Opening an input file: saf:6.MP4.

2023-03-12 15:17:02.239 :: ffmpeg-kit-debug: LogCallback: [NULL @ 0xb40000730dd9dbf0] Opening 'saf:6.MP4' for reading

2023-03-12 15:17:02.243 :: ffmpeg-kit-debug: LogCallback: [saf @ 0xb40000728de0ca10] Setting default whitelist 'saf,crypto,data'

2023-03-12 15:17:02.245 :: ffmpeg-kit-debug: LogCallback: fd_open start
2023-03-12 15:17:02.248 :: ffmpeg-kit-debug: LogCallback: fd_open opening
2023-03-12 15:17:02.252 :: ffmpeg-kit-debug: LogCallback: fd_open opened
2023-03-12 15:17:02.255 :: ffmpeg-kit-debug: LogCallback: mov_probe
2023-03-12 15:17:02.257 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100

2023-03-12 15:17:02.260 :: ffmpeg-kit-debug: LogCallback: mov_read_header
2023-03-12 15:17:02.264 :: ffmpeg-kit-debug: LogCallback: mov_read_header seeking
2023-03-12 15:17:02.268 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] ISO: File Type Major Brand: mp41

2023-03-12 15:17:02.270 :: ffmpeg-kit-debug: LogCallback: mov_read_ftyp dict set
2023-03-12 15:17:02.273 :: ffmpeg-kit-debug: LogCallback: mov_read_ftyp mov_aaxc_crypto before
2023-03-12 15:17:02.276 :: ffmpeg-kit-debug: LogCallback: mov_read_ftyp mov_aaxc_crypto done
-----------------------------------------------------------------------------------------------
2023-03-12 15:17:12.909 :: ffmpeg-kit-debug: LogCallback: mov_read_dref started
2023-03-12 15:17:12.911 :: ffmpeg-kit-debug: LogCallback: mov_read_dref check entries
2023-03-12 15:17:12.915 :: ffmpeg-kit-debug: LogCallback: mov_read_dref drefs_count 0 
2023-03-12 15:17:12.918 :: ffmpeg-kit-debug: LogCallback: mov_read_dref av_free sc->drefs
2023-03-12 15:17:12.920 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] Unknown dref type 0x73696c61 size 12

2023-03-12 15:17:12.923 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] Processing st: 0, edit list 0 - media time: 0, duration: 39436397

2023-03-12 15:17:12.925 :: ffmpeg-kit-debug: LogCallback: mov_read_dref started
2023-03-12 15:17:12.931 :: ffmpeg-kit-debug: LogCallback: mov_read_dref check entries
2023-03-12 15:17:12.935 :: ffmpeg-kit-debug: LogCallback: mov_read_dref drefs_count 0 
2023-03-12 15:17:12.938 :: ffmpeg-kit-debug: LogCallback: mov_read_dref av_free sc->drefs
2023-03-12 15:17:12.945 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] Unknown dref type 0x73696c61 size 12

2023-03-12 15:17:12.951 :: ffmpeg-kit-debug: LogCallback: mov_read_dref started
2023-03-12 15:17:12.958 :: ffmpeg-kit-debug: LogCallback: mov_read_dref check entries
2023-03-12 15:17:12.965 :: ffmpeg-kit-debug: LogCallback: mov_read_dref drefs_count 0 
2023-03-12 15:17:12.971 :: ffmpeg-kit-debug: LogCallback: mov_read_dref av_free sc->drefs
2023-03-12 15:17:12.975 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] Unknown dref type 0x73696c61 size 12

2023-03-12 15:17:12.978 :: ffmpeg-kit-debug: LogCallback: mov_read_dref started
2023-03-12 15:17:12.985 :: ffmpeg-kit-debug: LogCallback: mov_read_dref check entries
2023-03-12 15:17:12.988 :: ffmpeg-kit-debug: LogCallback: mov_read_dref drefs_count 0 
2023-03-12 15:17:12.990 :: ffmpeg-kit-debug: LogCallback: mov_read_dref av_free sc->drefs
2023-03-12 15:17:12.992 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] Unknown dref type 0x73696c61 size 12

2023-03-12 15:17:12.994 :: ffmpeg-kit-debug: LogCallback: mov_read_dref started
2023-03-12 15:17:12.996 :: ffmpeg-kit-debug: LogCallback: mov_read_dref check entries
2023-03-12 15:17:12.997 :: ffmpeg-kit-debug: LogCallback: mov_read_dref drefs_count 0 
2023-03-12 15:17:12.999 :: ffmpeg-kit-debug: LogCallback: mov_read_dref av_free sc->drefs
2023-03-12 15:17:13.002 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] Unknown dref type 0x73696c61 size 12

2023-03-12 15:17:13.003 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] All samples in data stream index:id [4:5] have zero duration, stream set to be discarded by default. Override using AVStream->discard or -discard for ffmpeg command.

2023-03-12 15:17:13.006 :: ffmpeg-kit-debug: LogCallback: mov_read_header seek done
2023-03-12 15:17:13.008 :: ffmpeg-kit-debug: LogCallback: mov_read_header parse done
2023-03-12 15:17:13.010 :: ffmpeg-kit-debug: LogCallback: mov_read_header trex data read done
2023-03-12 15:17:13.011 :: ffmpeg-kit-debug: LogCallback: mov_read_header bitrate calculation code
2023-03-12 15:17:13.013 :: ffmpeg-kit-debug: LogCallback: mov_read_header fps calculation done
2023-03-12 15:17:13.015 :: ffmpeg-kit-debug: LogCallback: mov_read_header read side data done
2023-03-12 15:17:13.017 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] Before avformat_find_stream_info() pos: 3720541874 bytes read:3720541874 seeks:0 nb_streams:5

2023-03-12 15:17:13.019 :: ffmpeg-kit-debug: LogCallback: [h264 @ 0xb40000731df00bc0] nal_unit_type: 7(SPS), nal_ref_idc: 1

2023-03-12 15:17:13.022 :: ffmpeg-kit-debug: LogCallback: [h264 @ 0xb40000731df00bc0] nal_unit_type: 8(PPS), nal_ref_idc: 1

2023-03-12 15:17:13.024 :: ffmpeg-kit-debug: LogCallback: fd_seek start
2023-03-12 15:17:13.028 :: ffmpeg-kit-debug: LogCallback: fd_seek seeking
2023-03-12 15:17:13.030 :: ffmpeg-kit-debug: LogCallback: fd_seek seek done
2023-03-12 15:17:13.033 :: ffmpeg-kit-debug: LogCallback: [h264 @ 0xb40000731df00bc0] nal_unit_type: 7(SPS), nal_ref_idc: 1

2023-03-12 15:17:13.035 :: ffmpeg-kit-debug: LogCallback: [h264 @ 0xb40000731df00bc0] nal_unit_type: 8(PPS), nal_ref_idc: 1

2023-03-12 15:17:13.038 :: ffmpeg-kit-debug: LogCallback: [h264 @ 0xb40000731df00bc0] nal_unit_type: 9(AUD), nal_ref_idc: 0

2023-03-12 15:17:13.042 :: ffmpeg-kit-debug: LogCallback: [h264 @ 0xb40000731df00bc0] nal_unit_type: 5(IDR), nal_ref_idc: 1

2023-03-12 15:17:13.047 :: ffmpeg-kit-debug: LogCallback: [h264 @ 0xb40000731df00bc0] Format yuvj420p chosen by get_format().

2023-03-12 15:17:13.059 :: ffmpeg-kit-debug: LogCallback: [h264 @ 0xb40000731df00bc0] Reinit context to 1920x1088, pix_fmt: yuvj420p

2023-03-12 15:17:13.066 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] All info found

2023-03-12 15:17:13.071 :: ffmpeg-kit-debug: LogCallback: fd_seek start
2023-03-12 15:17:13.075 :: ffmpeg-kit-debug: LogCallback: fd_seek size check error
2023-03-12 15:17:13.077 :: ffmpeg-kit-debug: LogCallback: fd_seek start
2023-03-12 15:17:13.081 :: ffmpeg-kit-debug: LogCallback: fd_seek size check error
2023-03-12 15:17:13.087 :: ffmpeg-kit-debug: LogCallback: fd_seek start
2023-03-12 15:17:13.090 :: ffmpeg-kit-debug: LogCallback: fd_seek size check error
2023-03-12 15:17:13.093 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] After avformat_find_stream_info() pos: 323745 bytes read:3720930284 seeks:1 frames:3

2023-03-12 15:17:13.096 :: ffmpeg-kit-debug: LogCallback: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'saf:6.MP4':

2023-03-12 15:17:13.099 :: ffmpeg-kit-debug: LogCallback:   Metadata:

2023-03-12 15:17:13.102 :: ffmpeg-kit-debug: LogCallback:     major_brand     : 
2023-03-12 15:17:13.108 :: ffmpeg-kit-debug: LogCallback: mp41
2023-03-12 15:17:13.110 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.113 :: ffmpeg-kit-debug: LogCallback:     minor_version   : 
2023-03-12 15:17:13.115 :: ffmpeg-kit-debug: LogCallback: 538120216
2023-03-12 15:17:13.119 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.121 :: ffmpeg-kit-debug: LogCallback:     compatible_brands: 
2023-03-12 15:17:13.124 :: ffmpeg-kit-debug: LogCallback: mp41
2023-03-12 15:17:13.127 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.129 :: ffmpeg-kit-debug: LogCallback:     creation_time   : 
2023-03-12 15:17:13.132 :: ffmpeg-kit-debug: LogCallback: 2022-02-06T13:53:53.000000Z
2023-03-12 15:17:13.136 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.138 :: ffmpeg-kit-debug: LogCallback:     firmware        : 
2023-03-12 15:17:13.140 :: ffmpeg-kit-debug: LogCallback: HD9.01.01.60.00
2023-03-12 15:17:13.142 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.144 :: ffmpeg-kit-debug: LogCallback:   Duration: 
2023-03-12 15:17:13.146 :: ffmpeg-kit-debug: LogCallback: 00:10:57.27
2023-03-12 15:17:13.149 :: ffmpeg-kit-debug: LogCallback: , start: 
2023-03-12 15:17:13.152 :: ffmpeg-kit-debug: LogCallback: 0.000000
2023-03-12 15:17:13.154 :: ffmpeg-kit-debug: LogCallback: , bitrate: 
2023-03-12 15:17:13.157 :: ffmpeg-kit-debug: LogCallback: 45284 kb/s
2023-03-12 15:17:13.159 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.161 :: ffmpeg-kit-debug: LogCallback:   Chapters:

2023-03-12 15:17:13.164 :: ffmpeg-kit-debug: LogCallback:     Chapter #0:0: 
2023-03-12 15:17:13.166 :: ffmpeg-kit-debug: LogCallback: start 619.735000, 
2023-03-12 15:17:13.169 :: ffmpeg-kit-debug: LogCallback: end 657.273000

2023-03-12 15:17:13.171 :: ffmpeg-kit-debug: LogCallback:   Stream #0:0
2023-03-12 15:17:13.174 :: ffmpeg-kit-debug: LogCallback: [0x1]
2023-03-12 15:17:13.175 :: ffmpeg-kit-debug: LogCallback: (eng)
2023-03-12 15:17:13.177 :: ffmpeg-kit-debug: LogCallback: , 1, 1/60000
2023-03-12 15:17:13.182 :: ffmpeg-kit-debug: LogCallback: : Video: h264, 1 reference frame (avc1 / 0x31637661), yuvj420p(pc, bt709, progressive, left), 1920x1080 (1920x1088) [SAR 1:1 DAR 16:9], 0/1, 45005 kb/s
2023-03-12 15:17:13.185 :: ffmpeg-kit-debug: LogCallback: , 
2023-03-12 15:17:13.189 :: ffmpeg-kit-debug: LogCallback: 59.94 fps, 
2023-03-12 15:17:13.192 :: ffmpeg-kit-debug: LogCallback: 59.94 tbr, 
2023-03-12 15:17:13.194 :: ffmpeg-kit-debug: LogCallback: 60k tbn
2023-03-12 15:17:13.197 :: ffmpeg-kit-debug: LogCallback:  (default)
2023-03-12 15:17:13.199 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.200 :: ffmpeg-kit-debug: LogCallback:     Metadata:

2023-03-12 15:17:13.203 :: ffmpeg-kit-debug: LogCallback:       creation_time   : 
2023-03-12 15:17:13.204 :: ffmpeg-kit-debug: LogCallback: 2022-02-06T13:53:53.000000Z
2023-03-12 15:17:13.206 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.209 :: ffmpeg-kit-debug: LogCallback:       handler_name    : 
2023-03-12 15:17:13.211 :: ffmpeg-kit-debug: LogCallback: GoPro AVC  
2023-03-12 15:17:13.213 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.216 :: ffmpeg-kit-debug: LogCallback:       vendor_id       : 
2023-03-12 15:17:13.219 :: ffmpeg-kit-debug: LogCallback: [0][0][0][0]
2023-03-12 15:17:13.220 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.223 :: ffmpeg-kit-debug: LogCallback:       encoder         : 
2023-03-12 15:17:13.225 :: ffmpeg-kit-debug: LogCallback: GoPro AVC encoder
2023-03-12 15:17:13.227 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.229 :: ffmpeg-kit-debug: LogCallback:   Stream #0:1
2023-03-12 15:17:13.231 :: ffmpeg-kit-debug: LogCallback: [0x2]
2023-03-12 15:17:13.233 :: ffmpeg-kit-debug: LogCallback: (eng)
2023-03-12 15:17:13.236 :: ffmpeg-kit-debug: LogCallback: , 1, 1/48000
2023-03-12 15:17:13.238 :: ffmpeg-kit-debug: LogCallback: : Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s
2023-03-12 15:17:13.240 :: ffmpeg-kit-debug: LogCallback:  (default)
2023-03-12 15:17:13.243 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.244 :: ffmpeg-kit-debug: LogCallback:     Metadata:

2023-03-12 15:17:13.247 :: ffmpeg-kit-debug: LogCallback:       creation_time   : 
2023-03-12 15:17:13.252 :: ffmpeg-kit-debug: LogCallback: 2022-02-06T13:53:53.000000Z
2023-03-12 15:17:13.255 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.257 :: ffmpeg-kit-debug: LogCallback:       handler_name    : 
2023-03-12 15:17:13.259 :: ffmpeg-kit-debug: LogCallback: GoPro AAC  
2023-03-12 15:17:13.262 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.264 :: ffmpeg-kit-debug: LogCallback:       vendor_id       : 
2023-03-12 15:17:13.268 :: ffmpeg-kit-debug: LogCallback: [0][0][0][0]
2023-03-12 15:17:13.271 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.274 :: ffmpeg-kit-debug: LogCallback:   Stream #0:2
2023-03-12 15:17:13.276 :: ffmpeg-kit-debug: LogCallback: [0x3]
2023-03-12 15:17:13.278 :: ffmpeg-kit-debug: LogCallback: (eng)
2023-03-12 15:17:13.280 :: ffmpeg-kit-debug: LogCallback: , 1, 1/60000
2023-03-12 15:17:13.281 :: ffmpeg-kit-debug: LogCallback: : Data: none (tmcd / 0x64636D74), 0/1
2023-03-12 15:17:13.284 :: ffmpeg-kit-debug: LogCallback:  (default)
2023-03-12 15:17:13.288 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.290 :: ffmpeg-kit-debug: LogCallback:     Metadata:

2023-03-12 15:17:13.291 :: ffmpeg-kit-debug: LogCallback:       creation_time   : 
2023-03-12 15:17:13.292 :: ffmpeg-kit-debug: LogCallback: 2022-02-06T13:53:53.000000Z
2023-03-12 15:17:13.294 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.296 :: ffmpeg-kit-debug: LogCallback:       handler_name    : 
2023-03-12 15:17:13.299 :: ffmpeg-kit-debug: LogCallback: GoPro TCD  
2023-03-12 15:17:13.302 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.306 :: ffmpeg-kit-debug: LogCallback:   Stream #0:3
2023-03-12 15:17:13.309 :: ffmpeg-kit-debug: LogCallback: [0x4]
2023-03-12 15:17:13.310 :: ffmpeg-kit-debug: LogCallback: (eng)
2023-03-12 15:17:13.313 :: ffmpeg-kit-debug: LogCallback: , 0, 1/1000
2023-03-12 15:17:13.316 :: ffmpeg-kit-debug: LogCallback: : Data: bin_data (gpmd / 0x646D7067), 0/1, 61 kb/s
2023-03-12 15:17:13.318 :: ffmpeg-kit-debug: LogCallback:  (default)
2023-03-12 15:17:13.320 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.322 :: ffmpeg-kit-debug: LogCallback:     Metadata:

2023-03-12 15:17:13.325 :: ffmpeg-kit-debug: LogCallback:       creation_time   : 
2023-03-12 15:17:13.327 :: ffmpeg-kit-debug: LogCallback: 2022-02-06T13:53:53.000000Z
2023-03-12 15:17:13.329 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.331 :: ffmpeg-kit-debug: LogCallback:       handler_name    : 
2023-03-12 15:17:13.335 :: ffmpeg-kit-debug: LogCallback: GoPro MET  
2023-03-12 15:17:13.337 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.339 :: ffmpeg-kit-debug: LogCallback:   Stream #0:4
2023-03-12 15:17:13.342 :: ffmpeg-kit-debug: LogCallback: [0x5]
2023-03-12 15:17:13.344 :: ffmpeg-kit-debug: LogCallback: (eng)
2023-03-12 15:17:13.345 :: ffmpeg-kit-debug: LogCallback: , 0, 1/60000
2023-03-12 15:17:13.347 :: ffmpeg-kit-debug: LogCallback: : Data: none (fdsc / 0x63736466), 0/1, 13 kb/s
2023-03-12 15:17:13.350 :: ffmpeg-kit-debug: LogCallback:  (default)
2023-03-12 15:17:13.352 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.354 :: ffmpeg-kit-debug: LogCallback:     Metadata:

2023-03-12 15:17:13.356 :: ffmpeg-kit-debug: LogCallback:       creation_time   : 
2023-03-12 15:17:13.359 :: ffmpeg-kit-debug: LogCallback: 2022-02-06T13:53:53.000000Z
2023-03-12 15:17:13.361 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.365 :: ffmpeg-kit-debug: LogCallback:       handler_name    : 
2023-03-12 15:17:13.369 :: ffmpeg-kit-debug: LogCallback: GoPro SOS  
2023-03-12 15:17:13.372 :: ffmpeg-kit-debug: LogCallback: 

2023-03-12 15:17:13.374 :: ffmpeg-kit-debug: LogCallback: Successfully opened the file.

2023-03-12 15:17:13.376 :: ffmpeg-kit-debug: LogCallback: open_files INPUT done
2023-03-12 15:17:13.378 :: ffmpeg-kit-debug: LogCallback: apply_sync_offsets
2023-03-12 15:17:13.382 :: ffmpeg-kit-debug: LogCallback: apply_sync_offsets done
2023-03-12 15:17:13.386 :: ffmpeg-kit-debug: LogCallback: init_complex_filters
2023-03-12 15:17:13.389 :: ffmpeg-kit-debug: LogCallback: init_complex_filters done
2023-03-12 15:17:13.391 :: ffmpeg-kit-debug: LogCallback: open_files OUTPUT
2023-03-12 15:17:13.392 :: ffmpeg-kit-debug: LogCallback: open_files OUTPUT done
2023-03-12 15:17:13.395 :: ffmpeg-kit-debug: LogCallback: check_filter_outputs
2023-03-12 15:17:13.397 :: ffmpeg-kit-debug: LogCallback: check_filter_outputs done
2023-03-12 15:17:13.399 :: ffmpeg-kit-debug: LogCallback: ffmpeg_parse_options done
2023-03-12 15:17:13.402 :: ffmpeg-kit-debug: LogCallback: At least one output file must be specified

2023-03-12 15:17:13.405 :: ffmpeg-kit-debug: LogCallback: [AVIOContext @ 0xb4000072dddd6510] Statistics: 3720930284 bytes read, 1 seeks

2023-03-12 15:17:13.407 :: ffmpeg-kit-debug: LogCallback: fd_close start
2023-03-12 15:17:13.410 :: ffmpeg-kit-debug: LogCallback: fd_close done
2023-03-12 15:17:13.412 :: ffmpeg-kit-debug: LogCallback: setjmp done


    


    Note : I have built ffmpeg-kit with the following script :

    


    #!/bin/bash

export ENCODERS="libvorbis,libvpx_vp8,libvpx_vp9,libx264,libx265,mpeg1video,mpeg2video,mpeg4,flv,wmv1,wmv2,msmpeg4v3,libaom_av1,\
h261,h263,theora,libtheora,png,aac,ac3,alac,libopencore_amrnb,libvo_amrwbenc,eac3,flac,mp2,libtwolame,libmp3lame,libopus,libspeex,wavpack,wmav1,wmav2,pcm_s16le,\
ssa,ass,dvbsub,dvdsub,movtext,srt,subrip,text,ttml,webvtt,xsub"

export SETTINGS="--disable-indevs \
  --enable-pthreads \
  --enable-indev=lavfi \
  --disable-outdevs \
  --disable-protocols \
  --enable-protocol=file,fd,saf,async \
  --disable-encoders \
  --enable-encoder=${ENCODERS}"

export CUSTOM_CONFIG=${SETTINGS}

./android.sh --disable-arm-v7a --disable-arm-v7a-neon --disable-x86 --disable-x86-64 --enable-android-media-codec --enable-android-zlib --enable-chromaprint --enable-dav1d --enable-fontconfig --enable-freetype --enable-fribidi --enable-gmp --enable-gnutls --enable-kvazaar --enable-lame --enable-libaom --enable-libass --enable-libiconv --enable-libilbc --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-opencore-amr --enable-openh264 --enable-opus --enable-sdl --enable-shine --enable-snappy --enable-soxr --enable-speex --enable-tesseract --enable-twolame --enable-vo-amrwbenc --enable-zimg --enable-x264 --enable-x265 --enable-gpl -l


    


    Sample file : https://drive.google.com/file/d/1lvCiOBQqBEnUECn_HJi8qUoaCPCBnkgO/view?usp=share_link

    


    Ffmpeg version : 5.1.

    


  • How to Choose the Optimal Multi-Touch Attribution Model for Your Organisation

    13 mars 2023, par Erin — Analytics Tips

    If you struggle to connect the dots on your customer journeys, you are researching the correct solution. 

    Multi-channel attribution models allow you to better understand the users’ paths to conversion and identify key channels and marketing assets that assist them.

    That said, each attribution model has inherent limitations, which make the selection process even harder.

    This guide explains how to choose the optimal multi-touch attribution model. We cover the pros and cons of popular attribution models, main evaluation criteria and how-to instructions for model implementation. 

    Pros and Cons of Different Attribution Models 

    Types of Attribution Models

    First Interaction 

    First Interaction attribution model (also known as first touch) assigns full credit to the conversion to the first channel, which brought in a lead. However, it doesn’t report other interactions the visitor had before converting.

    Marketers, who are primarily focused on demand generation and user acquisition, find the first touch attribution model useful to evaluate and optimise top-of-the-funnel (ToFU). 

    Pros 

    • Reflects the start of the customer journey
    • Shows channels that bring in the best-qualified leads 
    • Helps track brand awareness campaigns

    Cons 

    • Ignores the impact of later interactions at the middle and bottom of the funnel 
    • Doesn’t provide a full picture of users’ decision-making process 

    Last Interaction 

    Last Interaction attribution model (also known as last touch) shifts the entire credit allocation to the last channel before conversion. But it doesn’t account for the contribution of all other channels. 

    If your focus is conversion optimization, the last-touch model helps you determine which channels, assets or campaigns seal the deal for the prospect. 

    Pros 

    • Reports bottom-of-the-funnel events
    • Requires minimal data and configurations 
    • Helps estimate cost-per-lead or cost-per-acquisition

    Cons 

    • No visibility into assisted conversions and prior visitor interactions 
    • Overemphasise the importance of the last channel (which can often be direct traffic) 

    Last Non-Direct Interaction 

    Last Non-Direct attribution excludes direct traffic from the calculation and assigns the full conversion credit to the preceding channel. For example, a paid ad will receive 100% of credit for conversion if a visitor goes directly to your website to buy a product. 

    Last Non-Direct attribution provides greater clarity into the bottom-of-the-funnel (BoFU). events. Yet, it still under-reports the role other channels played in conversion. 

    Pros 

    • Improved channel visibility, compared to Last-Touch 
    • Avoids over-valuing direct visits
    • Reports on lead-generation efforts

    Cons 

    • Doesn’t work for account-based marketing (ABM) 
    • Devalues the quality over quantity of leads 

    Linear Model

    Linear attribution model assigns equal credit for a conversion to all tracked touchpoints, regardless of their impact on the visitor’s decision to convert.

    It helps you understand the full conversion path. But this model doesn’t distinguish between the importance of lead generation activities versus nurturing touches.

    Pros 

    • Focuses on all touch points associated with a conversion 
    • Reflects more steps in the customer journey 
    • Helps analyse longer sales cycles

    Cons 

    • Doesn’t accurately reflect the varying roles of each touchpoint 
    • Can dilute the credit if too many touchpoints are involved 

    Time Decay Model 

    Time decay models assumes that the closer a touchpoint is to the conversion, the greater its influence. Pre-conversion touchpoints get the highest credit, while the first ones are ranked lower (5%-5%-10%-15%-25%-30%).

    This model better reflects real-life customer journeys. However, it devalues the impact of brand awareness and demand-generation campaigns. 

    Pros 

    • Helps track longer sales cycles and reports on each touchpoint involved 
    • Allows customising the half-life of decay to improve reporting 
    • Promotes conversion optimization at BoFu stages

    Cons 

    • Can prompt marketers to curtail ToFU spending, which would translate to fewer qualified leads at lower stages
    • Doesn’t reflect highly-influential events at earlier stages (e.g., a product demo request or free account registration, which didn’t immediately lead to conversion)

    Position-Based Model 

    Position-Based attribution model (also known as the U-shaped model) allocates the biggest credit to the first and the last interaction (40% each). Then distributes the remaining 20% across other touches. 

    For many marketers, that’s the preferred multi-touch attribution model as it allows optimising both ToFU and BoFU channels. 

    Pros 

    • Helps establish the main channels for lead generation and conversion
    • Adds extra layers of visibility, compared to first- and last-touch attribution models 
    • Promotes budget allocation toward the most strategic touchpoints

    Cons 

    • Diminishes the importance of lead nurturing activities as more credit gets assigned to demand-gen and conversion-generation channels
    • Limited flexibility since it always assigns a fixed amount of credit to the first and last touchpoints, and the remaining credit is divided evenly among the other touchpoints

    How to Choose the Right Multi-Touch Attribution Model For Your Business 

    If you’re deciding which attribution model is best for your business, prepare for a heated discussion. Each one has its trade-offs as it emphasises or devalues the role of different channels and marketing activities.

    To reach a consensus, the best strategy is to evaluate each model against three criteria : Your marketing objectives, sales cycle length and data availability. 

    Marketing Objectives 

    Businesses generate revenue in many ways : Through direct sales, subscriptions, referral fees, licensing agreements, one-off or retainer services. Or any combination of these activities. 

    In each case, your marketing strategy will look different. For example, SaaS and direct-to-consumer (DTC) eCommerce brands have to maximise both demand generation and conversion rates. In contrast, a B2B cybersecurity consulting firm is more interested in attracting qualified leads (as opposed to any type of traffic) and progressively nurturing them towards a big-ticket purchase. 

    When selecting a multi-touch attribution model, prioritise your objectives first. Create a simple scoreboard, where your team ranks various channels and campaign types you rely on to close sales. 

    Alternatively, you can survey your customers to learn how they first heard about your company and what eventually triggered their conversion. Having data from both sides can help you cross-validate your assumptions and eliminate some biases. 

    Then consider which model would best reflect the role and importance of different channels in your sales cycle. Speaking of which….

    Sales Cycle Length 

    As shoppers, we spend less time deciding on a new toothpaste brand versus contemplating a new IT system purchase. Factors like industry, business model (B2C, DTC, B2B, B2BC), and deal size determine the average cycle length in your industry. 

    Statistically, low-ticket B2C sales can happen within just several interactions. The average B2B decision-making process can have over 15 steps, spread over several months. 

    That’s why not all multi-touch attribution models work equally well for each business. Time-decay suits better B2B companies, while B2C usually go for position-based or linear attribution. 

    Data Availability 

    Businesses struggle with multi-touch attribution model implementation due to incomplete analytics data. 

    Our web analytics tool captures more data than Google Analytics. That’s because we rely on a privacy-focused tracking mechanism, which allows you to collect analytics without showing a cookie consent banner in markets outside of Germany and the UK. 

    Cookie consent banners are mandatory with Google Analytics. Yet, almost 40% of global consumers reject it. This results in gaps in your analytics and subsequent inconsistencies in multi-touch attribution reports. With Matomo, you can compliantly collect more data for accurate reporting. 

    Some companies also struggle to connect collected insights to individual shoppers. With Matomo, you can cross-attribute users across browning sessions, using our visitors’ tracking feature

    When you already know a user’s identifier (e.g., full name or email address), you can track their on-site behaviours over time to better understand how they interact with your content and complete their purchases. Quick disclaimer, though, visitors’ tracking may not be considered compliant with certain data privacy laws. Please consult with a local authority if you have doubts. 

    How to Implement Multi-Touch Attribution

    Multi-touch attribution modelling implementation is like a “seek and find” game. You have to identify all significant touchpoints in your customers’ journeys. And sometimes also brainstorm new ways to uncover the missing parts. Then figure out the best way to track users’ actions at those stages (aka do conversion and events tracking). 

    Here’s a step-by-step walkthrough to help you get started. 

    Select a Multi-Touch Attribution Tool 

    The global marketing attribution software is worth $3.1 billion. Meaning there are plenty of tools, differing in terms of accuracy, sophistication and price.

    To make the right call prioritise five factors :

    • Available models : Look for a solution that offers multiple options and allows you to experiment with different modelling techniques or develop custom models. 
    • Implementation complexity : Some providers offer advanced data modelling tools for creating custom multi-touch attribution models, but offer few out-of-the-box modelling options. 
    • Accuracy : Check if the shortlisted tool collects the type of data you need. Prioritise providers who are less dependent on third-party cookies and allow you to identify repeat users. 
    • Your marketing stack : Some marketing attribution tools come with useful add-ons such as tag manager, heatmaps, form analytics, user session recordings and A/B testing tools. This means you can collect more data for multi-channel modelling with them instead of investing in extra software. 
    • Compliance : Ensure that the selected multi-attribution analytics software wouldn’t put you at risk of GDPR non-compliance when it comes to user privacy and consent to tracking/analysis. 

    Finally, evaluate the adoption costs. Free multi-channel analytics tools come with data quality and consistency trade-offs. Premium attribution tools may have “hidden” licensing costs and bill you for extra data integrations. 

    Look for a tool that offers a good price-to-value ratio (i.e., one that offers extra perks for a transparent price). 

    Set Up Proper Data Collection 

    Multi-touch attribution requires ample user data. To collect the right type of insights you need to set up : 

    • Website analytics : Ensure that you have all tracking codes installed (and working correctly !) to capture pageviews, on-site actions, referral sources and other data points around what users do on page. 
    • Tags : Add tracking parameters to monitor different referral channels (e.g., “facebook”), campaign types (e.g., ”final-sale”), and creative assets (e.g., “banner-1”). Tags help you get a clearer picture of different touchpoints. 
    • Integrations : To better identify on-site users and track their actions, you can also populate your attribution tool with data from your other tools – CRM system, A/B testing app, etc. 

    Finally, think about the ideal lookback window — a bounded time frame you’ll use to calculate conversions. For example, Matomo has a default windows of 7, 30 or 90 days. But you can configure a custom period to better reflect your average sales cycle. For instance, if you’re selling makeup, a shorter window could yield better results. But if you’re selling CRM software for the manufacturing industry, consider extending it.

    Configure Goals and Events 

    Goals indicate your main marketing objectives — more traffic, conversions and sales. In web analytics tools, you can measure these by tracking specific user behaviours. 

    For example : If your goal is lead generation, you can track :

    • Newsletter sign ups 
    • Product demo requests 
    • Gated content downloads 
    • Free trial account registration 
    • Contact form submission 
    • On-site call bookings 

    In each case, you can set up a unique tag to monitor these types of requests. Then analyse conversion rates — the percentage of users who have successfully completed the action. 

    To collect sufficient data for multi-channel attribution modelling, set up Goal Tracking for different types of touchpoints (MoFU & BoFU) and asset types (contact forms, downloadable assets, etc). 

    Your next task is to figure out how users interact with different on-site assets. That’s when Event Tracking comes in handy. 

    Event Tracking reports notify you about specific actions users take on your website. With Matomo Event Tracking, you can monitor where people click on your website, on which pages they click newsletter subscription links, or when they try to interact with static content elements (e.g., a non-clickable banner). 

    Using in-depth user behavioural reports, you can better understand which assets play a key role in the average customer journey. Using this data, you can localise “leaks” in your sales funnel and fix them to increase conversion rates.

    Test and Validated the Selected Model 

    A common challenge of multi-channel attribution modelling is determining the correct correlation and causality between exposure to touchpoints and purchases. 

    For example, a user who bought a discounted product from a Facebook ad would act differently than someone who purchased a full-priced product via a newsletter link. Their rate of pre- and post-sales exposure will also differ a lot — and your attribution model may not always accurately capture that. 

    That’s why you have to continuously test and tweak the selected model type. The best approach for that is lift analysis. 

    Lift analysis means comparing how your key metrics (e.g., revenue or conversion rates) change among users who were exposed to a certain campaign versus a control group. 

    In the case of multi-touch attribution modelling, you have to monitor how your metrics change after you’ve acted on the model recommendations (e.g., invested more in a well-performing referral channel or tried a new brand awareness Twitter ad). Compare the before and after ROI. If you see a positive dynamic, your model works great. 

    The downside of this approach is that you have to invest a lot upfront. But if your goal is to create a trustworthy attribution model, the best way to validate is to act on its suggestions and then test them against past results. 

    Conclusion

    A multi-touch attribution model helps you measure the impact of different channels, campaign types, and marketing assets on metrics that matter — conversion rate, sales volumes and ROI. 

    Using this data, you can invest budgets into the best-performing channels and confidently experiment with new campaign types. 

    As a Matomo user, you also get to do so without breaching customers’ privacy or compromising on analytics accuracy.

    Start using accurate multi-channel attribution in Matomo. Get your free 21-day trial now. No credit card required.

  • How to reduce size of moov atom of H.264 movies to improve streaming start for smartphones ?

    12 mars 2023, par Andrey Lebedev

    We run a video service streaming movies to smartphones (iOS&Android).
We are encoding in H.264+AAC and using the mp4 container.
We have a problem that long movies (60 minutes+) take a very long time to
start playing and have tracked this down to the large size of moov
atom for these movies.
For 110 minute movies the atom is as large as 4.2Mb which obviously takes a long
time to download to a smart-phone over 3G !

    



    Is there anyway to make the moov atom smaller ? We can reduce it bit
by dropping the audio sampling rate, but obviously anything below 22kHz
would not really be acceptable.

    



    We are using ffmpeg as the encoder, and MP4Box to move the metadata
to the front of the file. Is there any way to get it to make
a smaller moov ? Any other encoders out there which make a smaller moov ?

    



    For example...

    



    Big size (280 Mb, 1h 49min) streamable mp4 (h.264, AAC) file have a big header size (4.2 Mb). File was encoded by two pass ffmpeg and MP4Box for replacing metadata into beginning of the file :

    



    /usr/bin/ffmpeg -i /var/lib/encoder/incoming/2388 -aspect 320:210 -threads 8 -vcodec libx264 -profile baseline -level 13 -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -me_method hex -subq 7 -trellis 1 -refs 5 -bf 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 -b:v 270k -maxrate 270k -bufsize 270k -g 30 -passlogfile /tmp/mediaservice/3100/video-IPH.ffmpeg -an -f rawvideo -pass 1 -y /dev/null

/usr/bin/ffmpeg -i /var/lib/encoder/incoming/2388 -aspect 320:210 -threads 8 -vcodec libx264 -profile baseline -level 13 -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -me_method hex -subq 7 -trellis 1 -refs 5 -bf 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 -b:v 270k -maxrate 270k -bufsize 270k -g 30 -passlogfile /tmp/mediaservice/3100/video-IPH.ffmpeg -acodec libfaac -ac 2 -b:a 32k -ar 44100 -f mp4 -pass 2 -y /var/lib/encoder/encoded/3100/video-IPH.mp4

/usr/bin/MP4Box -quiet -tmp /tmp/mediaservice/3100/ -inter 500 /var/lib/encoder/encoded/3100/video-IPH.mp4


    



    Media info (audio sample rate = 44100) :

    



    General
Count                                    : 278
Count of stream of this kind             : 1
Kind of stream                           : General
Kind of stream                           : General
Stream identifier                        : 0
Count of video streams                   : 1
Count of audio streams                   : 1
Video_Format_List                        : AVC
Video_Format_WithHint_List               : AVC
Codecs Video                             : AVC
Audio_Format_List                        : AAC
Audio_Format_WithHint_List               : AAC
Audio codecs                             : AAC LC
Complete name                            : 1348645218_970458_2465.iph.mp4
File name                                : 1348645218_970458_2465.iph.mp4
File extension                           : mp4
Format                                   : MPEG-4
Format                                   : MPEG-4
Format/Extensions usually used           : mp4 m4v m4a m4b m4p 3gpp 3gp 3gpp2 3g2 k3g jpm jpx mqv ismv isma f4v
Commercial name                          : MPEG-4
Format profile                           : Base Media
Internet media type                      : video/mp4
Codec ID                                 : isom
Codec ID/Url                             : http://www.apple.com/quicktime/download/standalone.html
Codec                                    : MPEG-4
Codec                                    : MPEG-4
Codec/Extensions usually used            : mp4 m4v m4a m4b m4p 3gpp 3gp 3gpp2 3g2 k3g jpm jpx mqv ismv isma f4v
File size                                : 272703970
File size                                : 260 MiB
File size                                : 260 MiB
File size                                : 260 MiB
File size                                : 260 MiB
File size                                : 260.1 MiB
Duration                                 : 6556027
Duration                                 : 1h 49mn
Duration                                 : 1h 49mn 16s 27ms
Duration                                 : 1h 49mn
Duration                                 : 01:49:16.027
Overall bit rate                         : 332767
Overall bit rate                         : 333 Kbps
Stream size                              : 4230761
Stream size                              : 4.03 MiB (2%)
Stream size                              : 4 MiB
Stream size                              : 4.0 MiB
Stream size                              : 4.03 MiB
Stream size                              : 4.035 MiB
Stream size                              : 4.03 MiB (2%)
Proportion of this stream                : 0.01551
HeaderSize                               : 4230683
DataSize                                 : 268473217
FooterSize                               : 70
IsStreamable                             : Yes
File last modification date              : UTC 2012-09-26 12:38:19
File last modification date (local)      : 2012-09-26 21:38:19
Writing application                      : Lavf54.6.100

Video
Count                                    : 201
Count of stream of this kind             : 1
Kind of stream                           : Video
Kind of stream                           : Video
Stream identifier                        : 0
ID                                       : 1
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format/Url                               : http://developers.videolan.org/x264.html
Commercial name                          : AVC
Format profile                           : Baseline@L1.3
Format settings                          : 5 Ref Frames
Format settings, CABAC                   : No
Format settings, CABAC                   : No
Format settings, ReFrames                : 5
Format settings, ReFrames                : 5 frames
Format settings, GOP                     : M=1, N=30
Internet media type                      : video/H264
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Codec ID/Url                             : http://www.apple.com/quicktime/download/standalone.html
Codec                                    : AVC
Codec                                    : AVC
Codec/Family                             : AVC
Codec/Info                               : Advanced Video Codec
Codec/Url                                : http://developers.videolan.org/x264.html
Codec/CC                                 : avc1
Codec profile                            : Baseline@L1.3
Codec settings                           : 5 Ref Frames
Codec settings, CABAC                    : No
Codec_Settings_RefFrames                 : 5
Duration                                 : 6556017
Duration                                 : 01:49:16.017
Bit rate                                 : 270000
Bit rate                                 : 270 Kbps
Width                                    : 480
Width                                    : 480 pixels
Height                                   : 270
Height                                   : 270 pixels
Pixel aspect ratio                       : 1.000
Display aspect ratio                     : 1.778
Display aspect ratio                     : 16:9
Rotation                                 : 0.000
Frame rate mode                          : CFR
Frame rate mode                          : Constant
FrameRate_Mode_Original                  : VFR
Frame rate                               : 29.970
Frame rate                               : 29.970 fps
Frame count                              : 196484
Resolution                               : 8
Resolution                               : 8 bits
Colorimetry                              : 4:2:0
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8
Bit depth                                : 8 bits
Scan type                                : Progressive
Scan type                                : Progressive
Interlacement                            : PPF
Interlacement                            : Progressive
Bits/(Pixel*Frame)                       : 0.070
Stream size                              : 220159060
Stream size                              : 210 MiB (81%)
Stream size                              : 210 MiB
Stream size                              : 210 MiB
Stream size                              : 210 MiB
Stream size                              : 210.0 MiB
Stream size                              : 210 MiB (81%)
Proportion of this stream                : 0.80732
Writing library                          : x264 - core 125
Writing library                          : x264 core 125
Writing library/Name                     : x264
Writing library/Version                  : core 125
Encoding settings                        : cabac=0 / ref=5 / deblock=1:0:0 / analyse=0x1:0x131 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=8 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=0 / weightp=0 / keyint=30 / keyint_min=16 / scenecut=40 / intra_refresh=0 / rc_lookahead=30 / rc=2pass / mbtree=1 / bitrate=270 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=270 / vbv_bufsize=270 / nal_hrd=none / ip_ratio=1.40 / aq=1:1.00
Tagged date                              : UTC 2012-09-25 07:21:37

Audio
Count                                    : 169
Count of stream of this kind             : 1
Kind of stream                           : Audio
Kind of stream                           : Audio
Stream identifier                        : 0
ID                                       : 2
ID                                       : 2
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Commercial name                          : AAC
Format profile                           : LC
Codec ID                                 : 40
Codec                                    : AAC LC
Codec                                    : AAC LC
Codec/Family                             : AAC
Codec/CC                                 : 40
Duration                                 : 6556027
Duration                                 : 1h 49mn
Duration                                 : 1h 49mn 16s 27ms
Duration                                 : 1h 49mn
Duration                                 : 01:49:16.027
Bit rate mode                            : VBR
Bit rate mode                            : Variable
Bit rate                                 : 58955
Bit rate                                 : 59.0 Kbps
Maximum bit rate                         : 270000
Maximum bit rate                         : 270 Kbps
Channel(s)                               : 2
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Channel positions                        : 2/0/0
Sampling rate                            : 44100
Sampling rate                            : 44.1 KHz
Samples count                            : 289120791
Compression mode                         : Lossy
Compression mode                         : Lossy
Stream size                              : 48314149
Stream size                              : 46.1 MiB (18%)
Stream size                              : 46 MiB
Stream size                              : 46 MiB
Stream size                              : 46.1 MiB
Stream size                              : 46.08 MiB
Stream size                              : 46.1 MiB (18%)
Proportion of this stream                : 0.17717
Tagged date                              : UTC 2012-09-25 07:21:37


    



    Moov atom info (/moov/trak[0] - video, /moov/trak[1] - audio) sample rate 44100 :
(look stsz and stts nodes in trak)

    



    Atom ftyp @ 0 of size: 32, ends @ 32
Atom moov @ 32 of size: 4230651, ends @ 4230683
     Atom mvhd @ 40 of size: 108, ends @ 148
     Atom trak @ 148 of size: 868970, ends @ 869118
         Atom tkhd @ 156 of size: 92, ends @ 248
         Atom edts @ 248 of size: 36, ends @ 284
             Atom elst @ 256 of size: 28, ends @ 284
         Atom mdia @ 284 of size: 868834, ends @ 869118
             Atom mdhd @ 292 of size: 32, ends @ 324
             Atom hdlr @ 324 of size: 45, ends @ 369
             Atom minf @ 369 of size: 868749, ends @ 869118
                 Atom vmhd @ 377 of size: 20, ends @ 397
                 Atom dinf @ 397 of size: 36, ends @ 433
                     Atom dref @ 405 of size: 28, ends @ 433
                 Atom stbl @ 433 of size: 868685, ends @ 869118
                     Atom stsd @ 441 of size: 149, ends @ 590
                         Atom avc1 @ 457 of size: 133, ends @ 590
                             Atom avcC @ 543 of size: 47, ends @ 590
                     Atom stts @ 590 of size: 24, ends @ 614
                     Atom stss @ 614 of size: 26340, ends @ 26954
                     Atom stsc @ 26954 of size: 52, ends @ 27006
                     Atom stsz @ 27006 of size: 785956, ends @ 812962
                     Atom stco @ 812962 of size: 56156, ends @ 869118
     Atom trak @ 869118 of size: 3361468, ends @ 4230586
         Atom tkhd @ 869126 of size: 92, ends @ 869218
         Atom edts @ 869218 of size: 36, ends @ 869254
             Atom elst @ 869226 of size: 28, ends @ 869254
         Atom mdia @ 869254 of size: 3361332, ends @ 4230586
             Atom mdhd @ 869262 of size: 32, ends @ 869294
             Atom hdlr @ 869294 of size: 45, ends @ 869339
             Atom minf @ 869339 of size: 3361247, ends @ 4230586
                 Atom smhd @ 869347 of size: 16, ends @ 869363
                 Atom dinf @ 869363 of size: 36, ends @ 869399
                     Atom dref @ 869371 of size: 28, ends @ 869399
                 Atom stbl @ 869399 of size: 3361187, ends @ 4230586
                     Atom stsd @ 869407 of size: 91, ends @ 869498
                         Atom mp4a @ 869423 of size: 75, ends @ 869498
                             Atom esds @ 869459 of size: 39, ends @ 869498
                     **Atom stts @ 869498 of size: 2135816, ends @ 3005314**
                     Atom stsc @ 3005314 of size: 39712, ends @ 3045026
                     **Atom stsz @ 3045026 of size: 1129400, ends @ 4174426**
                     Atom stco @ 4174426 of size: 56160, ends @ 4230586
     Atom udta @ 4230586 of size: 97, ends @ 4230683
         Atom meta @ 4230594 of size: 89, ends @ 4230683
             Atom hdlr @ 4230606 of size: 33, ends @ 4230639
             Atom ilst @ 4230639 of size: 44, ends @ 4230683
                 Atom ©too @ 4230647 of size: 36, ends @ 4230683
                     Atom data @ 4230655 of size: 28, ends @ 4230683
Atom mdat @ 4230683 of size: 268473217, ends @ 272703900
Atom free @ 272703900 of size: 8, ends @ 272703908
Atom free @ 272703908 of size: 62, ends @ 272703970
------------------------------------------------------
Total size: 272703970 bytes; 50 atoms total. AtomicParsley version: 0.9.0 (utf8)
Media data: 268473217 bytes; 4230753 bytes all other atoms (1.551% atom overhead).
Total free atom space: 70 bytes; 0.000% waste. Padding available: 0 bytes.
------------------------------------------------------


    



    After reencoding this movie with audio sample rate 11025 header size much less :

    



    Media info (audio sample rate = 11025) : (crop duplicate info)

    



    General
***
HeaderSize                               : 1276359

Video
***

Audio
Count                                    : 169
Count of stream of this kind             : 1
Kind of stream                           : Audio
Kind of stream                           : Audio
Stream identifier                        : 0
ID                                       : 2
ID                                       : 2
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Commercial name                          : AAC
Format profile                           : LC
Codec ID                                 : 40
Codec                                    : AAC LC
Codec                                    : AAC LC
Codec/Family                             : AAC
Codec/CC                                 : 40
Duration                                 : 6556132
Duration                                 : 1h 49mn
Duration                                 : 1h 49mn 16s 132ms
Duration                                 : 1h 49mn
Duration                                 : 01:49:16.132
Bit rate mode                            : VBR
Bit rate mode                            : Variable
Bit rate                                 : 37991
Bit rate                                 : 38.0 Kbps
Maximum bit rate                         : 128000
Maximum bit rate                         : 128 Kbps
Channel(s)                               : 2
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Channel positions                        : 2/0/0
Sampling rate                            : 11025
Sampling rate                            : 11.025 KHz
Samples count                            : 72281355
Compression mode                         : Lossy
Compression mode                         : Lossy
Stream size                              : 31134257
Stream size                              : 29.7 MiB (12%)
Stream size                              : 30 MiB
Stream size                              : 30 MiB
Stream size                              : 29.7 MiB
Stream size                              : 29.69 MiB
Stream size                              : 29.7 MiB (12%)
Proportion of this stream                : 0.12327
Tagged date                              : UTC 2012-09-25 13:20:28


    



    Moov atom info (/moov/trak[0] - video, /moov/trak[1] - audio) sample rate 11025 :

    



    Atom ftyp @ 0 of size: 32, ends @ 32
Atom moov @ 32 of size: 1276327, ends @ 1276359
     Atom mvhd @ 40 of size: 108, ends @ 148
     Atom trak @ 148 of size: 821662, ends @ 821810
         Atom tkhd @ 156 of size: 92, ends @ 248
         Atom edts @ 248 of size: 36, ends @ 284
             Atom elst @ 256 of size: 28, ends @ 284
         Atom mdia @ 284 of size: 821526, ends @ 821810
             Atom mdhd @ 292 of size: 32, ends @ 324
             Atom hdlr @ 324 of size: 45, ends @ 369
             Atom minf @ 369 of size: 821441, ends @ 821810
                 Atom vmhd @ 377 of size: 20, ends @ 397
                 Atom dinf @ 397 of size: 36, ends @ 433
                     Atom dref @ 405 of size: 28, ends @ 433
                 Atom stbl @ 433 of size: 821377, ends @ 821810
                     Atom stsd @ 441 of size: 149, ends @ 590
                         Atom avc1 @ 457 of size: 133, ends @ 590
                             Atom avcC @ 543 of size: 47, ends @ 590
                     Atom stts @ 590 of size: 24, ends @ 614
                     Atom stss @ 614 of size: 26340, ends @ 26954
                     Atom stsc @ 26954 of size: 52, ends @ 27006
                     Atom stsz @ 27006 of size: 785956, ends @ 812962
                     Atom stco @ 812962 of size: 8848, ends @ 821810
     Atom trak @ 821810 of size: 454452, ends @ 1276262
         Atom tkhd @ 821818 of size: 92, ends @ 821910
         Atom edts @ 821910 of size: 36, ends @ 821946
             Atom elst @ 821918 of size: 28, ends @ 821946
         Atom mdia @ 821946 of size: 454316, ends @ 1276262
             Atom mdhd @ 821954 of size: 32, ends @ 821986
             Atom hdlr @ 821986 of size: 45, ends @ 822031
             Atom minf @ 822031 of size: 454231, ends @ 1276262
                 Atom smhd @ 822039 of size: 16, ends @ 822055
                 Atom dinf @ 822055 of size: 36, ends @ 822091
                     Atom dref @ 822063 of size: 28, ends @ 822091
                 Atom stbl @ 822091 of size: 454171, ends @ 1276262
                     Atom stsd @ 822099 of size: 91, ends @ 822190
                         Atom mp4a @ 822115 of size: 75, ends @ 822190
                             Atom esds @ 822151 of size: 39, ends @ 822190
                     Atom stts @ 822190 of size: 161368, ends @ 983558
                     Atom stsc @ 983558 of size: 1480, ends @ 985038
                     Atom stsz @ 985038 of size: 282372, ends @ 1267410
                     Atom stco @ 1267410 of size: 8852, ends @ 1276262
     Atom udta @ 1276262 of size: 97, ends @ 1276359
         Atom meta @ 1276270 of size: 89, ends @ 1276359
             Atom hdlr @ 1276282 of size: 33, ends @ 1276315
             Atom ilst @ 1276315 of size: 44, ends @ 1276359
                 Atom ©too @ 1276323 of size: 36, ends @ 1276359
                     Atom data @ 1276331 of size: 28, ends @ 1276359
Atom mdat @ 1276359 of size: 251293325, ends @ 252569684
Atom free @ 252569684 of size: 8, ends @ 252569692
Atom free @ 252569692 of size: 62, ends @ 252569754
------------------------------------------------------
Total size: 252569754 bytes; 50 atoms total. AtomicParsley version: 0.9.0 (utf8)
Media data: 251293325 bytes; 1276429 bytes all other atoms (0.505% atom overhead).
Total free atom space: 70 bytes; 0.000% waste. Padding available: 0 bytes.
------------------------------------------------------


    



    On slow connection this movie start playing after 30-40 seconds until header info (4.2 Mb) downloading. I need that movie start playing fast as it possible. And i have next questions :

    



      

    1. How reduce size of movie header ?

    2. 


    3. How reduce size of
/moov[0]/trak[1]/mdia[0]/minf[0]/stbl[0] and why it so big when
sample rate 44100 ?

    4.