Recherche avancée

Médias (0)

Mot : - Tags -/latitude

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (70)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (9871)

  • FFMpeg frame drop when merging a image sequence and overlaying during video creation process

    29 juillet 2018, par Killer

    I have reviewed both the answer as mentioned in Similar Issue But still, I am having some frame drops.

    Here is what I was doing :
    Question 1
    Question 2

    Currently, I am showing a few images (one after another each with
    duration ’x’) on a sample background along with a music playing in the
    background.

    This is the command I am using to get the desired functionality :

    ffmpeg
    -hide_banner
    -y
    -loop 1
    -r 1
    -i /data/user/0/mojo.wed.com.wedmojo/cache/wedding_video/Images/IMG_WED_MOJO_WEDDING_FRAME.png
    -r 1/4
    -i /data/user/0/mojo.wed.com.wedmojo/cache/wedding_video/Images/IMG_WED_MOJO_SELECTED_IMAGE_%d.png
    -filter_complex overlay=(W-w)/2:(H-h)/2,drawtext=text=WedMojo:fontcolor=white:fontfile=/data/user/0/mojo.wed.com.wedmojo/cache/wedding_video/Files/FONT_WED_MOJO_WEDDING.ttf:fontsize=30:x=w-tw-20:y=h-th-20
    -c:v libx264
    -profile:v high
    -crf 17 -pix_fmt yuv420p
    -preset ultrafast
    -t 16 -strict experimental
    -r 24
    /data/user/0/mojo.wed.com.wedmojo/cache/wedding_video/Videos/VID_WED_MOJO_WEDDING_OUTPUT.mp4

    note : -r 1/4 for each image to be shown for 4 sec.

    I have checked the format of the images. All are the same. Also on changing preset and other values, the problem seems to be same. Log states drop=0, however, there are gaps as the overlay image is removed in between.

    Video sample with the duration set to 4 i.e each image to be set for 4 seconds.

    -> -> Video Output with 4 sec duration for each image

    However, there are no frame drops when the duration set to 1 or 2.

    -> -> Video Output with 2 sec duration for each image, ignore zoompan

    Log details :

    D/CreateVideoActivity: COMMAND: -hide_banner -y -loop 1 -r 1 -i /data/user/0/mojo.wed.com.wedmojo/cache/wedding_video/Images/IMG_WED_MOJO_WEDDING_FRAME.png -r 1/4 -i /data/user/0/mojo.wed.com.wedmojo/cache/wedding_video/Images/IMG_WED_MOJO_SELECTED_IMAGE_%d.png -filter_complex overlay=(W-w)/2:(H-h)/2,drawtext=text=WedMojo:fontcolor=white:fontfile=/data/user/0/mojo.wed.com.wedmojo/cache/wedding_video/Files/FONT_WED_MOJO_WEDDING.ttf:fontsize=30:x=w-tw-20:y=h-th-20 -c:v libx264 -profile:v high -crf 17 -pix_fmt yuv420p -preset ultrafast -t 16 -strict experimental -r 24 /data/user/0/mojo.wed.com.wedmojo/cache/wedding_video/Videos/VID_WED_MOJO_WEDDING_OUTPUT.mp4
    D/SurfaceUtils: disconnecting from surface 0x8a091008, reason disconnectFromSurface
    D/FFmpeg: Running publishing updates method
    D/CreateVideoActivity: onProgress() => Input #0, png_pipe, from '/data/user/0/mojo.wed.com.wedmojo/cache/wedding_video/Images/IMG_WED_MOJO_WEDDING_FRAME.png':
       onProgress() =>   Duration: N/A, bitrate: N/A
       onProgress() =>     Stream #0:0: Video: png, rgb24(pc), 1280x720, 25 fps, 25 tbr, 25 tbn, 25 tbc
       onProgress() => Input #1, image2, from '/data/user/0/mojo.wed.com.wedmojo/cache/wedding_video/Images/IMG_WED_MOJO_SELECTED_IMAGE_%d.png':
       onProgress() =>   Duration: 00:00:00.16, start: 0.000000, bitrate: N/A
    D/CreateVideoActivity: onProgress() =>     Stream #1:0: Video: png, rgb24(pc), 600x600 [SAR 1:1 DAR 1:1], 25 fps, 25 tbr, 25 tbn, 25 tbc
       onProgress() => Stream mapping:
       onProgress() =>   Stream #0:0 (png) -> overlay:main
       onProgress() =>   Stream #1:0 (png) -> overlay:overlay
       onProgress() =>   drawtext -> Stream #0:0 (libx264)
       onProgress() => Press [q] to stop, [?] for help
    D/CreateVideoActivity: onProgress() => [libx264 @ 0xb0857c00] using cpu capabilities: none!
    D/CreateVideoActivity: onProgress() => [libx264 @ 0xb0857c00] profile Constrained Baseline, level 3.1
       onProgress() => [libx264 @ 0xb0857c00] 264 - core 152 r2851M ba24899 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=24 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=17.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
       onProgress() => Output #0, mp4, to '/data/user/0/mojo.wed.com.wedmojo/cache/wedding_video/Videos/VID_WED_MOJO_WEDDING_OUTPUT.mp4':
    D/CreateVideoActivity: onProgress() =>   Metadata:
    D/CreateVideoActivity: onProgress() =>     encoder         : Lavf58.12.100
       onProgress() =>     Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1280x720, q=-1--1, 24 fps, 12288 tbn, 24 tbc (default)
       onProgress() =>     Metadata:
    D/CreateVideoActivity: onProgress() =>       encoder         : Lavc58.18.100 libx264
       onProgress() =>     Side data:
       onProgress() =>       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    D/CreateVideoActivity: onProgress() => frame=   96 fps=0.0 q=6.0 size=     256kB time=00:00:03.79 bitrate= 553.2kbits/s dup=93 drop=0 speed=3.94x    
    D/CreateVideoActivity: onProgress() => frame=  120 fps= 79 q=6.0 size=     512kB time=00:00:04.79 bitrate= 875.4kbits/s dup=116 drop=0 speed=3.13x    
    D/CreateVideoActivity: onProgress() => frame=  192 fps= 91 q=6.0 size=     512kB time=00:00:07.79 bitrate= 538.4kbits/s dup=185 drop=0 speed=3.68x    
    D/CreateVideoActivity: onProgress() => frame=  216 fps= 79 q=6.0 size=     768kB time=00:00:08.79 bitrate= 715.7kbits/s dup=208 drop=0 speed=3.21x    
    D/CreateVideoActivity: onProgress() => frame=  288 fps= 88 q=6.0 size=    1024kB time=00:00:11.79 bitrate= 711.4kbits/s dup=278 drop=0 speed= 3.6x    
    D/CreateVideoActivity: onProgress() => frame=  312 fps= 82 q=6.0 size=    1536kB time=00:00:12.79 bitrate= 983.7kbits/s dup=301 drop=0 speed=3.37x    
    D/CreateVideoActivity: onProgress() => frame=  384 fps= 86 q=6.0 size=    1536kB time=00:00:15.79 bitrate= 796.8kbits/s dup=370 drop=0 speed=3.52x    
    D/CreateVideoActivity: onProgress() => frame=  384 fps= 78 q=-1.0 Lsize=    1783kB time=00:00:15.95 bitrate= 915.4kbits/s dup=393 drop=0 speed=3.24x    
    D/CreateVideoActivity: onProgress() => video:1781kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.130068%
    D/CreateVideoActivity: onProgress() => [libx264 @ 0xb0857c00] frame I:2     Avg QP: 9.00  size:152054
       onProgress() => [libx264 @ 0xb0857c00] frame P:382   Avg QP: 6.69  size:  3976
       onProgress() => [libx264 @ 0xb0857c00] mb I  I16..4: 100.0%  0.0%  0.0%
       onProgress() => [libx264 @ 0xb0857c00] mb P  I16..4:  0.5%  0.0%  0.0%  P16..4: 10.7%  0.0%  0.0%  0.0%  0.0%    skip:88.7%
       onProgress() => [libx264 @ 0xb0857c00] coded y,uvDC,uvAC intra: 56.4% 68.7% 52.5% inter: 4.2% 2.0% 1.5%
       onProgress() => [libx264 @ 0xb0857c00] i16 v,h,dc,p: 49% 25% 15% 11%
       onProgress() => [libx264 @ 0xb0857c00] i8c dc,h,v,p: 38% 28% 23% 11%
       onProgress() => [libx264 @ 0xb0857c00] kb/s:911.53
    D/CreateVideoActivity: onSuccess() => Input #0, png_pipe, from '/data/user/0/mojo.wed.com.wedmojo/cache/wedding_video/Images/IMG_WED_MOJO_WEDDING_FRAME.png':
         Duration: N/A, bitrate: N/A
           Stream #0:0: Video: png, rgb24(pc), 1280x720, 25 fps, 25 tbr, 25 tbn, 25 tbc
       Input #1, image2, from '/data/user/0/mojo.wed.com.wedmojo/cache/wedding_video/Images/IMG_WED_MOJO_SELECTED_IMAGE_%d.png':
         Duration: 00:00:00.16, start: 0.000000, bitrate: N/A
           Stream #1:0: Video: png, rgb24(pc), 600x600 [SAR 1:1 DAR 1:1], 25 fps, 25 tbr, 25 tbn, 25 tbc
       Stream mapping:
         Stream #0:0 (png) -> overlay:main
         Stream #1:0 (png) -> overlay:overlay
         drawtext -> Stream #0:0 (libx264)
       Press [q] to stop, [?] for help
       [libx264 @ 0xb0857c00] using cpu capabilities: none!
       [libx264 @ 0xb0857c00] profile Constrained Baseline, level 3.1
       [libx264 @ 0xb0857c00] 264 - core 152 r2851M ba24899 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=24 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=17.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
       Output #0, mp4, to '/data/user/0/mojo.wed.com.wedmojo/cache/wedding_video/Videos/VID_WED_MOJO_WEDDING_OUTPUT.mp4':
         Metadata:
           encoder         : Lavf58.12.100
           Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1280x720, q=-1--1, 24 fps, 12288 tbn, 24 tbc (default)
           Metadata:
             encoder         : Lavc58.18.100 libx264
           Side data:
             cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
       frame=   96 fps=0.0 q=6.0 size=     256kB time=00:00:03.79 bitrate= 553.2kbits/s dup=93 drop=0 speed=3.94x    
       frame=  120 fps= 79 q=6.0 size=     512kB time=00:00:04.79 bitrate= 875.4kbits/s dup=116 drop=0 speed=3.13x    
       frame=  192 fps= 91 q=6.0 size=     512kB time=00:00:07.79 bitrate= 538.4kbits/s dup=185 drop=0 speed=3.68x    
       frame=  216 fps= 79 q=6.0 size=     768kB time=00:00:08.79 bitrate= 715.7kbits/s dup=208 drop=0 speed=3.21x    
       frame=  288 fps= 88 q=6.0 size=    1024kB time=00:00:11.79 bitrate= 711.4kbits/s dup=278 drop=0 speed= 3.6x    
       frame=  312 fps= 82 q=6.0 size=    1536kB time=00:00:12.79 bitrate= 983.7kbits/s dup=301 drop=0 speed=3.37x    
       frame=  384 fps= 86 q=6.0 size=    1536kB time=00:00:15.79 bitrate= 796.8kbits/s dup=370 drop=0 speed=3.52x    
       frame=  384 fps= 78 q=-1.0 Lsize=    1783kB time=00:00:15.95 bitrate= 915.4kbits/s dup=393 drop=0 speed=3.24x    
       video:1781kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.130068%
       [libx264 @ 0xb0857c00] frame I:2     Avg QP: 9.00  size:152054
       [libx264 @ 0xb0857c00] frame P:382   Avg QP: 6.69  size:  3976
       [libx264 @ 0xb0857c00] mb I  I16..4: 100.0%  0.0%  0.0%
       [libx264 @ 0xb0857c00] mb P  I16..4:  0.5%  0.0%  0.0%  P16..4: 10.7%  0.0%  0.0%  0.0%  0.0%    skip:88.7%
       [libx264 @ 0xb0857c00] coded y,uvDC,uvAC intra: 56.4% 68.7% 52.5% inter: 4.2% 2.0% 1.5%
       [libx264 @ 0xb0857c00] i16 v,h,dc,p: 49% 25% 15% 11%
       [libx264 @ 0xb0857c00] i8c dc,h,v,p: 38% 28% 23% 11%
       [libx264 @ 0xb0857c00] kb/s:911.53
    I/OMXClient: Treble IOmx obtained
    D/SurfaceUtils: connecting to surface 0x8c6ef008, reason connectToSurface
    I/MediaCodec: [OMX.google.h264.decoder] setting surface generation to 23113736
    D/SurfaceUtils: disconnecting from surface 0x8c6ef008, reason connectToSurface(reconnect)
    D/SurfaceUtils: connecting to surface 0x8c6ef008, reason connectToSurface(reconnect)
    E/ACodec: [OMX.google.h264.decoder] setPortMode on output to DynamicANWBuffer failed w/ err -1010
    I/ACodec: codec does not support config priority (err -1010)
    D/MediaCodec: [OMX.google.h264.decoder] setting dataspace on output surface to #104
    D/SoftwareRenderer: setting dataspace on output surface to #104

    Let me know if any details required from my side. Your valuable suggestions are welcomed.

  • The complete guide on tracking your websites and web apps into multiple Piwiks and how to do it easily & efficiently

    23 février 2017, par InnoCraft — Community, Development

    Getting the tracking of your website and apps right is crucial to your success as you need to ensure the measured data is meaningful and correct. That’s why we, at InnoCraft, help our clients setting up their web tracking and digital measurement strategy. Some challenges include tracking your analytics data into multiple Piwik services as well as the tracking of single-page websites and web applications (covered in a previous article). In this blog post, we explain how to track your data into multiple Piwik websites correctly.

    Embedding the tracking code

    First of all you need to embed your JavaScript tracking code into your website or app as usual. If you haven’t done this yet : Log in to your Piwik, click on “Administration” in the top right and go to “Tracking Code”. There you have various options to adjust your tracking code to your needs.

    Tracking the same data into different websites

    Let’s assume you have set up the regular JavaScript tracking code and you want to track the same data into a second Piwik website. This second Piwik website can be either on the same Piwik installation or on a different Piwik. To do this, add the following line to your tracking code :

    _paq.push(['addTracker', 'https://$yourPiwikDomain/piwik.php', idSite]);

    It should look like this :

    var u = '//$yourPiwikDomain';
    _paq.push(['addTracker', u + '/piwik.php', var idSite = 2]); // adds an additional tracker
    _paq.push(['setSiteId', '1']); // configures your regular Piwik tracker
    _paq.push(['setTrackerUrl', u + 'piwik.php']);

    This will track the same data into website 1 and website 2 of your Piwik installation. You can also change the domain in addTracker to point it to a different Piwik installation :

    _paq.push(['addTracker', '//$differentPiwikDomain/piwik.php', var idSite = 2]);

    All Piwik tracker methods that you call afterwards will be applied to all trackers. Say you call _paq.push(['disableCookies']); _paq.push(['trackPageView']);, then both methods will be called on all tracker instances assuring they will behave the same and will track the same data into both Piwik websites.

    Tracking different data into different websites

    If you want to track only certain data into one website, and different data into an additional website, you need to configure the trackers differently. For example, you want to enable link tracking only for one tracker, but not for the other. The problem is that calling _paq.push(['enableLinkTracking']); enables link tracking on all of your trackers. To workaround this limitation, you can configure your trackers differently like this :

    window.piwikAsyncInit = function () {
       Piwik.on('TrackerSetup', function (tracker) {
         if (tracker.getSiteId() == 2
            || tracker.getTrackerUrl() === '//$yourPiwikDomain/piwik.php') {
             tracker.enableLinkTracking();
            }
       });
    };

    Now it enables link tracking only for the tracker that is configured for a certain website ID or Piwik domain.

    Accessing a previously generated tracker instance

    When you configure a tracker via _paq.push, you create a so called “Async tracker” because Piwik will be loaded asynchronously and create the tracker instance as soon as it is loaded. If you need to get the instance of such a tracker, you can use the method Piwik.getAsyncTracker(trackerUrl, idSite). This can be useful if you have a single-page website and want to track different data into different websites :

    window.addEventListener('hashchange', function() {
       if ('undefined' === typeof Piwik) {
           // Piwik might not be loaded yet
           return;
       }
       var tracker1 = Piwik.getAsyncTracker('//$yourPiwikDomain/piwik.php', var idSite = 1);
       var tracker2 = Piwik.getAsyncTracker('//$yourPiwikDomain/piwik.php', var idSite = 2);
       tracker1.setCurrentUrl('/' + window.location.hash.substr(1));
       tracker2.setCurrentUrl('/mywebsite/' + window.location.hash.substr(1));
    });

    Tracking different data into multiple Piwik installations without using “_paq”

    Some users prefer to not use _paq.push and instead directly create tracker instances themselves using the method Piwik.getTracker(trackerUrl, idSite) like this :

    window.piwikAsyncInit = function () {
       var tracker1 = Piwik.getTracker('//$yourPiwikdomain/piwik.php', var idSite = 1);
       tracker1.disableCookies();
       var tracker2 = Piwik.getTracker('//$yourPiwikdomain/piwik.php', var idSite = 2);
       tracker2.enableLinkTracking();

       tracker1.trackPageView();
       tracker2.trackPageView();
    };

    We usually don’t recommend creating trackers manually as it is more complicated and you need to make sure to configure trackers in the right order. For example to prevent the setting of any cookies, it is recommended to call disableCookies before calling any other methods. If you want to create your trackers manually and you use any of the following methods, make sure to call them in this order :

    disableCookies(), setAPIUrl(), enableCrossDomainLinking(), setCookiePath(), setCookieDomain(), setDomains(), setUserId(), enableLinkTracking()

    Roll-Up Reporting – the easy and efficient way

    Often users track data into multiple websites because they need aggregated data over all their websites. They want to see all statistics for a single website, but also which pages were viewed across all their websites, or how much traffic they got from a specific website or search engine across all websites. This means they add a second tracker to all their websites and track data not only into the regular Piwik website, but also into one additional website that gives them statistics over all websites. This has several disadvantages :

    • Complexity in getting the tracking code right and the time needed to integrate and maintain it
    • Slower website performance because everything needs to be tracked into several websites. This can decrease your conversions and sales
    • Slower Piwik performance because it has to handle twice as much traffic. This means tracking becomes slower, generating the report becomes slower, and the database gets twice as big

    Luckily, there is a better solution called Roll-Up Reporting. With Roll-Up Reporting, you can get aggregated data over all websites and / or for a group of websites without any of these disadvantages. It lets you create as many Roll-Ups as you wish and you can choose which websites’ data should be aggregated together into a new website.

    We had customers who were able to remove one Piwik tracker because of this feature which resulted in less server costs, a faster website, and a faster Piwik. On top of all these advantages, it also lets you view the Visitor Log, Real-time Map, and other widgets and reports across several websites.

    Questions ?

    If you got any questions, please let us know and get in touch with us. You can find more information about the Piwik JavaScript tracker on the Piwik Developer Zone. There is a section dedicated to Multiple Piwik Trackers.

  • ffmpeg concatenate results in bad/garbled output for second input file

    28 février 2017, par Dan

    I am trying to concatenate two videos together using the ffmpeg concat demuxer : a 5-second intro splash and a 60-second main/body video. I understand that the encoding needs to be the same on both files for this to work. I think they are, but the resulting output shows the intro just fine, followed by a totally garbled body. What am I missing ?

    ffmpeg -f concat -i concat.txt -c copy output.mp4

    Contents of concat.txt :

    file 'intro.mp4'
    file 'body.mp4'

    and the output of ffprobe for both input files :

    intro.mp4

    ffprobe version 3.2.4 Copyright (c) 2007-2017 the FFmpeg developers
     built with Apple LLVM version 7.0.2 (clang-700.1.81)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/3.2.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
     libavutil      55. 34.101 / 55. 34.101
     libavcodec     57. 64.101 / 57. 64.101
     libavformat    57. 56.101 / 57. 56.101
     libavdevice    57.  1.100 / 57.  1.100
     libavfilter     6. 65.100 /  6. 65.100
     libavresample   3.  1.  0 /  3.  1.  0
     libswscale      4.  2.100 /  4.  2.100
     libswresample   2.  3.100 /  2.  3.100
     libpostproc    54.  1.100 / 54.  1.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'intro.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf57.56.101
     Duration: 00:00:05.04, start: 0.000000, bitrate: 73 kb/s
       Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 960x720 [SAR 1:1 DAR 4:3], 69 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
       Metadata:
         handler_name    : VideoHandler

    body.mp4

    ffprobe version 3.2.4 Copyright (c) 2007-2017 the FFmpeg developers
     built with Apple LLVM version 7.0.2 (clang-700.1.81)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/3.2.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
     libavutil      55. 34.101 / 55. 34.101
     libavcodec     57. 64.101 / 57. 64.101
     libavformat    57. 56.101 / 57. 56.101
     libavdevice    57.  1.100 / 57.  1.100
     libavfilter     6. 65.100 /  6. 65.100
     libavresample   3.  1.  0 /  3.  1.  0
     libswscale      4.  2.100 /  4.  2.100
     libswresample   2.  3.100 /  2.  3.100
     libpostproc    54.  1.100 / 54.  1.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'body.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf57.56.101
     Duration: 00:00:36.84, start: 0.000000, bitrate: 5615 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 960x720 [SAR 1:1 DAR 4:3], 5613 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
       Metadata:
         handler_name    : VideoHandler

    Output of ffmpeg :

    ffmpeg version 3.2.4 Copyright (c) 2000-2017 the FFmpeg developers
     built with Apple LLVM version 7.0.2 (clang-700.1.81)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/3.2.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
     libavutil      55. 34.101 / 55. 34.101
     libavcodec     57. 64.101 / 57. 64.101
     libavformat    57. 56.101 / 57. 56.101
     libavdevice    57.  1.100 / 57.  1.100
     libavfilter     6. 65.100 /  6. 65.100
     libavresample   3.  1.  0 /  3.  1.  0
     libswscale      4.  2.100 /  4.  2.100
     libswresample   2.  3.100 /  2.  3.100
     libpostproc    54.  1.100 / 54.  1.100
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fdda3018000] Auto-inserting h264_mp4toannexb bitstream filter
    Input #0, concat, from 'concat.txt':
     Duration: N/A, start: 0.000000, bitrate: 69 kb/s
       Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 960x720 [SAR 1:1 DAR 4:3], 69 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc
       Metadata:
         handler_name    : VideoHandler
    Output #0, mp4, to 'output.mp4':
     Metadata:
       encoder         : Lavf57.56.101
       Stream #0:0(eng): Video: h264 (High) ([33][0][0][0] / 0x0021), yuv420p, 960x720 [SAR 1:1 DAR 4:3], q=2-31, 69 kb/s, 25 fps, 25 tbr, 12800 tbn, 12800 tbc
       Metadata:
         handler_name    : VideoHandler
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
    Press [q] to stop, [?] for help
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fdda3800000] Auto-inserting h264_mp4toannexb bitstream filter
    frame= 1047 fps=973 q=-1.0 Lsize=   25299kB time=00:00:41.76 bitrate=4962.8kbits/s speed=38.8x    
    video:25286kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.050621%

    As far as I can tell, everything is identical except for the bitrate and language. Setting the language doesn’t seem to make a difference. I’ve tried to transcode the intro to a higher bitrate for the intro but can’t get it to stick in the output. I’m OK with transcoding one of the files (ideally the intro) but don’t know what else to try to change. Thoughts ?