
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (101)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Publier sur MédiaSpip
13 juin 2013Puis-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 -
Configuration spécifique d’Apache
4 février 2011, parModules spécifiques
Pour la configuration d’Apache, il est conseillé d’activer certains modules non spécifiques à MediaSPIP, mais permettant d’améliorer les performances : mod_deflate et mod_headers pour compresser automatiquement via Apache les pages. Cf ce tutoriel ; mode_expires pour gérer correctement l’expiration des hits. Cf ce tutoriel ;
Il est également conseillé d’ajouter la prise en charge par apache du mime-type pour les fichiers WebM comme indiqué dans ce tutoriel.
Création d’un (...)
Sur d’autres sites (9174)
-
FFMPEG changes speed when concat 2 or more different videos
13 novembre 2020, par Daniel Santos NetoI am using this code


ffmpeg -y -re -i "/myvideos/countdown10.mp4" -re -i "/myvideos/video_218.mp4" -re -i "/myvideos/video_220.mp4" -re -i "/myvideos/video_221.mp4" -re -i "/myvideos/video_222.mp4" -re -i "/myvideos/countdown10.mp4" -re -i '/myvideos/watermark.png' -filter_complex " [0:v] [0:a] [1:v] [1:a] [2:v] [2:a] [3:v] [3:a] [4:v] [4:a] [5:v] [5:a] concat=n=6:v=1:a=1:unsafe=1 [vv] [a]; [vv][6:v]overlay=W-w-0:0[v]" -map "[v]" -map "[a]" -preset veryfast -vcodec h264 -acodec aac -strict -2 -max_muxing_queue_size 1024 -y -s 1280x720 -ar 44100 -f flv rtmp://server/live/5fa3731d4f8a6_159



the problem is, when I run it the process speed is a lot faster then the videos length, so I got disconnected from my livestream before the live finishes.


I guess it is something related to the bit rates.


also I notice depends on what video is transcoding the speed floats between 0.9x and 3.7x




Edited :


Complete log file :


avideo@ubuntu:~$ ffmpeg -re -i "/var/www/gdrive/htdocs/YouPHPTube-Encoder/videos/videosListToLive/countdown10.mp4" -re -i "/var/www/gdrive/htdocs/YouPHPTube-Encoder/videos/videosListToLive/192.168.1.4/video_222.mp4" -filter_complex " [0:v] [0:a] [1:v] [1:a] concat=n=2:v=1:a=1:unsafe=1 [v] [a]" -map "[v]" -map "[a]" -preset veryfast -vcodec h264 -acodec aac -strict -2 -max_muxing_queue_size 1024 -y -s 1280x720 -ar 44100 -f flv rtmp://encoder.gdrive.local/live?p=f321d14cdeeb7cded7489f504fa8862b/5fa3731d4f8a6_160
ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
 configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/gdrive/htdocs/YouPHPTube-Encoder/videos/videosListToLive/countdown10.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.29.100
 Duration: 00:00:10.02, start: 0.000000, bitrate: 122 kb/s
 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 83 kb/s, 5 fps, 5 tbr, 10240 tbn, 10 tbc (default)
 Metadata:
 handler_name : VideoHandler
 Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 35 kb/s (default)
 Metadata:
 handler_name : IsoMedia File Produced by Google, 5-11-2011
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/gdrive/htdocs/YouPHPTube-Encoder/videos/videosListToLive/192.168.1.4/video_222.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.29.100
 Duration: 00:00:30.60, start: 0.000000, bitrate: 37 kb/s
 Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 26 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
 Metadata:
 handler_name : ISO Media file produced by Google Inc. Created on: 10/16/2018.
 Stream #1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 2 kb/s (default)
 Metadata:
 handler_name : ISO Media file produced by Google Inc. Created on: 10/16/2018.
Stream mapping:
 Stream #0:0 (h264) -> concat:in0:v0
 Stream #0:1 (aac) -> concat:in0:a0
 Stream #1:0 (h264) -> concat:in1:v0
 Stream #1:1 (aac) -> concat:in1:a0
 concat:out:v0 -> Stream #0:0 (libx264)
 concat:out:a0 -> Stream #0:1 (aac)
Press [q] to stop, [?] for help
[libx264 @ 0x5645453b7a80] using SAR=1/1B time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A
[libx264 @ 0x5645453b7a80] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x5645453b7a80] profile High, level 3.1
[libx264 @ 0x5645453b7a80] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 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=5 scenecut=40 intra_refresh=0 rc_lookahead=10 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, flv, to 'rtmp://encoder.gdrive.local/live?p=f321d14cdeeb7cded7489f504fa8862b/5fa3731d4f8a6_160':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.29.100
 Stream #0:0: Video: h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 5 fps, 1k tbn, 5 tbc (default)
 Metadata:
 encoder : Lavc58.54.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
 Stream #0:1: Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 encoder : Lavc58.54.100 aac
[flv @ 0x5645453ae580] Failed to update header with correct duration. 49.3kbits/s dup=0 drop=751 speed=1.33x
[flv @ 0x5645453ae580] Failed to update header with correct filesize.
frame= 205 fps=6.7 q=-1.0 Lsize= 250kB time=00:00:40.58 bitrate= 50.5kbits/s dup=0 drop=762 speed=1.33x
video:164kB audio:53kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 15.473391%
[libx264 @ 0x5645453b7a80] frame I:2 Avg QP: 4.62 size: 10450
[libx264 @ 0x5645453b7a80] frame P:58 Avg QP:10.06 size: 1457
[libx264 @ 0x5645453b7a80] frame B:145 Avg QP:11.12 size: 427
[libx264 @ 0x5645453b7a80] consecutive B-frames: 4.9% 1.0% 4.4% 89.8%
[libx264 @ 0x5645453b7a80] mb I I16..4: 91.4% 2.8% 5.7%
[libx264 @ 0x5645453b7a80] mb P I16..4: 8.4% 0.4% 0.1% P16..4: 2.0% 0.3% 0.1% 0.0% 0.0% skip:88.6%
[libx264 @ 0x5645453b7a80] mb B I16..4: 0.2% 0.1% 0.0% B16..8: 0.9% 0.1% 0.0% direct: 4.7% skip:94.0% L0:33.9% L1:63.4% BI: 2.7%
[libx264 @ 0x5645453b7a80] 8x8 transform intra:5.5% inter:24.0%
[libx264 @ 0x5645453b7a80] coded y,uvDC,uvAC intra: 4.7% 22.9% 19.5% inter: 0.2% 4.2% 0.3%
[libx264 @ 0x5645453b7a80] i16 v,h,dc,p: 94% 4% 2% 0%
[libx264 @ 0x5645453b7a80] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 31% 18% 37% 3% 2% 3% 2% 2% 1%
[libx264 @ 0x5645453b7a80] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 38% 20% 21% 5% 3% 4% 3% 4% 3%
[libx264 @ 0x5645453b7a80] i8c dc,h,v,p: 78% 8% 12% 2%
[libx264 @ 0x5645453b7a80] Weighted P-Frames: Y:20.7% UV:20.7%
[libx264 @ 0x5645453b7a80] kb/s:32.64
[aac @ 0x564545421540] Qavg: 61548.156
avideo@ubuntu:~$



Also here is a video where you can see the process


https://tutorials.avideo.com/video/102/ffmpeg-changes-speed-when-concat-2-or-more-different-videos


this live should have exactly 40 seconds but finishes before then that


also look at this time position https://tutorials.avideo.com/video/102/ffmpeg-changes-speed-when-concat-2-or-more-different-videos?t=12


the speed changes from speed=0.9 to speed=1.9




EDITED 2 :


I tried the FPS command as suggested and still the problem


avideo@ubuntu:~$ ffmpeg -re -i "http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/index.m3u8?token=eyJzYWx0IjoiaHR0cDpcL1wvMTkyLjE2OC4xLjRcL1lvdVBIUFR1YmVcLyIsInRva2VuVGltZU91dCI6IjIxNjAwIiwiZmlsZW5hbWUiOiJfWVBUdW5pcWlkXzVmODBjNTQ3NDIxMDU3LjI0MDU2MDE1IiwidGltZSI6MTYwNTI4MzExN30=" -re -i "http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5fa3f4e37ffb65.33430678_720.mp4?token=eyJzYWx0IjoiaHR0cDpcL1wvMTkyLjE2OC4xLjRcL1lvdVBIUFR1YmVcLyIsInRva2VuVGltZU91dCI6IjIxNjAwIiwiZmlsZW5hbWUiOiJfWVBUdW5pcWlkXzVmYTNmNGUzN2ZmYjY1LjMzNDMwNjc4IiwidGltZSI6MTYwNTI4MzExN30=" -re -i '/var/www/gdrive/htdocs/YouPHPTube-Encoder/videos/videosListToLive/192.168.1.4/watermark.png' -filter_complex " [0]setdar=16/9,scale=1280:720, fps=30[0:v]; [1]setdar=16/9,scale=1280:720, fps=30[1:v]; [0:v] [0:a] [1:v] [1:a] concat=n=2:v=1:a=1:unsafe=1 [vv] [a]; [vv][2:v]overlay=W-w-0:0[v]" -map "[v]" -map "[a]" -c:v libx264 -b:v 3000k -maxrate 3000k -bufsize 6000k -g 50 -c:a aac -b:a 128k -ac 2 -s 1280x720 -ar 44100 -f flv rtmp://encoder.gdrive.local/live?p=f321d14cdeeb7cded7489f504fa8862b/5fa3731d4f8a6_161
ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
 configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
[hls @ 0x5627c50f2800] Skip ('#EXT-X-VERSION:3')
[hls @ 0x5627c50f2800] Opening 'http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/res240/index.m3u8?token=eyJzYWx0IjoiaHR0cDpcL1wvMTkyLjE2OC4xLjRcL1lvdVBIUFR1YmVcLyIsInRva2VuVGltZU91dCI6IjIxNjAwIiwiZmlsZW5hbWUiOiJfWVBUdW5pcWlkXzVmODBjNTQ3NDIxMDU3LjI0MDU2MDE1IiwidGltZSI6MTYwNTI4MzExN30=' for reading
[hls @ 0x5627c50f2800] Skip ('#EXT-X-VERSION:3')
[http @ 0x5627c50fa940] Opening 'http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/res360/index.m3u8?token=eyJzYWx0IjoiaHR0cDpcL1wvMTkyLjE2OC4xLjRcL1lvdVBIUFR1YmVcLyIsInRva2VuVGltZU91dCI6IjIxNjAwIiwiZmlsZW5hbWUiOiJfWVBUdW5pcWlkXzVmODBjNTQ3NDIxMDU3LjI0MDU2MDE1IiwidGltZSI6MTYwNTI4MzExN30=' for reading
[hls @ 0x5627c50f2800] Skip ('#EXT-X-VERSION:3')
[hls @ 0x5627c50f2800] Opening 'http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/enc_5f80c54914f03.key' for reading
[hls @ 0x5627c50f2800] Opening 'crypto+http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/res240/index0.ts' for reading
[hls @ 0x5627c50f2800] Opening 'http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/enc_5f80c54914f03.key' for reading
[hls @ 0x5627c50f2800] Opening 'crypto+http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/res360/index0.ts' for reading
Input #0, hls, from 'http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/index.m3u8?token=eyJzYWx0IjoiaHR0cDpcL1wvMTkyLjE2OC4xLjRcL1lvdVBIUFR1YmVcLyIsInRva2VuVGltZU91dCI6IjIxNjAwIiwiZmlsZW5hbWUiOiJfWVBUdW5pcWlkXzVmODBjNTQ3NDIxMDU3LjI0MDU2MDE1IiwidGltZSI6MTYwNTI4MzExN30=':
 Duration: 00:00:13.21, start: 1.460111, bitrate: 0 kb/s
 Program 0
 Metadata:
 variant_bitrate : 300000
 Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 426x240 [SAR 640:639 DAR 16:9], 24 fps, 24 tbr, 90k tbn, 48 tbc
 Metadata:
 variant_bitrate : 300000
 Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp
 Metadata:
 variant_bitrate : 300000
 Program 1
 Metadata:
 variant_bitrate : 600000
 Stream #0:2: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 24 fps, 24 tbr, 90k tbn, 48 tbc
 Metadata:
 variant_bitrate : 600000
 Stream #0:3: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp
 Metadata:
 variant_bitrate : 600000
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5fa3f4e37ffb65.33430678_720.mp4?token=eyJzYWx0IjoiaHR0cDpcL1wvMTkyLjE2OC4xLjRcL1lvdVBIUFR1YmVcLyIsInRva2VuVGltZU91dCI6IjIxNjAwIiwiZmlsZW5hbWUiOiJfWVBUdW5pcWlkXzVmYTNmNGUzN2ZmYjY1LjMzNDMwNjc4IiwidGltZSI6MTYwNTI4MzExN30=':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.29.100
 Duration: 00:00:30.60, start: 0.000000, bitrate: 37 kb/s
 Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 26 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
 Metadata:
 handler_name : ISO Media file produced by Google Inc. Created on: 10/16/2018.
 Stream #1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 2 kb/s (default)
 Metadata:
 handler_name : ISO Media file produced by Google Inc. Created on: 10/16/2018.
Input #2, png_pipe, from '/var/www/gdrive/htdocs/YouPHPTube-Encoder/videos/videosListToLive/192.168.1.4/watermark.png':
 Duration: N/A, bitrate: N/A
 Stream #2:0: Video: png, rgba(pc), 1280x720 [SAR 3780:3780 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
 Stream #0:0 (h264) -> setdar
 Stream #0:1 (aac) -> concat:in0:a0
 Stream #1:0 (h264) -> setdar
 Stream #1:1 (aac) -> concat:in1:a0
 Stream #2:0 (png) -> overlay:overlay
 overlay -> Stream #0:0 (libx264)
 concat:out:a0 -> Stream #0:1 (aac)
Press [q] to stop, [?] for help
[libx264 @ 0x5627c5267f40] using SAR=1/1
[libx264 @ 0x5627c5267f40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x5627c5267f40] profile High, level 3.1
[libx264 @ 0x5627c5267f40] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 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=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=50 keyint_min=5 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=cbr mbtree=1 bitrate=3000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=3000 vbv_bufsize=6000 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
Output #0, flv, to 'rtmp://encoder.gdrive.local/live?p=f321d14cdeeb7cded7489f504fa8862b/5fa3731d4f8a6_161':
 Metadata:
 encoder : Lavf58.29.100
 Stream #0:0: Video: h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 3000 kb/s, 30 fps, 1k tbn, 30 tbc (default)
 Metadata:
 encoder : Lavc58.54.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 3000000/0/3000000 buffer size: 6000000 vbv_delay: -1
 Stream #0:1: Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 encoder : Lavc58.54.100 aac
[hls @ 0x5627c50f2800] Opening 'crypto+http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/res240/index1.ts' for reading
[hls @ 0x5627c50f2800] No longer receiving playlist 1 ('http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/res360/index.m3u8?token=eyJzYWx0IjoiaHR0cDpcL1wvMTkyLjE2OC4xLjRcL1lvdVBIUFR1YmVcLyIsInRva2VuVGltZU91dCI6IjIxNjAwIiwiZmlsZW5hbWUiOiJfWVBUdW5pcWlkXzVmODBjNTQ3NDIxMDU3LjI0MDU2MDE1IiwidGltZSI6MTYwNTI4MzExN30=')
[hls @ 0x5627c50f2800] Opening 'crypto+http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/res240/index2.ts' for reading
[flv @ 0x5627c52635c0] Failed to update header with correct duration.10.4kbits/s speed=1.43x
[flv @ 0x5627c52635c0] Failed to update header with correct filesize.
frame= 1313 fps= 43 q=-1.0 Lsize= 5937kB time=00:00:43.81 bitrate=1110.1kbits/s speed=1.43x
video:5662kB audio:218kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.976283%
[libx264 @ 0x5627c5267f40] frame I:70 Avg QP: 4.15 size: 27705
[libx264 @ 0x5627c5267f40] frame P:423 Avg QP: 4.16 size: 6930
[libx264 @ 0x5627c5267f40] frame B:820 Avg QP: 1.56 size: 1130
[libx264 @ 0x5627c5267f40] consecutive B-frames: 13.6% 7.9% 4.8% 73.7%
[libx264 @ 0x5627c5267f40] mb I I16..4: 69.2% 24.3% 6.4%
[libx264 @ 0x5627c5267f40] mb P I16..4: 2.0% 9.4% 1.6% P16..4: 1.7% 0.3% 0.1% 0.0% 0.0% skip:85.0%
[libx264 @ 0x5627c5267f40] mb B I16..4: 0.1% 0.3% 0.2% B16..8: 1.0% 0.1% 0.0% direct: 0.6% skip:97.6% L0:57.9% L1:40.1% BI: 2.0%
[libx264 @ 0x5627c5267f40] 8x8 transform intra:45.7% inter:71.9%
[libx264 @ 0x5627c5267f40] coded y,uvDC,uvAC intra: 36.1% 46.9% 43.4% inter: 0.4% 1.1% 0.7%
[libx264 @ 0x5627c5267f40] i16 v,h,dc,p: 93% 4% 3% 0%
[libx264 @ 0x5627c5267f40] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 65% 8% 16% 1% 2% 3% 1% 2% 2%
[libx264 @ 0x5627c5267f40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 50% 20% 10% 3% 4% 5% 3% 4% 2%
[libx264 @ 0x5627c5267f40] i8c dc,h,v,p: 61% 10% 25% 4%
[libx264 @ 0x5627c5267f40] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x5627c5267f40] ref P L0: 72.6% 2.7% 18.0% 6.7%
[libx264 @ 0x5627c5267f40] ref B L0: 89.1% 9.4% 1.5%
[libx264 @ 0x5627c5267f40] ref B L1: 98.0% 2.0%
[libx264 @ 0x5627c5267f40] kb/s:1059.69
[aac @ 0x5627c51d25c0] Qavg: 46028.516
avideo@ubuntu:~$



-
FFMPEG : How to add volume to filter complex
7 novembre 2020, par MartinThis is my filter complex script :


-filter_complex "[0:a]highpass=f=200,lowpass=f=3000[mic];[mic][1:a]amix=duration=shortest[a]" -map 0:v -map "[a]"


I would like to add in here volume steering for each audio (there are two)
I know that "volume=0.5" should be added there somewhere but i don't know where. Could someone help me please ?


-
Use FFMPEG mux flv and send rtmp on IOS
5 novembre 2020, par downlossI would like to use iphone camera & microphone to capture information pushed out through FFMPEG RTMP Streaming



The following Function capture information on IOS



- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection
{ 
 if (connection == videoCaptureConnection)
 {
 [manager264 encoderToH264:sampleBuffer];
 }
 else if (connection == audioCaptureConnection)
 {
 [manager264 encoderToMP3:sampleBuffer];
 }
}




Initialization FFMPEG



- (int)setX264Resource
{
 Global_Variables_VVV = (AppDelegate *)[[UIApplication sharedApplication] delegate];
 avformat_network_init();
 av_register_all();

 pFormatCtx = avformat_alloc_context();
 avformat_alloc_output_context2(&pFormatCtx, NULL, "flv", out_file);
 fmt = pFormatCtx->oformat;

 //Open output URL
 if (avio_open(&pFormatCtx->pb, out_file, AVIO_FLAG_READ_WRITE) < 0)
 {
 printf("Failed to open output file! \n");
 return -1;
 }

 /* Add the audio and video streams using the default format codecs
 * and initialize the codecs. */
 video_st = NULL;
 audio_st = NULL;
 if (fmt->video_codec != AV_CODEC_ID_NONE) {
 video_st = add_stream(pFormatCtx, &pCodec, AV_CODEC_ID_H264);
 }
 if (fmt->audio_codec != AV_CODEC_ID_NONE) {
 audio_st = add_stream(pFormatCtx, &aCodec, AV_CODEC_ID_MP3);
 }

 /* Now that all the parameters are set, we can open the audio and
 * video codecs and allocate the necessary encode buffers. */
 if (video_st)
 [self open_video:pFormatCtx avcodec:pCodec avstream:video_st];

 if (audio_st)
 [self open_audio:pFormatCtx avcodec:aCodec avstream:audio_st];

 // Show some Information
 av_dump_format(pFormatCtx, 0, out_file, 1);

 //Write File Header
 avformat_write_header(pFormatCtx, NULL);

 av_new_packet(&pkt, picture_size);
 av_new_packet(&pkt2, picture_size);

 AVCodecContext *c = video_st->codec;

 y_size = c->width * c->height;

 if (pFrame)
 pFrame->pts = 0;

 if(aFrame)
 {
 aFrame->pts = 0;
 }

 return 0;
}

static AVStream *add_stream(AVFormatContext *oc, AVCodec **codec, enum AVCodecID codec_id)
{
 AVCodecContext *c;
 AVStream *st;
 /* find the encoder */
 *codec = avcodec_find_encoder(codec_id);
 if (!(*codec))
 {
 NSLog(@"Could not find encoder for '%s'\n",
 avcodec_get_name(codec_id));
 }
 st = avformat_new_stream(oc, *codec);
 if (!st)
 {
 NSLog(@"Could not allocate stream\n");
 }
 st->id = oc->nb_streams-1;
 c = st->codec;
 switch ((*codec)->type)
 {
 case AVMEDIA_TYPE_AUDIO:
 c->codec_id = AV_CODEC_ID_MP3;
 c->codec_type = AVMEDIA_TYPE_AUDIO;
 c->channels = 1;

 c->sample_fmt = AV_SAMPLE_FMT_S16P;
 c->bit_rate = 128000;
 c->sample_rate = 44100;
 c->channel_layout = AV_CH_LAYOUT_MONO;
 break;
 case AVMEDIA_TYPE_VIDEO:
 c->codec_id = AV_CODEC_ID_H264;
 c->codec_type=AVMEDIA_TYPE_VIDEO;
 /* Resolution must be a multiple of two. */
 c->width = 720;
 c->height = 1280;
 /* timebase: This is the fundamental unit of time (in seconds) in terms
 * of which frame timestamps are represented. For fixed-fps content,
 * timebase should be 1/framerate and timestamp increments should be
 * identical to 1. */
 c->time_base.den = 30;
 c->time_base.num = 1;
 c->gop_size = 15; /* emit one intra frame every twelve frames at most */
 c->pix_fmt = PIX_FMT_YUV420P;
 c->max_b_frames = 0;
 c->bit_rate = 3000000;
 c->qmin = 10;
 c->qmax = 51;

 break;
 default:
 break;
 }
 /* Some formats want stream headers to be separate. */
 if (oc->oformat->flags & AVFMT_GLOBALHEADER)
 c->flags |= CODEC_FLAG_GLOBAL_HEADER;
 return st;
}




SampleBuffer will turn into H264 and pushed out RTMP Streaming



- (void)encoderToH264:(CMSampleBufferRef)sampleBuffer
{
 CVPixelBufferRef imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);
 if (CVPixelBufferLockBaseAddress(imageBuffer, 0) == kCVReturnSuccess)
 {
 UInt8 *bufferbasePtr = (UInt8 *)CVPixelBufferGetBaseAddress(imageBuffer);
 UInt8 *bufferPtr = (UInt8 *)CVPixelBufferGetBaseAddressOfPlane(imageBuffer,0);
 UInt8 *bufferPtr1 = (UInt8 *)CVPixelBufferGetBaseAddressOfPlane(imageBuffer,1);
 size_t buffeSize = CVPixelBufferGetDataSize(imageBuffer);
 size_t width = CVPixelBufferGetWidth(imageBuffer);
 size_t height = CVPixelBufferGetHeight(imageBuffer);
 size_t bytesPerRow = CVPixelBufferGetBytesPerRow(imageBuffer);
 size_t bytesrow0 = CVPixelBufferGetBytesPerRowOfPlane(imageBuffer,0);
 size_t bytesrow1 = CVPixelBufferGetBytesPerRowOfPlane(imageBuffer,1);
 size_t bytesrow2 = CVPixelBufferGetBytesPerRowOfPlane(imageBuffer,2);
 UInt8 *yuv420_data = (UInt8 *)malloc(width * height *3/ 2); // buffer to store YUV with layout YYYYYYYYUUVV


 /* convert NV12 data to YUV420*/
 UInt8 *pY = bufferPtr ;
 UInt8 *pUV = bufferPtr1;
 UInt8 *pU = yuv420_data + width*height;
 UInt8 *pV = pU + width*height/4;
 for(int i =0;i/Read raw YUV data
 picture_buf = yuv420_data;
 pFrame->data[0] = picture_buf; // Y
 pFrame->data[1] = picture_buf+ y_size; // U
 pFrame->data[2] = picture_buf+ y_size*5/4; // V

 int got_picture = 0;

 // Encode
 pFrame->width = 720;
 pFrame->height = 1280;
 pFrame->format = PIX_FMT_YUV420P;

 AVCodecContext *c = video_st->codec;
 int ret = avcodec_encode_video2(c, &pkt, pFrame, &got_picture);
 if(ret < 0)
 {
 printf("Failed to encode! \n");
 }

 if (got_picture==1)
 {
 /* Compute current audio and video time. */
 video_time = video_st ? video_st->pts.val * av_q2d(video_st->time_base) : 0.0;
 pFrame->pts += av_rescale_q(1, video_st->codec->time_base, video_st->time_base);

 if(pkt.size != 0)
 {
 printf("Succeed to encode frame: %5lld\tsize:%5d\n", pFrame->pts, pkt.size);
 pkt.stream_index = video_st->index;
 ret = av_write_frame(pFormatCtx, &pkt);
 av_free_packet(&pkt);
 }
 }
 free(yuv420_data);
 }
 CVPixelBufferUnlockBaseAddress(imageBuffer, 0);
}




SampleBuffer will turn into MP3 and pushed out RTMP Streaming



-(void)encoderToMP3:(CMSampleBufferRef)sampleBuffer
{
 CMSampleTimingInfo timing_info;
 CMSampleBufferGetSampleTimingInfo(sampleBuffer, 0, &timing_info);
 double pts=0;
 double dts=0;
 AVCodecContext *c;
 int got_packet, ret;
 c = audio_st->codec;
 CMItemCount numSamples = CMSampleBufferGetNumSamples(sampleBuffer);

 NSUInteger channelIndex = 0;

 CMBlockBufferRef audioBlockBuffer = CMSampleBufferGetDataBuffer(sampleBuffer);

 size_t audioBlockBufferOffset = (channelIndex * numSamples * sizeof(SInt16));
 size_t lengthAtOffset = 0;
 size_t totalLength = 0;
 SInt16 *samples = NULL;
 CMBlockBufferGetDataPointer(audioBlockBuffer, audioBlockBufferOffset, &lengthAtOffset, &totalLength, (char **)(&samples));

 const AudioStreamBasicDescription *audioDescription = CMAudioFormatDescriptionGetStreamBasicDescription(CMSampleBufferGetFormatDescription(sampleBuffer));

 SwrContext *swr = swr_alloc();

 int in_smprt = (int)audioDescription->mSampleRate;
 av_opt_set_int(swr, "in_channel_layout", AV_CH_LAYOUT_MONO, 0);
 av_opt_set_int(swr, "out_channel_layout", audio_st->codec->channel_layout, 0);

 av_opt_set_int(swr, "in_channel_count", audioDescription->mChannelsPerFrame, 0);
 av_opt_set_int(swr, "out_channel_count", 1, 0);

 av_opt_set_int(swr, "out_channel_layout", audio_st->codec->channel_layout, 0);
 av_opt_set_int(swr, "in_sample_rate", audioDescription->mSampleRate,0);

 av_opt_set_int(swr, "out_sample_rate", audio_st->codec->sample_rate,0);

 av_opt_set_sample_fmt(swr, "in_sample_fmt", AV_SAMPLE_FMT_S16, 0);

 av_opt_set_sample_fmt(swr, "out_sample_fmt", audio_st->codec->sample_fmt, 0);

 swr_init(swr);
 uint8_t **input = NULL;
 int src_linesize;
 int in_samples = (int)numSamples;
 ret = av_samples_alloc_array_and_samples(&input, &src_linesize, audioDescription->mChannelsPerFrame, in_samples, AV_SAMPLE_FMT_S16P, 0);

 *input=(uint8_t*)samples;
 uint8_t *output=NULL;

 int out_samples = av_rescale_rnd(swr_get_delay(swr, in_smprt) +in_samples, (int)audio_st->codec->sample_rate, in_smprt, AV_ROUND_UP);

 av_samples_alloc(&output, NULL, audio_st->codec->channels, out_samples, audio_st->codec->sample_fmt, 0);
 in_samples = (int)numSamples;
 out_samples = swr_convert(swr, &output, out_samples, (const uint8_t **)input, in_samples);

 aFrame->nb_samples =(int) out_samples;

 ret = avcodec_fill_audio_frame(aFrame, audio_st->codec->channels, audio_st->codec->sample_fmt,
 (uint8_t *)output,
 (int) out_samples *
 av_get_bytes_per_sample(audio_st->codec->sample_fmt) *
 audio_st->codec->channels, 1);
 if (ret < 0)
 {
 fprintf(stderr, "Error fill audio frame: %s\n", av_err2str(ret));
 }
 aFrame->channel_layout = audio_st->codec->channel_layout;
 aFrame->channels=audio_st->codec->channels;
 aFrame->sample_rate= audio_st->codec->sample_rate;

 if (timing_info.presentationTimeStamp.timescale!=0)
 pts=(double) timing_info.presentationTimeStamp.value/timing_info.presentationTimeStamp.timescale;


 aFrame->pts = pts*audio_st->time_base.den;
 aFrame->pts = av_rescale_q(aFrame->pts, audio_st->time_base, audio_st->codec->time_base);

 ret = avcodec_encode_audio2(c, &pkt2, aFrame, &got_packet);

 if (ret < 0)
 {
 fprintf(stderr, "Error encoding audio frame: %s\n", av_err2str(ret));
 }
 swr_free(&swr);

 if (got_packet)
 {
 pkt2.stream_index = audio_st->index; 

 // Write the compressed frame to the media file.

 ret = av_interleaved_write_frame(pFormatCtx, &pkt2);
 if (ret != 0)
 {
 fprintf(stderr, "Error while writing audio frame: %s\n", av_err2str(ret));
 av_free_packet(&pkt2);
 }
 }
}




Soon "Broken pipe" problem occurs after execution.
PTS is currently feeling is not adjusted, but do not know how to adjust the PTS.



2016-03-09 16:57:41.058 PoliceCamPlayer[1004:193465] recordVideo....
[libx264 @ 0x12f8b6e00] using cpu capabilities: ARMv8 NEON
[libx264 @ 0x12f8b6e00] profile Constrained Baseline, level 3.1
[libx264 @ 0x12f8b6e00] 264 - core 148 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=2 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=15 keyint_min=1 scenecut=40 intra_refresh=0 rc=abr mbtree=0 bitrate=3000 ratetol=1.0 qcomp=0.60 qpmin=25 qpmax=51 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, flv, to 'rtmp://XXX.XX.XXX.XX/myapp/jackal':
 Stream #0:0: Video: h264 (libx264), yuv420p, 720x1280, q=25-51, 3000 kb/s, 23 tbc
 Stream #0:1: Audio: mp3 (libmp3lame), 44100 Hz, mono, s16p, 64 kb/s
[flv @ 0x12f8b5400] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead.
[flv @ 0x12f8b5400] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead.
[libx264 @ 0x12f8b6e00] Provided packet is too small, needs to be 33468
Failed to encode! 
Audio_pts:4154432515 pts_time:4.15443e+06 dts:4154432515 dts_time:4.15443e+06 duration:1152 duration_time:1.152 stream_index:1
Video_pts:43 pts_time:0.043 dts:43 dts_time:0.043 duration:0 duration_time:0 stream_index:0
Audio_pts:4154433667 pts_time:4.15443e+06 dts:4154433667 dts_time:4.15443e+06 duration:1152 duration_time:1.152 stream_index:1
Audio_pts:4154434854 pts_time:4.15443e+06 dts:4154434854 dts_time:4.15443e+06 duration:1152 duration_time:1.152 stream_index:1
Video_pts:86 pts_time:0.086 dts:86 dts_time:0.086 duration:0 duration_time:0 stream_index:0
Audio_pts:4154435996 pts_time:4.15444e+06 dts:4154435996 dts_time:4.15444e+06 duration:1152 duration_time:1.152 stream_index:1
Audio_pts:4154437138 pts_time:4.15444e+06 dts:4154437138 dts_time:4.15444e+06 duration:1152 duration_time:1.152 stream_index:1
Video_pts:129 pts_time:0.129 dts:129 dts_time:0.129 duration:0 duration_time:0 stream_index:0
Audio_pts:4154438281 pts_time:4.15444e+06 dts:4154438281 dts_time:4.15444e+06 duration:1152 duration_time:1.152 stream_index:1
Video_pts:172 pts_time:0.172 dts:172 dts_time:0.172 duration:0 duration_time:0 stream_index:0
Audio_pts:4154439467 pts_time:4.15444e+06 dts:4154439467 dts_time:4.15444e+06 duration:1152 duration_time:1.152 stream_index:1
Video_pts:215 pts_time:0.215 dts:215 dts_time:0.215 duration:0 duration_time:0 stream_index:0
Audio_pts:4154440609 pts_time:4.15444e+06 dts:4154440609 dts_time:4.15444e+06 duration:1152 duration_time:1.152 stream_index:1
Audio_pts:4154441752 pts_time:4.15444e+06 dts:4154441752 dts_time:4.15444e+06 duration:1152 duration_time:1.152 stream_index:1
Video_pts:258 pts_time:0.258 dts:258 dts_time:0.258 duration:0 duration_time:0 stream_index:0
Audio_pts:4154442884 pts_time:4.15444e+06 dts:4154442884 dts_time:4.15444e+06 duration:1152 duration_time:1.152 stream_index:1
Audio_pts:4154444071 pts_time:4.15444e+06 dts:4154444071 dts_time:4.15444e+06 duration:1152 duration_time:1.152 stream_index:1
Video_pts:301 pts_time:0.301 dts:301 dts_time:0.301 duration:0 duration_time:0 stream_index:0
Audio_pts:4154445213 pts_time:4.15445e+06 dts:4154445213 dts_time:4.15445e+06 duration:1152 duration_time:1.152 stream_index:1
Audio_pts:4154446355 pts_time:4.15445e+06 dts:4154446355 dts_time:4.15445e+06 duration:1152 duration_time:1.152 stream_index:1
Video_pts:344 pts_time:0.344 dts:344 dts_time:0.344 duration:0 duration_time:0 stream_index:0
Audio_pts:4154447498 pts_time:4.15445e+06 dts:4154447498 dts_time:4.15445e+06 duration:1152 duration_time:1.152 stream_index:1
Video_pts:387 pts_time:0.387 dts:387 dts_time:0.387 duration:0 duration_time:0 stream_index:0
Audio_pts:4154448640 pts_time:4.15445e+06 dts:4154448640 dts_time:4.15445e+06 duration:1152 duration_time:1.152 stream_index:1
Audio_pts:4154449826 pts_time:4.15445e+06 dts:4154449826 dts_time:4.15445e+06 duration:1152 duration_time:1.152 stream_index:1
Video_pts:430 pts_time:0.43 dts:430 dts_time:0.43 duration:0 duration_time:0 stream_index:0
Audio_pts:4154450969 pts_time:4.15445e+06 dts:4154450969 dts_time:4.15445e+06 duration:1152 duration_time:1.152 stream_index:1
Audio_pts:4154452101 pts_time:4.15445e+06 dts:4154452101 dts_time:4.15445e+06 duration:1152 duration_time:1.152 stream_index:1
...................
...................
...................
Video_pts:4343 pts_time:4.343 dts:4343 dts_time:4.343 duration:0 duration_time:0 stream_index:0
Audio_pts:4154622619 pts_time:4.15462e+06 dts:4154622619 dts_time:4.15462e+06 duration:1152 duration_time:1.152 stream_index:1
Video_pts:4386 pts_time:4.386 dts:4386 dts_time:4.386 duration:0 duration_time:0 stream_index:0
Audio_pts:4154623761 pts_time:4.15462e+06 dts:4154623761 dts_time:4.15462e+06 duration:1152 duration_time:1.152 stream_index:1
Audio_pts:4154624903 pts_time:4.15462e+06 dts:4154624903 dts_time:4.15462e+06 duration:1152 duration_time:1.152 stream_index:1
Audio_pts:4154626090 pts_time:4.15463e+06 dts:4154626090 dts_time:4.15463e+06 duration:1152 duration_time:1.152 stream_index:1
Video_pts:4429 pts_time:4.429 dts:4429 dts_time:4.429 duration:0 duration_time:0 stream_index:0
Audio_pts:4154627222 pts_time:4.15463e+06 dts:4154627222 dts_time:4.15463e+06 duration:1152 duration_time:1.152 stream_index:1
Video_pts:4472 pts_time:4.472 dts:4472 dts_time:4.472 duration:0 duration_time:0 stream_index:0
Error while writing audio frame: Broken pipe
Audio_pts:4154628365 pts_time:4.15463e+06 dts:4154628365 dts_time:4.15463e+06 duration:1152 duration_time:1.152 stream_index:1
Error while writing audio frame: Broken pipe
Audio_pts:4154629507 pts_time:4.15463e+06 dts:4154629507 dts_time:4.15463e+06 duration:1152 duration_time:1.152 stream_index:1
Error while writing audio frame: Broken pipe
Audio_pts:4154630693 pts_time:4.15463e+06 dts:4154630693 dts_time:4.15463e+06 duration:1152 duration_time:1.152 stream_index:1
Error while writing audio frame: Broken pipe
Audio_pts:4154631836 pts_time:4.15463e+06 dts:4154631836 dts_time:4.15463e+06 duration:1152 duration_time:1.152 stream_index:1
Error while writing audio frame: Broken pipe
Audio_pts:4154632978 pts_time:4.15463e+06 dts:4154632978 dts_time:4.15463e+06 duration:1152 duration_time:1.152 stream_index:1
.......................
.......................
.......................
2016-03-09 16:57:49.345 PoliceCamPlayer[1004:193465] stopRecord!!!
Video_pts:7783 pts_time:7.783 dts:7783 dts_time:7.783 duration:0 duration_time:0 stream_index:0
[flv @ 0x12f8b5400] Failed to update header with correct duration.
[flv @ 0x12f8b5400] Failed to update header with correct filesize.
[libx264 @ 0x12f8b6e00] frame I:28 Avg QP:25.36 size: 24181
[libx264 @ 0x12f8b6e00] frame P:154 Avg QP:25.34 size: 6603
[libx264 @ 0x12f8b6e00] mb I I16..4: 80.9% 0.0% 19.1%
[libx264 @ 0x12f8b6e00] mb P I16..4: 5.9% 0.0% 0.2% P16..4: 28.2% 4.4% 1.0% 0.0% 0.0% skip:60.2%
[libx264 @ 0x12f8b6e00] final ratefactor: 16.70
[libx264 @ 0x12f8b6e00] coded y,uvDC,uvAC intra: 35.8% 9.3% 0.4% inter: 8.8% 1.6% 0.0%
[libx264 @ 0x12f8b6e00] i16 v,h,dc,p: 28% 26% 26% 21%
[libx264 @ 0x12f8b6e00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 13% 26% 25% 3% 7% 4% 5% 3% 13%
[libx264 @ 0x12f8b6e00] i8c dc,h,v,p: 85% 9% 5% 0%
[libx264 @ 0x12f8b6e00] kb/s:1712.63