Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. # I am aware that ffmpeg noramlly wants full command-lines and unmolested console logs, but in this case it simply wouldn't be
  2. # practical as the output is tens or hundreds of thousands of lines at the best, and megabytes of text output at the worst,
  3. # when more verbosity is enabled.  The only snipped output is that which I know for a fact to be absolutely irrelevant.  
  4.  
  5. # The development enviroment is a clone of the production environment, which is up to date Scientific Linux 6 (RHEL) system,
  6. # and the tools used are the latest versions of ffmpeg and relevant libraries, except where the distribution supplied libraries
  7. # are compatible and sufficient, or at a minimum, adaptable to ffmpeg without requiring extensive modification patches to the
  8. # upstream ffmpeg checkouts.  
  9.  
  10. # The build system is fully automated and can be switched to produce valid RPMs at any moment for easy deployment across
  11. # different managed production and development system environments.  Currently in the development environment the 12 ffmpeg
  12. # dependencies that are not available through trusted distribution repositories are locally installed into /opt and the
  13. # final binaries into /usr/local, but this is not relevant in any way to the problem at hand and our build system, automated
  14. # testing, and deployments are performing flawlessly.  For completeness, 11 of the 12 new dependencies are built as shared
  15. # libraries: xavs, x265, vo-aacenc, soxr, webp, vid.stab, shine, fdk_aac, aacplus, gme, and celt.  The last of the tweleve is
  16. # vpx, which is staticly linked with ffmpeg since it is built in such a way that it is binary incompatible with the RHEL
  17. # repository supplied libvpx, and is only used by my ffmpeg anyway.
  18.  
  19. # The goals of having a) the latest ffmpeg available at all times via package management, b) the ability to update or rollback
  20. # ffmpeg releases across the entire enterprise, and c) having nearly every supported ffmpeg feature enabled with only minimal
  21. # additions of new packages or changes to upstream ffmpeg code was easily achievable thanks to the ease of use of Red
  22. # Hat's superior packaging and build tools.  We can test, validate, and push out new releases to several thousand hosts in
  23. # multiple clusters of mixed architectures with near-zero QA effort.  Woop.  
  24.  
  25. # I'm prototyping the application first through an unholy mix of awk, sed, ksh, and Object REXX at this time.  The final release
  26. # application will be written in C and Erlang and use the ffmpeg libraries directly.  This is my first use of ffmpeg and
  27. # handling multimedia or streaming at all (I'm a mainframe guy), so please forgive me for my lack of knowledge.
  28.  
  29. # System information
  30.  
  31. $ lsb_release -a
  32. LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
  33. Distributor ID: Scientific
  34. Description:    Scientific Linux release 6.5 (Carbon)
  35. Release:        6.5
  36. Codename:       Carbon
  37.  
  38. $ file -L ffmpeg
  39. ffmpeg: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
  40.  
  41. # Dynamically linked dependencies (base)
  42.  
  43. $ yum list installed `(ldd ffmpeg|awk '{print $3}'|grep '^/.*$'# Dynamically linked dependencies (local)
  44.  
  45. $ ldd ffmpeg|awk '{print $3}'|grep '^/.*$'|xargs -n1 rpm -qf|sort|uniq|grep \^file|awk '{print $2}'|sort
  46. /opt/celt-local/lib/libcelt0.so.2
  47. /opt/gme-local/lib/libgme.so.0
  48. /opt/libaacplus-local/lib/libaacplus.so.2
  49. /opt/libfdk-aac/lib/libfdk-aac.so.0
  50. /opt/libshine-fxp-local/lib/libshine.so.3
  51. /opt/libvidstab-local/lib/libvidstab.so.0.9
  52. /opt/libwebp-local/lib/libwebp.so.5
  53. /opt/soxr-local/lib/libsoxr.so.0
  54. /opt/vo-aacenc/lib/libvo-aacenc.so.0
  55. /opt/x265-local/lib/libx265.so.28
  56. /opt/xavs-local/lib/libxavs.so.1
  57. /usr/local/ffmpeg/lib/libavcodec.so.55
  58. /usr/local/ffmpeg/lib/libavdevice.so.55
  59. /usr/local/ffmpeg/lib/libavfilter.so.4
  60. /usr/local/ffmpeg/lib/libavformat.so.55
  61. /usr/local/ffmpeg/lib/libavresample.so.1
  62. /usr/local/ffmpeg/lib/libavutil.so.52
  63. /usr/local/ffmpeg/lib/libpostproc.so.52
  64. /usr/local/ffmpeg/lib/libswresample.so.0
  65. /usr/local/ffmpeg/lib/libswscale.so.2
  66.  
  67. $ (cd ~/src/celt && git log)|head -n3|tail -n1
  68. Date:   Wed Sep 14 12:23:04 2011 -0700
  69.  
  70. $ grep 'VERSION' /opt/gme-local/include/gme/gme.h
  71. #define GME_VERSION 0x000600 /* 1 byte major, 1 byte minor, 1 byte patch-level */
  72.  
  73. $ ls -l /opt/libaacplus-local/lib/libaacplus.so
  74. lrwxrwxrwx. 1 root root 19 Jul 24 15:41 /opt/libaacplus-local/lib/libaacplus.so -> libaacplus.so.2.0.2*
  75.  
  76. $ (cd ~/src/fdk-aac && git log)|head -n3|tail -n1
  77. Date:   Wed Mar 12 15:23:13 2014 +0200
  78.  
  79. $ (cd ~/src/shine && git log)|head -n3|tail -n1
  80. Date:   Thu Apr 10 15:26:57 2014 -0500
  81.  
  82. $ (cd ~/src/vid.stab && git log)|head -n4|tail -n1
  83. Date:   Fri Jul 11 20:52:24 2014 +0200
  84.  
  85. $ (cd ~/src/libwebp && git log)|head -n3|tail -n1
  86. Date:   Mon Jul 21 14:48:22 2014 -0700
  87.  
  88. $ grep 'VERSION_STR' /opt/soxr-local/include/*
  89. /opt/soxr-local/include/soxr.h:#define SOXR_THIS_VERSION_STR               "0.1.1"
  90.  
  91. $ (cd ~/src/vo-aacenc && git log)|head -n3|tail -n1
  92. Date:   Wed Apr 30 17:56:41 2014 +0300
  93.  
  94. $ /opt/x265-local/bin/x265 -V|head -n1
  95. x265 [info]: HEVC encoder version 1.2+289-b78d4dc01e2c
  96.  
  97. $ /opt/xavs-local/bin/xavs -V|head -n1
  98. xavs 0.1.55
  99.  
  100. # Static linked dependencies (local)
  101.  
  102. $ (cd ~/src/libvpx && git log)|head -n4|tail -n1
  103. Date:   Wed Jul 23 22:45:51 2014 -0700
  104.  
  105. # ffmpeg itself
  106.  
  107. $ cat ~/src/ffmpeg-build/configure.build.in.txt ~/src/ffmpeg-build/configure.build.out.txt
  108. PKG_CONFIG_PATH=/opt/libwebp-local/lib/pkgconfig:/opt/libaacplus-local/lib/pkgconfig:/opt/libvidstab-local/lib/pkgconfig:/opt/soxr-local/lib/pkgconfig:/opt/x265-local/lib/pkgconfig:/opt/libshine-fxp-local/lib/pkgconfig:/opt/libfdk-aac/lib/pkgconfig:/opt/xavs-local/lib/pkgconfig:/opt/vo-aacenc/lib/pkgconfig:/opt/gme-local/lib/pkgconfig:/opt/frei0r-local/lib/pkgconfig:$PKG_CONFIG_PATH ../ffmpeg/configure --enable-gpl --enable-nonfree --enable-version3 --enable-pic --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libschroedinger --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libvo-aacenc --enable-libx264 --arch=x86_64 --cpu=native --enable-gray --enable-avisynth --enable-avisynth --enable-fontconfig --enable-iconv --enable-libspeex --enable-libxvid --enable-openal --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libgsm --enable-libopus --enable-libcaca --enable-ladspa --enable-libass --enable-libfribidi --enable-opengl --enable-libsoxr --enable-libx265 --enable-libcdio --enable-libilbc --enable-libopencv --enable-libzvbi --enable-libfreetype --enable-libmodplug --enable-libopenjpeg --enable-libzmq --enable-libwavpack --enable-librtmp --enable-libsmbclient --enable-libvpx --enable-libmp3lame --enable-openssl --enable-x11grab --enable-libpulse --enable-libiec61883 --enable-libbluray --enable-libbs2b --enable-libcelt --enable-libdc1394 --enable-libwebp --enable-libaacplus --enable-libvidstab --enable-postproc --enable-shared --enable-avresample --enable-frei0r --enable-libshine --enable-libfdk-aac --enable-libxavs --enable-libgme --extra-cflags="-O2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -march=native -I/opt/celt-local/include -I/opt/libvpx-local/include -I/opt/libwebp-local/include -I/opt/libvidstab-local/include -I/opt/libaacplus-local/include -I/opt/soxr-local/include -I/opt/x265-local/include -I/opt/libshine-fxp-local/include -I/opt/libfdk-aac/include -I/opt/xavs-local/include -I/opt/vo-aacenc/include -I/opt/gme-local/include -I/opt/frei0r-local/include" --extra-ldflags="-L/opt/celt-local/lib -L/opt/libvpx-local/lib -L/opt/libwebp-local/lib -L/opt/libvidstab-local/lib -L/opt/libaacplus-local/lib -L/opt/soxr-local/lib -L/opt/x265-local/lib -L/opt/libshine-fxp-local/lib -L/opt/libfdk-aac/lib -L/opt/xavs-local/lib -L/opt/vo-aacenc/lib -L/opt/gme-local/lib -L/opt/frei0r-local/lib" --prefix=/usr/local/ffmpeg-2014-07-25 --extra-version="local-trnsz"
  109.  
  110. install prefix            /usr/local/ffmpeg-2014-07-25
  111. source path               ~/src/ffmpeg
  112. C compiler                gcc
  113. C library                 glibc
  114. ARCH                      x86 (native)
  115. version string suffix     local-trnsz
  116. big-endian                no
  117. runtime cpu detection     yes
  118. yasm                      yes
  119. MMX enabled               yes
  120. MMXEXT enabled            yes
  121. 3DNow! enabled            yes
  122. 3DNow! extended enabled   yes
  123. SSE enabled               yes
  124. SSSE3 enabled             yes
  125. AVX enabled               yes
  126. XOP enabled               yes
  127. FMA3 enabled              yes
  128. FMA4 enabled              yes
  129. i686 features enabled     yes
  130. CMOV is fast              yes
  131. EBX available             yes
  132. EBP available             yes
  133. debug symbols             yes
  134. strip symbols             yes
  135. optimize for size         no
  136. optimizations             yes
  137. static                    yes
  138. shared                    yes
  139. postprocessing support    yes
  140. new filter support        yes
  141. network support           yes
  142. threading support         pthreads
  143. safe bitstream reader     yes
  144. SDL support               yes
  145. opencl enabled            no
  146. texi2html enabled         yes
  147. perl enabled              yes
  148. pod2man enabled           yes
  149. makeinfo enabled          yes
  150.  
  151. External libraries:
  152. avisynth        libiec61883     libvidstab
  153. bzlib           libilbc         libvo_aacenc
  154. frei0r          libmodplug      libvo_amrwbenc
  155. iconv           libmp3lame      libvorbis
  156. ladspa          libopencore_amrnb   libvpx
  157. libaacplus      libopencore_amrwb   libwavpack
  158. libass          libopencv       libwebp
  159. libbluray       libopenjpeg     libx264
  160. libbs2b         libopus         libx265
  161. libcaca         libpulse        libxavs
  162. libcdio         librtmp         libxvid
  163. libcelt         libschroedinger     libzmq
  164. libdc1394       libshine        libzvbi
  165. libfaac         libsmbclient        openal
  166. libfdk_aac      libsoxr         opengl
  167. libfontconfig       libspeex        openssl
  168. libfreetype     libssh          x11grab
  169. libfribidi      libtheora       xlib
  170. libgme          libtwolame      zlib
  171. libgsm          libv4l2
  172.  
  173. Enabled decoders:
  174. aac         bink            gsm_ms
  175. aac_latm        binkaudio_dct       h261
  176. aasc            binkaudio_rdft      h263
  177. ac3         bintext         h263i
  178. ac3_fixed       bmp         h263p
  179. adpcm_4xm       bmv_audio       h264
  180. adpcm_adx       bmv_video       h264_vdpau
  181. adpcm_afc       brender_pix     hevc
  182. adpcm_ct        c93         hnm4_video
  183. adpcm_dtk       cavs            huffyuv
  184. adpcm_ea        cdgraphics      iac
  185. adpcm_ea_maxis_xa   cdxl            idcin
  186. adpcm_ea_r1     cinepak         idf
  187. adpcm_ea_r2     cljr            iff_byterun1
  188. adpcm_ea_r3     cllc            iff_ilbm
  189. adpcm_ea_xas        comfortnoise        imc
  190. adpcm_g722      cook            indeo2
  191. adpcm_g726      cpia            indeo3
  192. adpcm_g726le        cscd            indeo4
  193. adpcm_ima_amv       cyuv            indeo5
  194. adpcm_ima_apc       dca         interplay_dpcm
  195. adpcm_ima_dk3       dfa         interplay_video
  196. adpcm_ima_dk4       dirac           jacosub
  197. adpcm_ima_ea_eacs   dnxhd           jpeg2000
  198. adpcm_ima_ea_sead   dpx         jpegls
  199. adpcm_ima_iss       dsd_lsbf        jv
  200. adpcm_ima_oki       dsd_lsbf_planar     kgv1
  201. adpcm_ima_qt        dsd_msbf        kmvc
  202. adpcm_ima_rad       dsd_msbf_planar     lagarith
  203. adpcm_ima_smjpeg    dsicinaudio     libcelt
  204. adpcm_ima_wav       dsicinvideo     libfdk_aac
  205. adpcm_ima_ws        dvbsub          libgsm
  206. adpcm_ms        dvdsub          libgsm_ms
  207. adpcm_sbpro_2       dvvideo         libilbc
  208. adpcm_sbpro_3       dxa         libopencore_amrnb
  209. adpcm_sbpro_4       dxtory          libopencore_amrwb
  210. adpcm_swf       eac3            libopenjpeg
  211. adpcm_thp       eacmv           libopus
  212. adpcm_vima      eamad           libschroedinger
  213. adpcm_xa        eatgq           libspeex
  214. adpcm_yamaha        eatgv           libvorbis
  215. aic         eatqi           libvpx_vp8
  216. alac            eightbps        libvpx_vp9
  217. alias_pix       eightsvx_exp        libzvbi_teletext
  218. als         eightsvx_fib        loco
  219. amrnb           escape124       mace3
  220. amrwb           escape130       mace6
  221. amv         evrc            mdec
  222. anm         exr         metasound
  223. ansi            ffv1            microdvd
  224. ape         ffvhuff         mimic
  225. ass         ffwavesynth     mjpeg
  226. asv1            fic         mjpegb
  227. asv2            flac            mlp
  228. atrac1          flashsv         mmvideo
  229. atrac3          flashsv2        motionpixels
  230. atrac3p         flic            movtext
  231. aura            flv         mp1
  232. aura2           fourxm          mp1float
  233. avrn            fraps           mp2
  234. avrp            frwu            mp2float
  235. avs         g2m         mp3
  236. avui            g723_1          mp3adu
  237. ayuv            g729            mp3adufloat
  238. bethsoftvid     gif         mp3float
  239. bfi         gsm         mp3on4
  240. mp3on4float     pgssub          tscc
  241. mpc7            pictor          tscc2
  242. mpc8            pjs         tta
  243. mpeg1_vdpau     png         twinvq
  244. mpeg1video      ppm         txd
  245. mpeg2video      prores          ulti
  246. mpeg4           prores_lgpl     utvideo
  247. mpeg4_vdpau     ptx         v210
  248. mpeg_vdpau      qcelp           v210x
  249. mpegvideo       qdm2            v308
  250. mpl2            qdraw           v408
  251. msa1            qpeg            v410
  252. msmpeg4v1       qtrle           vb
  253. msmpeg4v2       r10k            vble
  254. msmpeg4v3       r210            vc1
  255. msrle           ra_144          vc1_vdpau
  256. mss1            ra_288          vc1image
  257. mss2            ralf            vcr1
  258. msvideo1        rawvideo        vima
  259. mszh            realtext        vmdaudio
  260. mts2            rl2         vmdvideo
  261. mvc1            roq         vmnc
  262. mvc2            roq_dpcm        vorbis
  263. mxpeg           rpza            vp3
  264. nellymoser      rv10            vp5
  265. nuv         rv20            vp6
  266. on2avc          rv30            vp6a
  267. opus            rv40            vp6f
  268. paf_audio       s302m           vp7
  269. paf_video       sami            vp8
  270. pam         sanm            vp9
  271. pbm         sgi         vplayer
  272. pcm_alaw        sgirle          vqa
  273. pcm_bluray      shorten         wavpack
  274. pcm_dvd         sipr            webp
  275. pcm_f32be       smackaud        webvtt
  276. pcm_f32le       smacker         wmalossless
  277. pcm_f64be       smc         wmapro
  278. pcm_f64le       smvjpeg         wmav1
  279. pcm_lxf         snow            wmav2
  280. pcm_mulaw       sol_dpcm        wmavoice
  281. pcm_s16be       sonic           wmv1
  282. pcm_s16be_planar    sp5x            wmv2
  283. pcm_s16le       srt         wmv3
  284. pcm_s16le_planar    ssa         wmv3_vdpau
  285. pcm_s24be       subrip          wmv3image
  286. pcm_s24daud     subviewer       wnv1
  287. pcm_s24le       subviewer1      ws_snd1
  288. pcm_s24le_planar    sunrast         xan_dpcm
  289. pcm_s32be       svq1            xan_wc3
  290. pcm_s32le       svq3            xan_wc4
  291. pcm_s32le_planar    tak         xbin
  292. pcm_s8          targa           xbm
  293. pcm_s8_planar       targa_y216      xface
  294. pcm_u16be       text            xl
  295. pcm_u16le       theora          xsub
  296. pcm_u24be       thp         xwd
  297. pcm_u24le       tiertexseqvideo     y41p
  298. pcm_u32be       tiff            yop
  299. pcm_u32le       tmv         yuv4
  300. pcm_u8          truehd          zero12v
  301. pcm_zork        truemotion1     zerocodec
  302. pcx         truemotion2     zlib
  303. pgm         truespeech      zmbv
  304. pgmyuv
  305.  
  306. Enabled encoders:
  307. a64multi        libopenjpeg     pcm_u24le
  308. a64multi5       libopus         pcm_u32be
  309. aac         libschroedinger     pcm_u32le
  310. ac3         libshine        pcm_u8
  311. ac3_fixed       libspeex        pcx
  312. adpcm_adx       libtheora       pgm
  313. adpcm_g722      libtwolame      pgmyuv
  314. adpcm_g726      libvo_aacenc        png
  315. adpcm_ima_qt        libvo_amrwbenc      ppm
  316. adpcm_ima_wav       libvorbis       prores
  317. adpcm_ms        libvpx_vp8      prores_aw
  318. adpcm_swf       libvpx_vp9      prores_ks
  319. adpcm_yamaha        libwavpack      qtrle
  320. alac            libwebp         r10k
  321. alias_pix       libx264         r210
  322. amv         libx264rgb      ra_144
  323. ass         libx265         rawvideo
  324. asv1            libxavs         roq
  325. asv2            libxvid         roq_dpcm
  326. avrp            ljpeg           rv10
  327. avui            mjpeg           rv20
  328. ayuv            movtext         s302m
  329. bmp         mp2         sgi
  330. cinepak         mp2fixed        snow
  331. cljr            mpeg1video      sonic
  332. comfortnoise        mpeg2video      sonic_ls
  333. dca         mpeg4           srt
  334. dnxhd           msmpeg4v2       ssa
  335. dpx         msmpeg4v3       subrip
  336. dvbsub          msvideo1        sunrast
  337. dvdsub          nellymoser      svq1
  338. dvvideo         pam         targa
  339. eac3            pbm         tiff
  340. ffv1            pcm_alaw        tta
  341. ffvhuff         pcm_f32be       utvideo
  342. flac            pcm_f32le       v210
  343. flashsv         pcm_f64be       v308
  344. flashsv2        pcm_f64le       v408
  345. flv         pcm_mulaw       v410
  346. g723_1          pcm_s16be       vorbis
  347. gif         pcm_s16be_planar    wavpack
  348. h261            pcm_s16le       webvtt
  349. h263            pcm_s16le_planar    wmav1
  350. h263p           pcm_s24be       wmav2
  351. huffyuv         pcm_s24daud     wmv1
  352. jpeg2000        pcm_s24le       wmv2
  353. jpegls          pcm_s24le_planar    xbm
  354. libaacplus      pcm_s32be       xface
  355. libfaac         pcm_s32le       xsub
  356. libfdk_aac      pcm_s32le_planar    xwd
  357. libgsm          pcm_s8          y41p
  358. libgsm_ms       pcm_s8_planar       yuv4
  359. libilbc         pcm_u16be       zlib
  360. libmp3lame      pcm_u16le       zmbv
  361. libopencore_amrnb   pcm_u24be
  362.  
  363. Enabled hwaccels:
  364. h263_vdpau      mpeg2_vdpau     vc1_vdpau
  365. h264_vdpau      mpeg4_vdpau     wmv3_vdpau
  366. mpeg1_vdpau
  367.  
  368. Enabled parsers:
  369. aac         dvd_nav         mpegvideo
  370. aac_latm        dvdsub          opus
  371. ac3         flac            png
  372. adx         gsm         pnm
  373. bmp         h261            rv30
  374. cavsvideo       h263            rv40
  375. cook            h264            tak
  376. dca         hevc            vc1
  377. dirac           mjpeg           vorbis
  378. dnxhd           mlp         vp3
  379. dpx         mpeg4video      vp8
  380. dvbsub          mpegaudio       vp9
  381.  
  382. Enabled demuxers:
  383. aac         h261            nc
  384. ac3         h263            nistsphere
  385. act         h264            nsv
  386. adf         hevc            nut
  387. adp         hls         nuv
  388. adx         hnm         ogg
  389. aea         ico         oma
  390. afc         idcin           paf
  391. aiff            idf         pcm_alaw
  392. amr         iff         pcm_f32be
  393. anm         ilbc            pcm_f32le
  394. apc         image2          pcm_f64be
  395. ape         image2_alias_pix    pcm_f64le
  396. aqtitle         image2_brender_pix  pcm_mulaw
  397. asf         image2pipe      pcm_s16be
  398. ass         image_bmp_pipe      pcm_s16le
  399. ast         image_dpx_pipe      pcm_s24be
  400. au          image_exr_pipe      pcm_s24le
  401. avi         image_j2k_pipe      pcm_s32be
  402. avisynth        image_pictor_pipe   pcm_s32le
  403. avr         image_png_pipe      pcm_s8
  404. avs         image_sgi_pipe      pcm_u16be
  405. bethsoftvid     image_sunrast_pipe  pcm_u16le
  406. bfi         image_tiff_pipe     pcm_u24be
  407. bink            ingenient       pcm_u24le
  408. bintext         ipmovie         pcm_u32be
  409. bit         ircam           pcm_u32le
  410. bmv         iss         pcm_u8
  411. boa         iv8         pjs
  412. brstm           ivf         pmp
  413. c93         jacosub         pva
  414. caf         jv          pvf
  415. cavsvideo       latm            qcp
  416. cdg         libgme          r3d
  417. cdxl            libmodplug      rawvideo
  418. cine            live_flv        realtext
  419. concat          lmlm4           redspark
  420. data            loas            rl2
  421. daud            lrc         rm
  422. dfa         lvf         roq
  423. dirac           lxf         rpl
  424. dnxhd           m4v         rsd
  425. dsf         matroska        rso
  426. dsicin          mgsts           rtp
  427. dts         microdvd        rtsp
  428. dtshd           mjpeg           sami
  429. dv          mlp         sap
  430. dxa         mlv         sbg
  431. ea          mm          sdp
  432. ea_cdata        mmf         sdr2
  433. eac3            mov         segafilm
  434. epaf            mp3         shorten
  435. ffm         mpc         siff
  436. ffmetadata      mpc8            sln
  437. filmstrip       mpegps          smacker
  438. flac            mpegts          smjpeg
  439. flic            mpegtsraw       smush
  440. flv         mpegvideo       sol
  441. fourxm          mpl2            sox
  442. frm         mpsub           spdif
  443. g722            msnwc_tcp       srt
  444. g723_1          mtv         str
  445. g729            mv          subviewer
  446. gif         mvi         subviewer1
  447. gsm         mxf         swf
  448. gxf         mxg         tak
  449. tedcaptions     vmd         wsaud
  450. thp         vobsub          wsvqa
  451. tiertexseq      voc         wtv
  452. tmv         vplayer         wv
  453. truehd          vqf         xa
  454. tta         w64         xbin
  455. tty         wav         xmv
  456. txd         wc3         xwma
  457. vc1         webm_dash_manifest  yop
  458. vc1t            webvtt          yuv4mpegpipe
  459. vivo
  460.  
  461. Enabled muxers:
  462. a64         ipod            pcm_s24be
  463. ac3         ircam           pcm_s24le
  464. adts            ismv            pcm_s32be
  465. adx         ivf         pcm_s32le
  466. aiff            jacosub         pcm_s8
  467. amr         latm            pcm_u16be
  468. asf         lrc         pcm_u16le
  469. asf_stream      m4v         pcm_u24be
  470. ass         matroska        pcm_u24le
  471. ast         matroska_audio      pcm_u32be
  472. au          md5         pcm_u32le
  473. avi         microdvd        pcm_u8
  474. avm2            mjpeg           psp
  475. bit         mkvtimestamp_v2     rawvideo
  476. caf         mlp         rm
  477. cavsvideo       mmf         roq
  478. crc         mov         rso
  479. data            mp2         rtp
  480. daud            mp3         rtsp
  481. dirac           mp4         sap
  482. dnxhd           mpeg1system     segment
  483. dts         mpeg1vcd        smjpeg
  484. dv          mpeg1video      smoothstreaming
  485. eac3            mpeg2dvd        sox
  486. f4v         mpeg2svcd       spdif
  487. ffm         mpeg2video      speex
  488. ffmetadata      mpeg2vob        srt
  489. filmstrip       mpegts          stream_segment
  490. flac            mpjpeg          swf
  491. flv         mxf         tee
  492. framecrc        mxf_d10         tg2
  493. framemd5        null            tgp
  494. g722            nut         truehd
  495. g723_1          oga         uncodedframecrc
  496. gif         ogg         vc1
  497. gxf         oma         vc1t
  498. h261            opus            voc
  499. h263            pcm_alaw        w64
  500. h264            pcm_f32be       wav
  501. hds         pcm_f32le       webm
  502. hevc            pcm_f64be       webm_dash_manifest
  503. hls         pcm_f64le       webvtt
  504. ico         pcm_mulaw       wtv
  505. ilbc            pcm_s16be       wv
  506. image2          pcm_s16le       yuv4mpegpipe
  507. image2pipe
  508.  
  509. Enabled protocols:
  510. bluray          https           mmst
  511. cache           librtmp         pipe
  512. concat          librtmpe        rtp
  513. crypto          librtmps        sctp
  514. data            librtmpt        srtp
  515. file            librtmpte       subfile
  516. ftp         libsmbclient        tcp
  517. gopher          libssh          tls
  518. hls         md5         udp
  519. http            mmsh            unix
  520. httpproxy
  521.  
  522. Enabled filters:
  523. aconvert        dejudder        owdenoise
  524. adelay          delogo          pad
  525. aecho           deshake         pan
  526. aeval           drawbox         perms
  527. aevalsrc        drawgrid        perspective
  528. afade           drawtext        phase
  529. aformat         earwax          pixdesctest
  530. ainterleave     ebur128         pp
  531. allpass         edgedetect      psnr
  532. alphaextract        elbg            pullup
  533. alphamerge      equalizer       removelogo
  534. amerge          extractplanes       replaygain
  535. amix            fade            resample
  536. amovie          field           rgbtestsrc
  537. anull           fieldmatch      rotate
  538. anullsink       fieldorder      sab
  539. anullsrc        flanger         scale
  540. apad            format          select
  541. aperms          fps         sendcmd
  542. aphaser         framepack       separatefields
  543. aresample       framestep       setdar
  544. aselect         frei0r          setfield
  545. asendcmd        frei0r_src      setpts
  546. asetnsamples        geq         setsar
  547. asetpts         gradfun         settb
  548. asetrate        haldclut        showcqt
  549. asettb          haldclutsrc     showinfo
  550. ashowinfo       hflip           showspectrum
  551. asplit          highpass        showwaves
  552. ass         histeq          shuffleplanes
  553. astats          histogram       signalstats
  554. astreamsync     hqdn3d          silencedetect
  555. asyncts         hqx         sine
  556. atempo          hue         smartblur
  557. atrim           idet            smptebars
  558. avectorscope        il          smptehdbars
  559. azmq            interlace       split
  560. bandpass        interleave      spp
  561. bandreject      join            stereo3d
  562. bass            kerndeint       subtitles
  563. bbox            ladspa          super2xsai
  564. biquad          life            swapuv
  565. blackdetect     lowpass         telecine
  566. blackframe      lut         testsrc
  567. blend           lut3d           thumbnail
  568. boxblur         lutrgb          tile
  569. bs2b            lutyuv          tinterlace
  570. cellauto        mandelbrot      transpose
  571. channelmap      mcdeint         treble
  572. channelsplit        mergeplanes     trim
  573. color           movie           unsharp
  574. colorbalance        mp          vflip
  575. colorchannelmixer   mpdecimate      vidstabdetect
  576. colormatrix     mptestsrc       vidstabtransform
  577. compand         negate          vignette
  578. concat          noformat        volume
  579. copy            noise           volumedetect
  580. crop            null            w3fdif
  581. cropdetect      nullsink        yadif
  582. curves          nullsrc         zmq
  583. dctdnoiz        ocv         zoompan
  584. decimate        overlay
  585.  
  586. Enabled bsfs:
  587. aac_adtstoasc       imx_dump_header     mp3_header_decompress
  588. chomp           mjpeg2jpeg      noise
  589. dump_extradata      mjpega_dump_header  remove_extradata
  590. h264_mp4toannexb    mov2textsub     text2movsub
  591.  
  592. Enabled indevs:
  593. alsa            lavfi           oss
  594. dv1394          libcdio         pulse
  595. fbdev           libdc1394       v4l2
  596. iec61883        openal          x11grab
  597.  
  598. Enabled outdevs:
  599. alsa            opengl          sdl
  600. caca            oss         v4l2
  601. fbdev           pulse
  602.  
  603. License: nonfree and unredistributable
  604. Creating config.mak, config.h, and doc/config.texi...
  605.  
  606. # (Build process stdout and stderr output is available if needed)
  607.  
  608. $ ffmpeg -version
  609. ffmpeg version N-64952-gc508adb-local-trnsz Copyright (c) 2000-2014 the FFmpeg developers
  610. built on Jul 25 2014 11:18:39 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4)
  611. configuration: --enable-gpl --enable-nonfree --enable-version3 --enable-pic --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libschroedinger --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libvo-aacenc --enable-libx264 --arch=x86_64 --cpu=native --enable-gray --enable-avisynth --enable-avisynth --enable-fontconfig --enable-iconv --enable-libspeex --enable-libxvid --enable-openal --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libgsm --enable-libopus --enable-libcaca --enable-ladspa --enable-libass --enable-libfribidi --enable-opengl --enable-libsoxr --enable-libx265 --enable-libcdio --enable-libilbc --enable-libopencv --enable-libzvbi --enable-libfreetype --enable-libmodplug --enable-libopenjpeg --enable-libzmq --enable-libwavpack --enable-librtmp --enable-libsmbclient --enable-libvpx --enable-libmp3lame --enable-openssl --enable-x11grab --enable-libpulse --enable-libiec61883 --enable-libbluray --enable-libbs2b --enable-libcelt --enable-libdc1394 --enable-libwebp --enable-libaacplus --enable-libvidstab --enable-postproc --enable-shared --enable-avresample --enable-frei0r --enable-libshine --enable-libfdk-aac --enable-libxavs --enable-libgme --extra-cflags='-O2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -march=native -I/opt/celt-local/include -I/opt/libvpx-local/include -I/opt/libwebp-local/include -I/opt/libvidstab-local/include -I/opt/libaacplus-local/include -I/opt/soxr-local/include -I/opt/x265-local/include -I/opt/libshine-fxp-local/include -I/opt/libfdk-aac/include -I/opt/xavs-local/include -I/opt/vo-aacenc/include -I/opt/gme-local/include -I/opt/frei0r-local/include' --extra-ldflags='-L/opt/celt-local/lib -L/opt/libvpx-local/lib -L/opt/libwebp-local/lib -L/opt/libvidstab-local/lib -L/opt/libaacplus-local/lib -L/opt/soxr-local/lib -L/opt/x265-local/lib -L/opt/libshine-fxp-local/lib -L/opt/libfdk-aac/lib -L/opt/xavs-local/lib -L/opt/vo-aacenc/lib -L/opt/gme-local/lib -L/opt/frei0r-local/lib' --prefix=/usr/local/ffmpeg-2014-07-25 --extra-version=local-trnsz
  612. libavutil      52. 92.101 / 52. 92.101
  613. libavcodec     55. 69.100 / 55. 69.100
  614. libavformat    55. 49.100 / 55. 49.100
  615. libavdevice    55. 13.102 / 55. 13.102
  616. libavfilter     4. 11.102 /  4. 11.102
  617. libavresample   1.  3.  0 /  1.  3.  0
  618. libswscale      2.  6.100 /  2.  6.100
  619. libswresample   0. 19.100 /  0. 19.100
  620. libpostproc    52.  3.100 / 52.  3.100
  621.  
  622. # Here is my use of the ffmpeg command, where $PIPE is a Unix FIFO, and ${INPUT} is replaced with arbitrary text specifying the input source, (usually another live stream), which is read directly by the ffmpeg(1) process.
  623.  
  624. # Prevent FIFO from closing if the ffmpeg(1) process exits, to allow uninterrupted streaming.  
  625. $ (while [ /bin/true ]; do sleep 99999999; done) > av.nut &
  626.  
  627. # Process 1 accepts arbritrary input from ${INPUT}, and converts it a common standard for further downstream processing via $PIPE
  628. # [Assume $INPUT be rtmp://streamer.a1.net:1935/rtmplive/redundant/channels/Sporttime/SporttimeTV/mp4:channel1_800 for this example]
  629. $ ffmpeg(1) -y -threads 0 -re -i ${INPUT} -vsync 2 -s 1280x720 -r:v 25 -async 1 -vcodec rawvideo -pix_fmt yuv420p -acodec pcm_s16le -ac 2 -ar 44100 -f nut -write_index 0 $PIPE > 1.output
  630.  
  631. # Process 2 accepts input from the $PIPE and outputs a live stream to be served via HTTPS
  632. $ ffmpeg(2)  -y -fflags +genpts+igndts -i $PIPE -map 0:0 -map 0:1 -vsync 2 -async 1 -c:a libfaac -ab:a 128k -ac 2 -c:v libx264 -s 1280x720 -r 25 -b:v 1000k -vprofile baseline -preset superfast -tune zerolatency -force_key_frames 50 -flags -global_header -fflags +genpts+igndts -f segment -segment_time 10 -segment_list_size 6 -segment_wrap 10 -segment_list out/stream.m3u8 -segment_list_flags +live-cache out/stream%04d.ts > 2.output
  633.  
  634. Here is 1.output (which is a tty):
  635. ffmpeg version N-64952-gc508adb-local-trnsz Copyright (c) 2000-2014 the FFmpeg developers
  636.    [...]
  637. HandShake: client signature does not match!
  638. Metadata:
  639.   duration              0.00
  640.   width                 640.00
  641.   height                360.00
  642.   videodatarate         838602.00
  643.   audiodatarate         64005.00
  644. Input #0, flv, from 'rtmp://streamer.a1.net:1935/rtmplive/redundant/channels/Sporttime/SporttimeTV/mp4:channel1_800':
  645.   Duration: 00:00:00.00, start: 0.000000, bitrate: N/A
  646.     Stream #0:0: Video: h264 (Constrained Baseline), yuv420p, 640x360, 858728 kb/s, 25 fps, 25 tbr, 1k tbn, 50 tbc
  647.     Stream #0:1: Audio: aac, 44100 Hz, stereo, fltp, 65541 kb/s
  648. -async is forwarded to lavfi similarly to -af aresample=async=1:min_hard_comp=0.100000:first_pts=0.
  649. Output #0, nut, to 'av.nut':
  650.   Metadata:
  651.     encoder         : Lavf55.49.100
  652.     Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720, q=2-31, 200 kb/s, 25 fps, 51200 tbn, 25 tbc
  653.     Metadata:
  654.       encoder         : Lavc55.69.100 rawvideo
  655.     Stream #0:1: Audio: pcm_s16le (PSD[16] / 0x10445350), 44100 Hz, stereo, s16, 1411 kb/s
  656.     Metadata:
  657.       encoder         : Lavc55.69.100 pcm_s16le
  658. Stream mapping:
  659.   Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))
  660.   Stream #0:1 -> #0:1 (aac (native) -> pcm_s16le (native))
  661. Press [q] to stop, [?] for help
  662. frame=ffff fps= 25 q=0.0 size= ssssssskB time=tt:tt:tt.tt bitrate=rrrrrr.rkbits/s
  663.  
  664. Here is 2.output (also a tty):
  665. ffmpeg version N-64952-gc508adb-local-trnsz Copyright (c) 2000-2014 the FFmpeg developers
  666.    [...]
  667. Guessed Channel Layout for  Input Stream #0.1 : stereo
  668. Input #0, nut, from 'av.nut':
  669.   Metadata:
  670.     encoder         : Lavf55.49.100
  671.   Duration: N/A, start: 0.000000, bitrate: 1411 kb/s
  672.     Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720, 25 fps, 25 tbr, 51200 tbn, 51200 tbc
  673.     Metadata:
  674.       encoder         : Lavc55.69.100 rawvideo
  675.     Stream #0:1: Audio: pcm_s16le (PSD[16] / 0x10445350), 44100 Hz, 2 channels, s16, 1411 kb/s
  676.     Metadata:
  677.       encoder         : Lavc55.69.100 pcm_s16le
  678. -async is forwarded to lavfi similarly to -af aresample=async=1:min_hard_comp=0.100000:first_pts=0.
  679. [libx264 @ 0xfb78a0] using cpu capabilities: none!
  680. [libx264 @ 0xfb78a0] profile Constrained Baseline, level 3.1
  681. [segment @ 0xfb6a00] Codec for stream 0 does not use global headers but container format requires global headers
  682. [segment @ 0xfb6a00] Codec for stream 1 does not use global headers but container format requires global headers
  683. [mpegts @ 0x1520a60] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead.
  684.     Last message repeated 1 times
  685. Output #0, segment, to 'out/stream%04d.ts':
  686.   Metadata:
  687.     encoder         : Lavf55.49.100
  688.     Stream #0:0: Video: h264 (libx264), yuv420p, 1280x720, q=-1--1, 1000 kb/s, 25 fps, 25 tbn, 25 tbc
  689.     Metadata:
  690.       encoder         : Lavc55.69.100 libx264
  691.     Stream #0:1: Audio: aac (libfaac), 44100 Hz, stereo, s16, 128 kb/s
  692.     Metadata:
  693.       encoder         : Lavc55.69.100 libfaac
  694. Stream mapping:
  695.   Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
  696.   Stream #0:1 -> #0:1 (pcm_s16le (native) -> aac (libfaac))
  697. Press [q] to stop, [?] for help
  698. [mpegts @ 0x1a48020] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead.
  699.     Last message repeated 1 times
  700. [mpegts @ 0x1a48020] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead.
  701.     Last message repeated 1 times
  702. [mpegts @ 0x1a48020] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead.
  703.     Last message repeated 1 times
  704. [mpegts @ 0x1a48020] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead.
  705.     Last message repeated 1 times
  706. [ ... snip ... ]
  707. frame=ffff fps= 25 q=33.0 size=N/A time=tt:tt:tt.tt bitrate=N/A
  708.  
  709. # At this point everything is great, and the output video is served to all clients via HTTPS and has been tested
  710. # with ffplay, iOS, and VLC.  The problem is that if ffmpeg(1) exits, and restarts with ${INPUT} redefined.  
  711.  
  712. # Ex: ${INPUT} is now http://acaooyalahd2-lh.akamaihd.net/i/TBN01_delivery@186239/master.m3u8 and ffmpeg(1) is restarted with
  713. # the same command line.  ffmpeg(2) continues to read $PIPE.
  714.  
  715. Here is 1.output:
  716. ffmpeg version N-64952-gc508adb-local-trnsz Copyright (c) 2000-2014 the FFmpeg developers
  717.    [...]
  718. [h264 @ 0x1ea99a0] non-existing PPS 0 referenced
  719.     Last message repeated 1 times
  720. [h264 @ 0x1ea99a0] decode_slice_header error
  721. [h264 @ 0x1ea99a0] no frame!
  722. [h264 @ 0x1ea99a0] non-existing PPS 0 referenced
  723. [ ... snip ... ] # repeats for several thousand lines of output instantly as the stream syncs up.
  724. [hls,applehttp @ 0x1e84000] Estimating duration from bitrate, this may be inaccurate
  725. Input #0, hls,applehttp, from 'http://acaooyalahd2-lh.akamaihd.net/i/TBN01_delivery@186239/master.m3u8':
  726.   Duration: 00:00:00.08, start: 42253.676678, bitrate: 230 kb/s
  727.   Program 0
  728.     Metadata:
  729.       variant_bitrate : 282000
  730.     Stream #0:0: Video: h264 (Baseline) ([27][0][0][0] / 0x001B), yuv420p(tv, GBR), 256x144 [SAR 1:1 DAR 16:9], 29.97 tbr, 90k tbn, 59.94 tbc
  731.     Metadata:
  732.       variant_bitrate : 282000
  733.     Stream #0:1: Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 31 kb/s
  734.     Metadata:
  735.       variant_bitrate : 282000
  736.     Stream #0:2: Data: timed_id3 (ID3  / 0x20334449)
  737.     Metadata:
  738.       variant_bitrate : 282000
  739.   Program 1
  740.     Metadata:
  741.       variant_bitrate : 282000
  742.     Stream #0:3: Video: h264 (Baseline) ([27][0][0][0] / 0x001B), yuv420p(tv, GBR), 256x144 [SAR 1:1 DAR 16:9], 29.97 tbr, 90k tbn, 59.94 tbc
  743.     Metadata:
  744.       variant_bitrate : 282000
  745.     Stream #0:4: Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 31 kb/s
  746.     Metadata:
  747.       variant_bitrate : 282000
  748.     Stream #0:5: Data: timed_id3 (ID3  / 0x20334449)
  749.     Metadata:
  750.       variant_bitrate : 282000
  751.   Program 2
  752.     Metadata:
  753.       variant_bitrate : 564000
  754.     Stream #0:6: Video: h264 (Baseline) ([27][0][0][0] / 0x001B), yuv420p(tv, GBR), 512x288 [SAR 1:1 DAR 16:9], 29.97 tbr, 90k tbn, 59.94 tbc
  755.     Metadata:
  756.       variant_bitrate : 564000
  757.     Stream #0:7: Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 63 kb/s
  758.     Metadata:
  759.       variant_bitrate : 564000
  760.     Stream #0:8: Data: timed_id3 (ID3  / 0x20334449)
  761.     Metadata:
  762.       variant_bitrate : 564000
  763.   Program 3
  764.     Metadata:
  765.       variant_bitrate : 564000
  766.     Stream #0:9: Video: h264 (Baseline) ([27][0][0][0] / 0x001B), yuv420p(tv, GBR), 512x288 [SAR 1:1 DAR 16:9], 29.97 tbr, 90k tbn, 59.94 tbc
  767.     Metadata:
  768.       variant_bitrate : 564000
  769.     Stream #0:10: Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 63 kb/s
  770.     Metadata:
  771.       variant_bitrate : 564000
  772.     Stream #0:11: Data: timed_id3 (ID3  / 0x20334449)
  773.     Metadata:
  774.       variant_bitrate : 564000
  775.   Program 4
  776.     Metadata:
  777.       variant_bitrate : 1164000
  778.     Stream #0:12: Video: h264 (Baseline) ([27][0][0][0] / 0x001B), yuv420p(tv, GBR), 640x360 [SAR 1:1 DAR 16:9], 29.97 tbr, 90k tbn, 59.94 tbc
  779.     Metadata:
  780.       variant_bitrate : 1164000
  781.     Stream #0:13: Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 61 kb/s
  782.     Metadata:
  783.       variant_bitrate : 1164000
  784.     Stream #0:14: Data: timed_id3 (ID3  / 0x20334449)
  785.     Metadata:
  786.       variant_bitrate : 1164000
  787.   Program 5
  788.     Metadata:
  789.       variant_bitrate : 1164000
  790.     Stream #0:15: Video: h264 (Baseline) ([27][0][0][0] / 0x001B), yuv420p(tv, GBR), 640x360 [SAR 1:1 DAR 16:9], 29.97 tbr, 90k tbn, 59.94 tbc
  791.     Metadata:
  792.       variant_bitrate : 1164000
  793.     Stream #0:16: Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 61 kb/s
  794.     Metadata:
  795.       variant_bitrate : 1164000
  796.     Stream #0:17: Data: timed_id3 (ID3  / 0x20334449)
  797.     Metadata:
  798.       variant_bitrate : 1164000
  799.   Program 6
  800.     Metadata:
  801.       variant_bitrate : 1728000
  802.     Stream #0:18: Video: h264 (Baseline) ([27][0][0][0] / 0x001B), yuv420p(tv, GBR), 848x480 [SAR 1:1 DAR 53:30], 29.97 tbr, 90k tbn, 59.94 tbc
  803.     Metadata:
  804.       variant_bitrate : 1728000
  805.     Stream #0:19: Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 127 kb/s
  806.     Metadata:
  807.       variant_bitrate : 1728000
  808.     Stream #0:20: Data: timed_id3 (ID3  / 0x20334449)
  809.     Metadata:
  810.       variant_bitrate : 1728000
  811.   Program 7
  812.     Metadata:
  813.       variant_bitrate : 1728000
  814.     Stream #0:21: Video: h264 (Baseline) ([27][0][0][0] / 0x001B), yuv420p(tv, GBR), 848x480 [SAR 1:1 DAR 53:30], 29.97 tbr, 90k tbn, 59.94 tbc
  815.     Metadata:
  816.       variant_bitrate : 1728000
  817.     Stream #0:22: Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 127 kb/s
  818.     Metadata:
  819.       variant_bitrate : 1728000
  820.     Stream #0:23: Data: timed_id3 (ID3  / 0x20334449)
  821.     Metadata:
  822.       variant_bitrate : 1728000
  823.   Program 8
  824.     Metadata:
  825.       variant_bitrate : 2528000
  826.     Stream #0:24: Video: h264 (Baseline) ([27][0][0][0] / 0x001B), yuv420p(tv, GBR), 1280x720 [SAR 1:1 DAR 16:9], 29.97 tbr, 90k tbn, 59.94 tbc
  827.     Metadata:
  828.       variant_bitrate : 2528000
  829.     Stream #0:25: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 135 kb/s
  830.     Metadata:
  831.       variant_bitrate : 2528000
  832.     Stream #0:26: Data: timed_id3 (ID3  / 0x20334449)
  833.     Metadata:
  834.       variant_bitrate : 2528000
  835.   Program 9
  836.     Metadata:
  837.       variant_bitrate : 2528000
  838.     Stream #0:27: Video: h264 (Baseline) ([27][0][0][0] / 0x001B), yuv420p(tv, GBR), 1280x720 [SAR 1:1 DAR 16:9], 29.97 tbr, 90k tbn, 59.94 tbc
  839.     Metadata:
  840.       variant_bitrate : 2528000
  841.     Stream #0:28: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 135 kb/s
  842.     Metadata:
  843.       variant_bitrate : 2528000
  844.     Stream #0:29: Data: timed_id3 (ID3  / 0x20334449)
  845.     Metadata:
  846.       variant_bitrate : 2528000
  847.   Program 10
  848.     Metadata:
  849.       variant_bitrate : 32000
  850.     Stream #0:30: Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 28 kb/s
  851.     Metadata:
  852.       variant_bitrate : 32000
  853.     Stream #0:31: Data: timed_id3 (ID3  / 0x20334449)
  854.     Metadata:
  855.       variant_bitrate : 32000
  856.   Program 11
  857.     Metadata:
  858.       variant_bitrate : 32000
  859.     Stream #0:32: Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 32 kb/s
  860.     Metadata:
  861.       variant_bitrate : 32000
  862.     Stream #0:33: Data: timed_id3 (ID3  / 0x20334449)
  863.     Metadata:
  864.       variant_bitrate : 32000
  865. -async is forwarded to lavfi similarly to -af aresample=async=1:min_hard_comp=0.100000:first_pts=0.
  866. Output #0, nut, to 'av.nut':
  867.   Metadata:
  868.     encoder         : Lavf55.49.100
  869.     Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 51200 tbn, 25 tbc
  870.     Metadata:
  871.       variant_bitrate : 2528000
  872.       encoder         : Lavc55.69.100 rawvideo
  873.     Stream #0:1: Audio: pcm_s16le (PSD[16] / 0x10445350), 44100 Hz, stereo, s16, 1411 kb/s
  874.     Metadata:
  875.       variant_bitrate : 282000
  876.       encoder         : Lavc55.69.100 pcm_s16le
  877. Stream mapping:
  878.   Stream #0:24 -> #0:0 (h264 (native) -> rawvideo (native))
  879.   Stream #0:1 -> #0:1 (aac (native) -> pcm_s16le (native))
  880. Press [q] to stop, [?] for help
  881. [hls,applehttp @ 0x1e84000] No longer receiving playlist 1
  882. [hls,applehttp @ 0x1e84000] No longer receiving playlist 2
  883. [hls,applehttp @ 0x1e84000] No longer receiving playlist 3
  884. [hls,applehttp @ 0x1e84000] No longer receiving playlist 4
  885. [hls,applehttp @ 0x1e84000] No longer receiving playlist 5
  886. [hls,applehttp @ 0x1e84000] No longer receiving playlist 6
  887. [hls,applehttp @ 0x1e84000] No longer receiving playlist 7
  888. [hls,applehttp @ 0x1e84000] No longer receiving playlist 9
  889. [hls,applehttp @ 0x1e84000] No longer receiving playlist 10
  890. [hls,applehttp @ 0x1e84000] No longer receiving playlist 11
  891. frame= 12 fps= 25 q=0.0 size= ssssssskB time=tt:tt:tt.tt bitrate=276716.2kbits/s dup=0 drop=dddd
  892.  
  893. # The "problem" shows when the new frames are being sent from a new run of ffmpeg(1) to the long-running ffmpeg(2).
  894. # The 2.output shows:
  895. [rawvideo @ 0x21fb160] Invalid buffer size, packet size 14495 < expected frame_size 1382400
  896. Error while decoding stream #0:0: Invalid argument
  897. [nut @ 0x21f82a0] Last frame must have been damaged 1666262460 > 1666219235 + 32767  
  898. [ ... all good, it syncs now ... ]
  899. frame= 1199 fps= 12 q=27.0 size=N/A time=00:00:48.76 bitrate=N/A dup=0 drop=1067
  900.  
  901. # The stream itself freezes until the new ffmpeg(2) process consumes as many frames as necessary to reach the number
  902. # where it left off.  In this case it's 1199.  At soon as ffmpeg(1) sends ffmpeg(2) frame 1200, it stops dropping
  903. # frames and continues to play.  In the meantime, the stream appears "frozen" to any playing client, and starts up
  904. # again just fine once 'that frame' (in this example, 1200) is sent through the pipe.
  905.  
  906. # I assume I have to do some sort of PTS/DTS molesting here, possibly with setpts?  What I'd like is for the stream
  907. # to resume as soon as valid frames are consumed again.  If the stream has been up for 1 hours and 10 seconds, there
  908. # isn't any need to drop the first 1 hour and 10 seconds of the next input and only start again when the 2nd ${INPUT}
  909. # hits 1 hour and 11 seconds of data sent.
  910.  
  911. # I hope this is enough information to explain the isolated problem in the prototype application.  
  912.  
  913. # I humbly request any assistance that might be offered by anyone willing to look into my (obviously noobish) problem,
  914. # or offer other suggestions or optimizations.