Recherche avancée

Médias (91)

Autres articles (26)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • Mise à disposition des fichiers

    14 avril 2011, par

    Par défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
    Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
    Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...)

Sur d’autres sites (2984)

  • Android YouTube Live v3 rtmp streaming via ffmpeg won't show preview

    14 décembre 2017, par Ariel Yust

    Hi everyone I’m breaking my head over this issue here,
    I’m developing an Android App for streaming content from the user’s device camera (back/front) to a live streaming on YouTube.

    Problem :
    YouTube Live shows "The health is good." in (Live Streaming->Events) but there’s nothing showing in the preview... in fact when I press play it tells me "An error has occurred, please try again later".

    Why is this happening ? what could be the problem ?

    What I’m doing :
    using google’s Oauth 2.0 and google api for login.
    YouTube V3 data api’s for creating a new broadcast and stream or use an opened stream - I’m using RTMP.

    I’m opening Camera Api1 and capturing the video into a SurfaceTexture, then I encode images and audio (MIC) using Android’s MediaCodec, save a 3+- seconds *.mp4 file locally and then once the muxer is done I stream the file with ffpmeg.

    String[] cmd = {
               "-i", filePath, //local file path (video is playable with vlc)
               "-strict", "experimental",
               "-acodec", "aac",
               "-ac", "1",
               "-ar", "44100",
               "-vcodec", "libx264",
               "-pix_fmt", "yuv420p",
               "-r", "30",
               "-g", "60",
               "-vb", "512k",
               "-profile:v", "main",
               "-preset", "medium",
               "-f", "flv",
               "-s", "1280x720",
               CreateBroadcast.rtmpUrl
           };

    ffmpeg.execute(cmd, responseHandler); //responseHandler notify me to send next file

    //how I set a new rtmpUrl, in CreateBroadcast.java
    rtmpUrl =
       returnedStream.getCdn().getIngestionInfo().getIngestionAddress() +
       File.separator +
       returnedStream.getCdn().getIngestionInfo().getStreamName();

    next file

    Using this ffmpeg library.

    ffmpeg process log :

    10:40:08.967 7..8/c.k.r D/Send: ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers, built with gcc 4.8 (GCC)
    10:40:08.968 7..8/c.k.r D/Send: configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
    10:40:08.969 7..8/c.k.r D/Send: onProgress ->   libavutil      55. 17.103 / 55. 17.103
    10:40:08.969 7..8/c.k.r D/Send: onProgress ->   libavcodec     57. 24.102 / 57. 24.102
    10:40:08.969 7..8/c.k.r D/Send: onProgress ->   libavformat    57. 25.100 / 57. 25.100
    10:40:08.970 7..8/c.k.r D/Send: onProgress ->   libavdevice    57.  0.101 / 57.  0.101
    10:40:08.970 7..8/c.k.r D/Send: onProgress ->   libavfilter     6. 31.100 /  6. 31.100
    10:40:08.971 7..8/c.k.r D/Send: onProgress ->   libswscale      4.  0.100 /  4.  0.100
    10:40:08.971 7..8/c.k.r D/Send: onProgress ->   libswresample   2.  0.101 /  2.  0.101
    10:40:08.971 7..8/c.k.r D/Send: onProgress ->   libpostproc    54.  0.100 / 54.  0.100
    10:40:09.202 7..8/c.k.r D/Send: onProgress -> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Movies/realPoll_0.mp4':
    10:40:09.203 7..8/c.k.r D/Send: onProgress ->   Metadata:
    10:40:09.203 7..8/c.k.r D/Send: onProgress ->     major_brand     : mp42
    10:40:09.204 7..8/c.k.r D/Send: onProgress ->     minor_version   : 0
    10:40:09.204 7..8/c.k.r D/Send: onProgress ->     compatible_brands: isommp42
    10:40:09.204 7..8/c.k.r D/Send: onProgress ->     creation_time   : 2017-08:40:08
    10:40:09.205 7..8/c.k.r D/Send: onProgress ->     com.android.version: 6.0.1
    10:40:09.205 7..8/c.k.r D/Send: onProgress ->   Duration: 00:00:02.79, start: 0.000000, bitrate: 4080 kb/s
    10:40:09.206 7..8/c.k.r D/Send: onProgress ->     Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1280x720, 4166 kb/s, SAR 1:1 DAR 16:9, 30.60 fps, 90k tbr, 90k tbn, 180k tbc (default)
    10:40:09.206 7..8/c.k.r D/Send: onProgress ->     Metadata:
    10:40:09.207 7..8/c.k.r D/Send: onProgress ->       creation_time   : 2017-08:40:08
    10:40:09.207 7..8/c.k.r D/Send: onProgress ->       handler_name    : VideoHandle
    10:40:09.208 7..8/c.k.r D/Send: onProgress ->     Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 59 kb/s (default)
    10:40:09.208 7..8/c.k.r D/Send: onProgress ->     Metadata:
    10:40:09.209 7..8/c.k.r D/Send: onProgress ->       creation_time   : 2017-08:40:08
    10:40:09.209 7..8/c.k.r D/Send: onProgress ->       handler_name    : SoundHandle
    10:40:10.312 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] using SAR=1/1
    10:40:10.324 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] using cpu capabilities: none!
    10:40:10.457 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] profile Main, level 3.1
    10:40:10.458 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] 264 - core 148 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 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=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=60 keyint_min=6 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=512 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    10:40:10.494 7..8/c.k.r D/Send: onProgress -> Output #0, flv, to 'rtmp://a.rtmp.youtube.com/live2/b2mb-vjew-2205-8w39':
    10:40:10.495 7..8/c.k.r D/Send: onProgress ->   Metadata:
    10:40:10.496 7..8/c.k.r D/Send: onProgress ->     major_brand     : mp42
    10:40:10.499 7..8/c.k.r D/Send: onProgress ->     minor_version   : 0
    10:40:10.500 7..8/c.k.r D/Send: onProgress ->     compatible_brands: isommp42
    10:40:10.502 7..8/c.k.r D/Send: onProgress ->     com.android.version: 6.0.1
    10:40:10.504 7..8/c.k.r D/Send: onProgress ->     encoder         : Lavf57.25.100
    10:40:10.505 7..8/c.k.r D/Send: onProgress ->     Stream #0:0(eng): Video: h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 512 kb/s, 30 fps, 1k tbn, 30 tbc (default)
    10:40:10.507 7..8/c.k.r D/Send: onProgress ->     Metadata:
    10:40:10.509 7..8/c.k.r D/Send: onProgress ->       creation_time   : 2017-08:40:08
    10:40:10.510 7..8/c.k.r D/Send: onProgress ->       handler_name    : VideoHandle
    10:40:10.511 7..8/c.k.r D/Send: onProgress ->       encoder         : Lavc57.24.102 libx264
    10:40:10.512 7..8/c.k.r D/Send: onProgress ->     Side data:
    10:40:10.512 7..8/c.k.r D/Send: onProgress ->       unknown side data type 10 (24 bytes)
    10:40:10.514 7..8/c.k.r D/Send: onProgress ->     Stream #0:1(eng): Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, mono, fltp, 69 kb/s (default)
    10:40:10.521 7..8/c.k.r D/Send: onProgress ->     Metadata:
    10:40:10.522 7..8/c.k.r D/Send: onProgress ->       creation_time   : 2017-08:40:08
    10:40:10.522 7..8/c.k.r D/Send: onProgress ->       handler_name    : SoundHandle
    10:40:10.522 7..8/c.k.r D/Send: onProgress ->       encoder         : Lavc57.24.102 aac
    10:40:10.523 7..8/c.k.r D/Send: onProgress -> Stream mapping:
    10:40:10.523 7..8/c.k.r D/Send: onProgress ->   Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
    10:40:10.524 7..8/c.k.r D/Send: onProgress ->   Stream #0:1 -> #0:1 (aac (native) -> aac (native))
    10:40:10.524 7..8/c.k.r D/Send: onProgress -> Press [q] to stop, [?] for help
    10:40:11.017 7..8/c.k.r D/Send: onProgress -> frame=    0 fps=0.0 q=0.0 size=       0kB time=00:00:00.92 bitrate=   4.3kbits/s speed=1.82x    
    10:40:11.300 7..8/c.k.r D/Send: onProgress -> Past duration 0.912331 too large
    10:40:11.342 7..8/c.k.r D/Send: onProgress -> Past duration 0.874321 too large
    10:40:11.376 7..8/c.k.r D/Send: onProgress -> Past duration 0.903664 too large
    10:40:11.411 7..8/c.k.r D/Send: onProgress -> Past duration 0.884666 too large
    10:40:11.545 7..8/c.k.r D/Send: onProgress -> frame=   12 fps= 12 q=0.0 size=       0kB time=00:00:01.03 bitrate=   3.9kbits/s dup=0 drop=2 speed=   1x    
    10:40:12.105 7..8/c.k.r D/Send: onProgress -> frame=   25 fps= 16 q=0.0 size=       0kB time=00:00:01.03 bitrate=   3.9kbits/s dup=0 drop=2 speed=0.667x    
                                                                          [ 10:40:12.379   191:  191 E/         ]
                                                                          invalid crash request of size 4 (from pid=7244 uid=0)
    10:40:12.598 7..8/c.k.r D/Send: onProgress -> frame=   32 fps= 15 q=0.0 size=       0kB time=00:00:02.02 bitrate=   2.0kbits/s dup=0 drop=2 speed=0.98x    
    10:40:12.598 7..8/c.k.r D/Send: onProgress -> Past duration 0.792656 too large
    10:40:12.675 7..8/c.k.r D/Send: onProgress -> Past duration 0.710991 too large
    10:40:12.708 7..8/c.k.r D/Send: onProgress -> Past duration 0.688332 too large
    10:40:12.725 7..8/c.k.r D/Send: onProgress -> Past duration 0.710655 too large
    10:40:12.760 7..8/c.k.r D/Send: onProgress -> Past duration 0.716331 too large
    10:40:12.775 7..8/c.k.r D/Send: onProgress -> Past duration 0.713661 too large
    10:40:12.791 7..8/c.k.r D/Send: onProgress -> Past duration 0.688332 too large
    10:40:12.825 7..8/c.k.r D/Send: onProgress -> Past duration 0.633659 too large
    10:40:12.857 7..8/c.k.r D/Send: onProgress -> Past duration 0.661324 too large
    10:40:12.876 7..8/c.k.r D/Send: onProgress -> Past duration 0.670998 too large
    10:40:12.942 7..8/c.k.r D/Send: onProgress -> Past duration 0.640327 too large
    10:40:17.761 7..8/c.k.r D/Send: onProgress -> frame=   47 fps=6.7 q=0.0 size=       0kB time=00:00:02.02 bitrate=   2.0kbits/s dup=0 drop=2 speed=0.288x    
    10:40:17.929 7..8/c.k.r D/Send: onProgress -> Past duration 0.605324 too large
    10:40:17.997 7..8/c.k.r D/Send: onProgress -> Past duration 0.614998 too large
    10:40:18.520 7..8/c.k.r D/Send: onProgress -> frame=   51 fps=6.6 q=42.0 size=       4kB time=00:00:02.02 bitrate=  17.0kbits/s dup=0 drop=2 speed=0.263x    
    10:40:18.520 7..8/c.k.r D/Send: onProgress -> Past duration 0.605995 too large
    10:40:19.607 7..8/c.k.r D/Send: onProgress -> Past duration 0.608986 too large
    10:40:19.843 7..8/c.k.r D/Send: onProgress -> frame=   53 fps=5.8 q=42.0 size=       9kB time=00:00:02.02 bitrate=  34.8kbits/s dup=0 drop=2 speed=0.223x    
    10:40:20.365 7..8/c.k.r D/Send: onProgress -> Past duration 0.614326 too large
    10:40:20.710 7..8/c.k.r D/Send: onProgress -> frame=   56 fps=5.7 q=41.0 size=      16kB time=00:00:02.02 bitrate=  66.2kbits/s dup=0 drop=2 speed=0.206x    
    10:40:21.348 7..8/c.k.r D/Send: onProgress -> frame=   58 fps=5.5 q=41.0 size=      20kB time=00:00:02.02 bitrate=  82.1kbits/s dup=0 drop=2 speed=0.193x    
    10:40:22.419 7..8/c.k.r D/Send: onProgress -> frame=   61 fps=5.2 q=41.0 size=      27kB time=00:00:02.02 bitrate= 108.3kbits/s dup=0 drop=2 speed=0.173x    
    10:40:23.232 7..8/c.k.r D/Send: onProgress -> frame=   64 fps=5.1 q=41.0 size=      33kB time=00:00:02.02 bitrate= 133.1kbits/s dup=0 drop=2 speed=0.161x    
    10:40:24.659 7..8/c.k.r D/Send: onProgress -> frame=   67 fps=4.8 q=40.0 size=      38kB time=00:00:02.02 bitrate= 154.5kbits/s dup=0 drop=2 speed=0.145x    
    10:40:25.591 7..8/c.k.r D/Send: onProgress -> frame=   69 fps=4.7 q=40.0 size=      42kB time=00:00:02.02 bitrate= 169.5kbits/s dup=0 drop=2 speed=0.138x    
    10:40:26.137 7..8/c.k.r D/Send: onProgress -> frame=   71 fps=4.6 q=39.0 size=      45kB time=00:00:02.02 bitrate= 183.6kbits/s dup=0 drop=2 speed=0.132x    
    10:40:26.913 7..8/c.k.r D/Send: onProgress -> frame=   73 fps=4.5 q=39.0 size=      46kB time=00:00:02.02 bitrate= 187.6kbits/s dup=0 drop=2 speed=0.125x    
    10:40:27.234 7..8/c.k.r D/Send: onProgress -> frame=   76 fps=4.5 q=38.0 size=      49kB time=00:00:02.48 bitrate= 162.7kbits/s dup=0 drop=2 speed=0.149x    
    10:40:27.295 7..8/c.k.r D/Send: onProgress -> Past duration 0.686333 too large
    10:40:27.801 7..8/c.k.r D/Send: onProgress -> Past duration 0.840324 too large
    10:40:28.269 7..8/c.k.r D/Send: onProgress -> frame=   78 fps=4.5 q=37.0 size=      53kB time=00:00:02.54 bitrate= 171.5kbits/s dup=0 drop=2 speed=0.147x    
    10:40:28.269 7..8/c.k.r D/Send: onProgress -> Past duration 0.739662 too large
    10:40:28.336 7..8/c.k.r D/Send: onProgress -> Past duration 0.671333 too large
    10:40:28.373 7..8/c.k.r D/Send: onProgress -> frame=   80 fps=4.5 q=37.0 size=      59kB time=00:00:02.54 bitrate= 188.7kbits/s dup=0 drop=2 speed=0.143x    
    10:40:41.320 7..8/c.k.r D/Send: onProgress -> [flv @ 0xb5ba9600] Failed to update header with correct duration.
    10:40:41.321 7..8/c.k.r D/Send: onProgress -> [flv @ 0xb5ba9600] Failed to update header with correct filesize.
    10:40:41.321 7..8/c.k.r D/Send: onProgress -> frame=   80 fps=2.6 q=-1.0 Lsize=     155kB time=00:00:02.70 bitrate= 468.9kbits/s dup=0 drop=2 speed=0.0877x    
    10:40:41.322 7..8/c.k.r D/Send: onProgress -> video:128kB audio:23kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.617489%
    10:40:41.332 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] frame I:2     Avg QP:28.63  size:  3516
    10:40:41.333 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] frame P:62    Avg QP:28.45  size:  1878
    10:40:41.333 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] frame B:16    Avg QP:29.68  size:   400
    10:40:41.334 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] consecutive B-frames: 71.2%  5.0%  3.8% 20.0%
    10:40:41.334 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] mb I  I16..4: 98.8%  0.0%  1.2%
    10:40:41.334 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] mb P  I16..4: 17.8%  0.0%  0.1%  P16..4: 17.0%  0.2%  0.7%  0.0%  0.0%    skip:64.2%
    10:40:41.335 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] mb B  I16..4:  0.1%  0.0%  0.0%  B16..8: 11.9%  0.0%  0.0%  direct: 1.0%  skip:87.0%  L0:16.0% L1:84.0% BI: 0.0%
    10:40:41.335 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] final ratefactor: 30.20
    10:40:41.336 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] coded y,uvDC,uvAC intra: 1.4% 20.4% 0.0% inter: 0.4% 14.0% 0.0%
    10:40:41.338 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] i16 v,h,dc,p: 66% 22%  7%  4%
    10:40:41.339 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu:  7% 19% 53%  4%  4%  3%  5%  2%  2%
    10:40:41.339 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] i8c dc,h,v,p: 71% 16% 12%  0%
    10:40:41.340 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] Weighted P-Frames: Y:6.5% UV:6.5%
    10:40:41.340 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] ref P L0: 85.6%  4.5%  7.7%  2.2%  0.0%
    10:40:41.341 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] ref B L0: 99.3%  0.7%
    10:40:41.341 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] ref B L1: 97.0%  3.0%
    10:40:41.342 7..8/c.k.r D/Send: onProgress -> [libx264 @ 0xb5b84800] kb/s:384.88
    10:40:41.421 7..8/c.k.r D/Send: onProgress -> [aac @ 0xb5b85000] Qavg: 1561.786
    10:40:41.423 7..8/c.k.r D/Send: onSuccess -> configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
    10:40:41.423 7..8/c.k.r D/Send:   libavutil      55. 17.103 / 55. 17.103
    10:40:41.423 7..8/c.k.r D/Send:   libavcodec     57. 24.102 / 57. 24.102
    10:40:41.423 7..8/c.k.r D/Send:   libavformat    57. 25.100 / 57. 25.100
    10:40:41.423 7..8/c.k.r D/Send:   libavdevice    57.  0.101 / 57.  0.101
    10:40:41.424 7..8/c.k.r D/Send:   libavfilter     6. 31.100 /  6. 31.100
    10:40:41.424 7..8/c.k.r D/Send:   libswscale      4.  0.100 /  4.  0.100
    10:40:41.424 7..8/c.k.r D/Send:   libswresample   2.  0.101 /  2.  0.101
    10:40:41.424 7..8/c.k.r D/Send:   libpostproc    54.  0.100 / 54.  0.100
    10:40:41.424 7..8/c.k.r D/Send: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Movies/realPoll_0.mp4':
    10:40:41.424 7..8/c.k.r D/Send:   Metadata:
    10:40:41.424 7..8/c.k.r D/Send:     major_brand     : mp42
    10:40:41.424 7..8/c.k.r D/Send:     minor_version   : 0
    10:40:41.424 7..8/c.k.r D/Send:     compatible_brands: isommp42
    10:40:41.424 7..8/c.k.r D/Send:     creation_time   : 2017-08:40:08
    10:40:41.424 7..8/c.k.r D/Send:     com.android.version: 6.0.1
    10:40:41.424 7..8/c.k.r D/Send:   Duration: 00:00:02.79, start: 0.000000, bitrate: 4080 kb/s
    10:40:41.424 7..8/c.k.r D/Send:     Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1280x720, 4166 kb/s, SAR 1:1 DAR 16:9, 30.60 fps, 90k tbr, 90k tbn, 180k tbc (default)
    10:40:41.424 7..8/c.k.r D/Send:     Metadata:
    10:40:41.424 7..8/c.k.r D/Send:       creation_time   : 2017-08:40:08
    10:40:41.424 7..8/c.k.r D/Send:       handler_name    : VideoHandle
    10:40:41.424 7..8/c.k.r D/Send:     Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 59 kb/s (default)
    10:40:41.424 7..8/c.k.r D/Send:     Metadata:
    10:40:41.424 7..8/c.k.r D/Send:       creation_time   : 2017-08:40:08
    10:40:41.424 7..8/c.k.r D/Send:       handler_name    : SoundHandle
    10:40:41.425 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] using SAR=1/1
    10:40:41.425 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] using cpu capabilities: none!
    10:40:41.425 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] profile Main, level 3.1
    10:40:41.425 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] 264 - core 148 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 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=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=60 keyint_min=6 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=512 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    10:40:41.425 7..8/c.k.r D/Send: Output #0, flv, to 'rtmp://a.rtmp.youtube.com/live2/b2mb-vjew-2205-8w39':
    10:40:41.425 7..8/c.k.r D/Send:   Metadata:
    10:40:41.425 7..8/c.k.r D/Send:     major_brand     : mp42
    10:40:41.425 7..8/c.k.r D/Send:     minor_version   : 0
    10:40:41.425 7..8/c.k.r D/Send:     compatible_brands: isommp42
    10:40:41.425 7..8/c.k.r D/Send:     com.android.version: 6.0.1
    10:40:41.425 7..8/c.k.r D/Send:     encoder         : Lavf57.25.100
    10:40:41.425 7..8/c.k.r D/Send:     Stream #0:0(eng): Video: h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 512 kb/s, 30 fps, 1k tbn, 30 tbc (default)
    10:40:41.425 7..8/c.k.r D/Send:     Metadata:
    10:40:41.425 7..8/c.k.r D/Send:       creation_time   : 2017-08:40:08
    10:40:41.425 7..8/c.k.r D/Send:       handler_name    : VideoHandle
    10:40:41.425 7..8/c.k.r D/Send:       encoder         : Lavc57.24.102 libx264
    10:40:41.425 7..8/c.k.r D/Send:     Side data:
    10:40:41.425 7..8/c.k.r D/Send:       unknown side data type 10 (24 bytes)
    10:40:41.425 7..8/c.k.r D/Send:     Stream #0:1(eng): Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, mono, fltp, 69 kb/s (default)
    10:40:41.426 7..8/c.k.r D/Send:     Metadata:
    10:40:41.426 7..8/c.k.r D/Send:       creation_time   : 2017-08:40:08
    10:40:41.426 7..8/c.k.r D/Send:       handler_name    : SoundHandle
    10:40:41.426 7..8/c.k.r D/Send:       encoder         : Lavc57.24.102 aac
    10:40:41.426 7..8/c.k.r D/Send: Stream mapping:
    10:40:41.426 7..8/c.k.r D/Send:   Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
    10:40:41.427 7..8/c.k.r D/Send:   Stream #0:1 -> #0:1 (aac (native) -> aac (native))
    10:40:41.427 7..8/c.k.r D/Send: Press [q] to stop, [?] for help
    10:40:41.427 7..8/c.k.r D/Send: frame=    0 fps=0.0 q=0.0 size=       0kB time=00:00:00.92 bitrate=   4.3kbits/s speed=1.82x    
    10:40:41.427 7..8/c.k.r D/Send: Past duration 0.912331 too large
    10:40:41.427 7..8/c.k.r D/Send: Past duration 0.874321 too large
    10:40:41.427 7..8/c.k.r D/Send: Past duration 0.903664 too large
    10:40:41.427 7..8/c.k.r D/Send: Past duration 0.884666 too large
    10:40:41.427 7..8/c.k.r D/Send: frame=   12 fps= 12 q=0.0 size=       0kB time=00:00:01.03 bitrate=   3.9kbits/s dup=0 drop=2 speed=   1x    
    10:40:41.427 7..8/c.k.r D/Send: frame=   25 fps= 16 q=0.0 size=       0kB time=00:00:01.03 bitrate=   3.9kbits/s dup=0 drop=2 speed=0.667x    
    10:40:41.427 7..8/c.k.r D/Send: frame=   32 fps= 15 q=0.0 size=       0kB time=00:00:02.02 bitrate=   2.0kbits/s dup=0 drop=2 speed=0.98x    
    10:40:41.427 7..8/c.k.r D/Send: Past duration 0.792656 too large
    10:40:41.427 7..8/c.k.r D/Send: Past duration 0.710991 too large
    10:40:41.427 7..8/c.k.r D/Send: Past duration 0.688332 too large
    10:40:41.427 7..8/c.k.r D/Send: Past duration 0.710655 too large
    10:40:41.427 7..8/c.k.r D/Send: Past duration 0.716331 too large
    10:40:41.427 7..8/c.k.r D/Send: Past duration 0.713661 too large
    10:40:41.427 7..8/c.k.r D/Send: Past duration 0.688332 too large
    10:40:41.427 7..8/c.k.r D/Send: Past duration 0.633659 too large
    10:40:41.427 7..8/c.k.r D/Send: Past duration 0.661324 too large
    10:40:41.427 7..8/c.k.r D/Send: Past duration 0.670998 too large
    10:40:41.427 7..8/c.k.r D/Send: Past duration 0.640327 too large
    10:40:41.427 7..8/c.k.r D/Send: frame=   47 fps=6.7 q=0.0 size=       0kB time=00:00:02.02 bitrate=   2.0kbits/s dup=0 drop=2 speed=0.288x    
    10:40:41.427 7..8/c.k.r D/Send: Past duration 0.605324 too large
    10:40:41.428 7..8/c.k.r D/Send: Past duration 0.614998 too large
    10:40:41.428 7..8/c.k.r D/Send: frame=   51 fps=6.6 q=42.0 size=       4kB time=00:00:02.02 bitrate=  17.0kbits/s dup=0 drop=2 speed=0.263x    
    10:40:41.428 7..8/c.k.r D/Send: Past duration 0.605995 too large
    10:40:41.428 7..8/c.k.r D/Send: Past duration 0.608986 too large
    10:40:41.428 7..8/c.k.r D/Send: frame=   53 fps=5.8 q=42.0 size=       9kB time=00:00:02.02 bitrate=  34.8kbits/s dup=0 drop=2 speed=0.223x    
    10:40:41.428 7..8/c.k.r D/Send: Past duration 0.614326 too large
    10:40:41.428 7..8/c.k.r D/Send: frame=   56 fps=5.7 q=41.0 size=      16kB time=00:00:02.02 bitrate=  66.2kbits/s dup=0 drop=2 speed=0.206x    
    10:40:41.428 7..8/c.k.r D/Send: frame=   58 fps=5.5 q=41.0 size=      20kB time=00:00:02.02 bitrate=  82.1kbits/s dup=0 drop=2 speed=0.193x    
    10:40:41.428 7..8/c.k.r D/Send: frame=   61 fps=5.2 q=41.0 size=      27kB time=00:00:02.02 bitrate= 108.3kbits/s dup=0 drop=2 speed=0.173x    
    10:40:41.428 7..8/c.k.r D/Send: frame=   64 fps=5.1 q=41.0 size=      33kB time=00:00:02.02 bitrate= 133.1kbits/s dup=0 drop=2 speed=0.161x    
    10:40:41.428 7..8/c.k.r D/Send: frame=   67 fps=4.8 q=40.0 size=      38kB time=00:00:02.02 bitrate= 154.5kbits/s dup=0 drop=2 speed=0.145x    
    10:40:41.428 7..8/c.k.r D/Send: frame=   69 fps=4.7 q=40.0 size=      42kB time=00:00:02.02 bitrate= 169.5kbits/s dup=0 drop=2 speed=0.138x    
    10:40:41.428 7..8/c.k.r D/Send: frame=   71 fps=4.6 q=39.0 size=      45kB time=00:00:02.02 bitrate= 183.6kbits/s dup=0 drop=2 speed=0.132x    
    10:40:41.428 7..8/c.k.r D/Send: frame=   73 fps=4.5 q=39.0 size=      46kB time=00:00:02.02 bitrate= 187.6kbits/s dup=0 drop=2 speed=0.125x    
    10:40:41.428 7..8/c.k.r D/Send: frame=   76 fps=4.5 q=38.0 size=      49kB time=00:00:02.48 bitrate= 162.7kbits/s dup=0 drop=2 speed=0.149x    
    10:40:41.428 7..8/c.k.r D/Send: Past duration 0.686333 too large
    10:40:41.428 7..8/c.k.r D/Send: Past duration 0.840324 too large
    10:40:41.428 7..8/c.k.r D/Send: frame=   78 fps=4.5 q=37.0 size=      53kB time=00:00:02.54 bitrate= 171.5kbits/s dup=0 drop=2 speed=0.147x    
    10:40:41.428 7..8/c.k.r D/Send: Past duration 0.739662 too large
    10:40:41.429 7..8/c.k.r D/Send: Past duration 0.671333 too large
    10:40:41.429 7..8/c.k.r D/Send: frame=   80 fps=4.5 q=37.0 size=      59kB time=00:00:02.54 bitrate= 188.7kbits/s dup=0 drop=2 speed=0.143x    
    10:40:41.429 7..8/c.k.r D/Send: [flv @ 0xb5ba9600] Failed to update header with correct duration.
    10:40:41.429 7..8/c.k.r D/Send: [flv @ 0xb5ba9600] Failed to update header with correct filesize.
    10:40:41.429 7..8/c.k.r D/Send: frame=   80 fps=2.6 q=-1.0 Lsize=     155kB time=00:00:02.70 bitrate= 468.9kbits/s dup=0 drop=2 speed=0.0877x    
    10:40:41.429 7..8/c.k.r D/Send: video:128kB audio:23kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.617489%
    10:40:41.429 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] frame I:2     Avg QP:28.63  size:  3516
    10:40:41.429 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] frame P:62    Avg QP:28.45  size:  1878
    10:40:41.429 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] frame B:16    Avg QP:29.68  size:   400
    10:40:41.429 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] consecutive B-frames: 71.2%  5.0%  3.8% 20.0%
    10:40:41.429 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] mb I  I16..4: 98.8%  0.0%  1.2%
    10:40:41.429 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] mb P  I16..4: 17.8%  0.0%  0.1%  P16..4: 17.0%  0.2%  0.7%  0.0%  0.0%    skip:64.2%
    10:40:41.429 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] mb B  I16..4:  0.1%  0.0%  0.0%  B16..8: 11.9%  0.0%  0.0%  direct: 1.0%  skip:87.0%  L0:16.0% L1:84.0% BI: 0.0%
    10:40:41.429 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] final ratefactor: 30.20
    10:40:41.429 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] coded y,uvDC,uvAC intra: 1.4% 20.4% 0.0% inter: 0.4% 14.0% 0.0%
    10:40:41.429 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] i16 v,h,dc,p: 66% 22%  7%  4%
    10:40:41.429 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu:  7% 19% 53%  4%  4%  3%  5%  2%  2%
    10:40:41.429 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] i8c dc,h,v,p: 71% 16% 12%  0%
    10:40:41.430 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] Weighted P-Frames: Y:6.5% UV:6.5%
    10:40:41.430 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] ref P L0: 85.6%  4.5%  7.7%  2.2%  0.0%
    10:40:41.430 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] ref B L0: 99.3%  0.7%
    10:40:41.430 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] ref B L1: 97.0%  3.0%
    10:40:41.430 7..8/c.k.r D/Send: [libx264 @ 0xb5b84800] kb/s:384.88
    10:40:41.430 7..8/c.k.r D/Send: [aac @ 0xb5b85000] Qavg: 1561.786

    Thanks for your time and insights !

  • FFMPEG ALSA xrun crash

    13 décembre 2017, par Liam Martens

    I’m running a YouTube RTMP stream using FFMPEG with x11grab and an alsa loopback device but sometimes after let’s say 20 hours there is an ALSA xrun and then the ffmpeg command crashes, but I’m not sure why or how this happens. (mind you the ffmpeg command does not run continuously it gets restarted automatically every so often, but the xrun makes the command crash causing the stream to go offline sometimes because a crash restart is not fast enough)

    I’m using thread_queue_size and I’ve even manually compiled ffmpeg with a higher ALSA BUFFER SIZE, but the issue appears to persist still. Besides this I’ve also scoured many posts with people having similar issues but these never really seem to end up resolved.

    This is the stream command

    ffmpeg -loglevel verbose -f alsa -thread_queue_size 12288 -ac 2 -i hw:Loopback,1,0 \
            -probesize 10M -f x11grab -field_order tt -thread_queue_size 12288 -video_size 1280x720 -r 30 -i :1.1 \
           -c:v libx264 -c:a libmp3lame -shortest -tune fastdecode -tune zerolatency \
           -crf 26 -pix_fmt yuv420p -threads 0 -maxrate 2500k -bufsize 2500k -pass 1 -af aresample=async=1 \
           -movflags +faststart -flags +global_header -preset ultrafast -r 30 -g 60 -b:v 2000k -b:a 192k -ar 44100 \
           -f flv -rtmp_live live rtmp://a.rtmp.youtube.com/live2/{KEY}

    Log excerpt

    ffmpeg version N-89463-gc7a5e80 Copyright (c) 2000-2017 the FFmpeg developers
     built with gcc 6.3.0 (Debian 6.3.0-18) 20170516
     configuration: --prefix=/usr --enable-avresample --enable-avfilter --enable-gpl --enable-libmp3lame --enable-librtmp --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libtheora --enable-postproc --enable-pic --enable-pthreads --enable-shared --disable-stripping --disable-static --enable-vaapi --enable-libopus --enable-libfreetype --enable-libfontconfig --enable-libpulse --disable-debug
     libavutil      56.  5.100 / 56.  5.100
     libavcodec     58.  6.103 / 58.  6.103
     libavformat    58.  3.100 / 58.  3.100
     libavdevice    58.  0.100 / 58.  0.100
     libavfilter     7.  7.100 /  7.  7.100
     libavresample   4.  0.  0 /  4.  0.  0
     libswscale      5.  0.101 /  5.  0.101
     libswresample   3.  0.101 /  3.  0.101
     libpostproc    55.  0.100 / 55.  0.100
    Guessed Channel Layout for Input Stream #0.0 : stereo
    Input #0, alsa, from 'hw:Loopback,1,0':
     Duration: N/A, start: 1513163617.594224, bitrate: 1536 kb/s
       Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
    Input #1, x11grab, from ':1.1':
     Duration: N/A, start: 1513163617.632434, bitrate: N/A
       Stream #1:0: Video: rawvideo, 1 reference frame (BGR[0] / 0x524742), bgr0(top first), 854x480, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
    Parsing...
    Parsed protocol: 0
    Parsed host    : a.rtmp.youtube.com
    Parsed app     : live2
    RTMP_Connect1, ... connected, handshaking
    HandShake: Type Answer   : 03
    HandShake: Server Uptime : 0
    HandShake: FMS Version   : 4.0.0.1
    HandShake: Handshaking finished....
    RTMP_Connect1, handshaked
    Invoking connect
    HandleServerBW: server BW = 2500000
    HandleClientBW: client BW = 10000000 2
    HandleChangeChunkSize, received: chunk size change to 256
    RTMP_ClientPacket, received: invoke 240 bytes
    (object begin)
    Property:
    Property:
    Property:
    (object begin)
    Property: 3,5,3,824>
    Property:
    Property:
    (object end)
    Property:
    (object begin)
    Property:
    Property:
    Property:
    Property:
    Property:
    (object begin)
    Property:
    (object end)
    (object end)
    (object end)
    HandleInvoke, server invoking <_result>
    HandleInvoke, received result for method call <connect>
    Invoking releaseStream
    Invoking FCPublish
    Invoking createStream
    RTMP_ClientPacket, received: invoke 21 bytes
    (object begin)
    Property:
    Property:
    Property: NULL
    (object end)
    HandleInvoke, server invoking <onbwdone>
    Invoking _checkbw
    RTMP_ClientPacket, received: invoke 29 bytes
    (object begin)
    Property:
    Property:
    Property: NULL
    Property:
    (object end)
    HandleInvoke, server invoking &lt;_result>
    HandleInvoke, received result for method call <createstream>
    Invoking publish
    RTMP_ClientPacket, received: invoke 73 bytes
    (object begin)
    Property:
    Property:
    Property: NULL
    Property:
    (object begin)
    Property:
    Property:
    (object end)
    (object end)
    HandleInvoke, server invoking <onstatus>
    HandleInvoke, onStatus: NetStream.Publish.Start
    Stream mapping:
     Stream #1:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
     Stream #0:0 -> #0:1 (pcm_s16le (native) -> mp3 (libmp3lame))
    Press [q] to stop, [?] for help
    [graph 0 input from stream 1:0 @ 0x5607d087e060] w:854 h:480 pixfmt:bgr0 tb:1/30 fr:30/1 sar:0/1 sws_param:flags=2
    [auto_scaler_0 @ 0x5607d087d800] w:iw h:ih flags:'bicubic' interl:0
    [format @ 0x5607d087ed40] auto-inserting filter 'auto_scaler_0' between the filter 'Parsed_null_0' and the filter 'format'
    [auto_scaler_0 @ 0x5607d087d800] w:854 h:480 fmt:bgr0 sar:0/1 -> w:854 h:480 fmt:yuv420p sar:0/1 flags:0x4
    [swscaler @ 0x5607d0880260] Warning: data is not aligned! This can lead to a speed loss
    [libx264 @ 0x5607d08684e0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
    [libx264 @ 0x5607d08684e0] profile Constrained Baseline, level 3.1
    [libx264 @ 0x5607d08684e0] 264 - core 148 r2748 97eaef2 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - 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=2 lookahead_threads=2 sliced_threads=1 slices=2 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=60 keyint_min=6 scenecut=0 intra_refresh=0 rc_lookahead=0 rc=crf mbtree=0 crf=26.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=1500 vbv_bufsize=1500 crf_max=0.0 nal_hrd=none filler=0 ip_ratio=1.40 aq=0
    [graph_1_in_0_0 @ 0x5607d091c840] tb:1/48000 samplefmt:s16 samplerate:48000 chlayout:0x3
    [Parsed_aresample_0 @ 0x5607d0916b40] ch:2 chl:stereo fmt:s16 r:48000Hz -> ch:2 chl:stereo fmt:s16p r:44100Hz
    Output #0, flv, to 'rtmp://a.rtmp.youtube.com/live2/{KEY}':
     Metadata:
       encoder         : Lavf58.3.100
       Stream #0:0: Video: h264 (libx264), 1 reference frame ([7][0][0][0] / 0x0007), yuv420p(top coded first (swapped)), 854x480, q=-1--1, 1000 kb/s, 30 fps, 1k tbn, 30 tbc
       Metadata:
         encoder         : Lavc58.6.103 libx264
       Side data:
         cpb: bitrate max/min/avg: 1500000/0/1000000 buffer size: 1500000 vbv_delay: -1
       Stream #0:1: Audio: mp3 (libmp3lame) ([2][0][0][0] / 0x0002), 44100 Hz, stereo, s16p, delay 1105, 192 kb/s
       Metadata:
         encoder         : Lavc58.6.103 libmp3lame
    frame=   29 fps=0.0 q=17.0 size=     146kB time=00:00:00.94 bitrate=1267.3kbits/s speed=1.86x    
    frame=   44 fps= 44 q=18.0 size=     168kB time=00:00:01.46 bitrate= 942.4kbits/s speed=1.45x    
    frame=   60 fps= 40 q=16.0 size=     191kB time=00:00:01.96 bitrate= 794.8kbits/s speed= 1.3x    
    ...
    frame= 2740 fps= 30 q=17.0 size=    7993kB time=00:01:31.32 bitrate= 717.0kbits/s speed=   1x    
    frame= 2755 fps= 30 q=18.0 size=    8013kB time=00:01:31.82 bitrate= 714.9kbits/s speed=   1x    
    [alsa @ 0x5607d084d7e0] ALSA buffer xrun.
    </onstatus></createstream></onbwdone></connect>
  • Hikvision NVR video conversion ffmpeg

    6 août 2024, par astralmaster

    I have a Hikvision NVR that stores security camera footage that I need to display on a website. I know that Hikvision uses proprietary H.264 codec that makes it impossible to play (coherently) in popular video players, like VLC, unless you install that codec everywhere you play it.

    &#xA;&#xA;

    My plan was to transcode the video using ffmpeg to regular H.264 codec and AAC for audio but the produced file has the same issues as the original - no audio when playing and very disruptive video. &#xA;So the question is, does ffmpeg support encoding from Hikvision video/audio codecs ? Or perhaps should try to convert to different web-capable codecs using ffmpeg ?&#xA;My ffmpeg command looks like this :

    &#xA;&#xA;

    ffmpeg -i C:\1.mp4  -c:v libx264 -preset fast -crf 30 -b:v 200k -c:a aac -strict experimental -movflags faststart -threads 0 C:\2.mp4&#xA;

    &#xA;&#xA;

    EDIT : What's interesting is that ffplay.exe opens and plays the original video files with no problem whatsoever, even on a computer where Hikvision codecs are not isntalled, therefore I figured conversion should be possible as well ?

    &#xA;&#xA;

    Mediainfo output of the video file in question :

    &#xA;&#xA;

    General&#xA;CompleteName                     : C:\DownLoad\1.mp4&#xA;Format                           : MPEG-PS&#xA;FileSize/String                  : 8.60 MiB&#xA;Duration/String                  : 2 h 7 min&#xA;OverallBitRate/String            : 9 395 b/s&#xA;FileExtension_Invalid            : mpeg mpg m2p vob pss evo&#xA;&#xA;Video&#xA;ID/String                        : 224 (0xE0)&#xA;Format                           : AVC&#xA;Format/Info                      : Advanced Video Codec&#xA;Format_Profile                   : Baseline@L4&#xA;Format_Settings                  : 1 Ref Frames&#xA;Format_Settings_CABAC/String     : No&#xA;Format_Settings_RefFrames/String : 1 frame&#xA;Format_Settings_GOP              : M=1, N=30&#xA;Duration/String                  : 2 min 0 s&#xA;Width/String                     : 1 920 pixels&#xA;Height/String                    : 1 080 pixels&#xA;DisplayAspectRatio/String        : 16:9&#xA;FrameRate_Mode/String            : Variable&#xA;ColorSpace                       : YUV&#xA;ChromaSubsampling/String         : 4:2:0&#xA;BitDepth/String                  : 8 bits&#xA;ScanType/String                  : Progressive&#xA;&#xA;Audio&#xA;ID/String                        : 192 (0xC0)&#xA;Format                           : MPEG Audio&#xA;Duration/String                  : 2 h 7 min&#xA;Compression_Mode/String          : Lossy&#xA;Video_Delay/String               : -33 min 40 s&#xA;

    &#xA;&#xA;

    Output of ffmpeg :

    &#xA;&#xA;

    C:\ffmpeg\bin>ffmpeg -i C:\DownLoad\1.mp4  -c:v libx264 -preset fast -crf 30 -b:v 75k -c:a aac -strict experimental -movflags faststart -threads 0 C:\DownLoad\2.mp4&#xA;ffmpeg version N-86537-gae6f6d4 Copyright (c) 2000-2017 the FFmpeg developers&#xA;  built with gcc 7.1.0 (GCC)&#xA;  configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zlib&#xA;  libavutil      55. 66.100 / 55. 66.100&#xA;  libavcodec     57. 99.100 / 57. 99.100&#xA;  libavformat    57. 73.100 / 57. 73.100&#xA;  libavdevice    57.  7.100 / 57.  7.100&#xA;  libavfilter     6. 94.100 /  6. 94.100&#xA;  libswscale      4.  7.101 /  4.  7.101&#xA;  libswresample   2.  8.100 /  2.  8.100&#xA;  libpostproc    54.  6.100 / 54.  6.100&#xA;Input #0, mpeg, from &#x27;C:\DownLoad\1.mp4&#x27;:&#xA;  Duration: 02:07:57.93, start: 789.820800, bitrate: 9 kb/s&#xA;    Stream #0:0[0x1e0]: Video: h264 (Baseline), yuv420p(progressive), 1920x1080, 25 fps, 25 tbr, 90k tbn, 50 tbc&#xA;    Stream #0:1[0x1c0]: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s&#xA;File &#x27;C:\DownLoad\2.mp4&#x27; already exists. Overwrite ? [y/N] y&#xA;Stream mapping:&#xA;  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))&#xA;  Stream #0:1 -> #0:1 (pcm_mulaw (native) -> aac (native))&#xA;Press [q] to stop, [?] for help&#xA;[aac @ 0000000002cd0280] Too many bits 8832.000000 > 6144 per frame requested, clamping to max&#xA;[libx264 @ 0000000002514c80] using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX XOP FMA4&#xA;[libx264 @ 0000000002514c80] profile High, level 4.0&#xA;[libx264 @ 0000000002514c80] 264 - core 150 r2833 df79067 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=6 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=30 rc=crf mbtree=1 crf=30.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00&#xA;Output #0, mp4, to &#x27;C:\DownLoad\2.mp4&#x27;:&#xA;  Metadata:&#xA;    encoder         : Lavf57.73.100&#xA;    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1920x1080, q=-1--1, 75 kb/s, 25 fps, 12800 tbn, 25 tbc&#xA;    Metadata:&#xA;      encoder         : Lavc57.99.100 libx264&#xA;    Side data:&#xA;      cpb: bitrate max/min/avg: 0/0/75000 buffer size: 0 vbv_delay: -1&#xA;    Stream #0:1: Audio: aac (LC) ([64][0][0][0] / 0x0040), 8000 Hz, mono, fltp, 48 kb/s&#xA;    Metadata:&#xA;      encoder         : Lavc57.99.100 aac&#xA;[mp4 @ 00000000010e9e00] Starting second pass: moving the moov atom to the beginning of the file speed= 116x&#xA;frame= 3269 fps= 66 q=-1.0 Lsize=   11086kB time=01:34:24.38 bitrate=  16.0kbits/s dup=269 drop=0 speed= 115x&#xA;video:10429kB audio:592kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.594114%&#xA;[libx264 @ 0000000002514c80] frame I:14    Avg QP:21.86  size: 59795&#xA;[libx264 @ 0000000002514c80] frame P:833   Avg QP:24.81  size:  8993&#xA;[libx264 @ 0000000002514c80] frame B:2422  Avg QP:28.70  size:   970&#xA;[libx264 @ 0000000002514c80] consecutive B-frames:  1.0%  0.2%  1.4% 97.4%&#xA;[libx264 @ 0000000002514c80] mb I  I16..4: 18.9% 66.3% 14.8%&#xA;[libx264 @ 0000000002514c80] mb P  I16..4:  4.0%  7.7%  0.4%  P16..4: 16.2%  2.0%  0.6%  0.0%  0.0%    skip:69.1%&#xA;[libx264 @ 0000000002514c80] mb B  I16..4:  0.6%  0.2%  0.0%  B16..8:  5.5%  0.1%  0.0%  direct: 0.7%  skip:92.9%  L0:44.0% L1:55.0% BI: 1.0%&#xA;[libx264 @ 0000000002514c80] 8x8 transform intra:59.0% inter:83.3%&#xA;[libx264 @ 0000000002514c80] coded y,uvDC,uvAC intra: 25.3% 36.1% 7.7% inter: 1.0% 2.3% 0.1%&#xA;[libx264 @ 0000000002514c80] i16 v,h,dc,p: 23% 24% 43% 10%&#xA;[libx264 @ 0000000002514c80] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 37% 26% 23%  2%  2%  3%  2%  3%  3%&#xA;[libx264 @ 0000000002514c80] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 43% 23% 12%  4%  4%  5%  4%  4%  2%&#xA;[libx264 @ 0000000002514c80] i8c dc,h,v,p: 81%  7%  9%  3%&#xA;[libx264 @ 0000000002514c80] Weighted P-Frames: Y:1.0% UV:0.0%&#xA;[libx264 @ 0000000002514c80] ref P L0: 73.6% 26.4%&#xA;[libx264 @ 0000000002514c80] ref B L0: 80.9% 19.1%&#xA;[libx264 @ 0000000002514c80] ref B L1: 90.0% 10.0%&#xA;[libx264 @ 0000000002514c80] kb/s:653.30&#xA;[aac @ 0000000002cd0280] Qavg: 64512.656&#xA;&#xA;C:\ffmpeg\bin>&#xA;

    &#xA;&#xA;

    Download link to sample :

    &#xA;&#xA;

    https://www.dropbox.com/s/9ccptsuiqk2ntsv/1.zip?dl=0

    &#xA;&#xA;

    This sample is exactly 2 minutes long, but VLC will tell you otherwise.

    &#xA;