Recherche avancée

Médias (1)

Mot : - Tags -/swfupload

Autres articles (104)

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

  • Librairies et logiciels spécifiques aux médias

    10 décembre 2010, par

    Pour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
    Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel ; FFMpeg avec le maximum de décodeurs et (...)

Sur d’autres sites (7718)

  • Rematrix is needed between 10 channels and mono but there is not enough information to do it

    8 octobre 2017, par siriele

    I’ve been fighting for a number of days now trying to get FFmpeg working with combining several audio files at specific times into one file. So my idea was to generate silence up to the time i want to play a sound.Then merge the audio together with a filter. The below code works when I have five or less files, but seems to fall apart. What I’m trying

    ffmpeg \
       -i "tutorial_bass/C-maj/TutorialBassJR.wav" \
       -i "tutorial_drums/TutorialDrumsJR.wav" \
       -i "tutorial_drums/TutorialDrumsTU.wav" \
       -i "tutorial_bass/C-maj/TutorialBassTU.wav" \
       -i "tutorial_drums/TutorialDrumsTU.wav" \
       -i "tutorial_drums/TutorialDrumsTD.wav" \
       -i "tutorial_bass/C-maj/TutorialBassTD.wav" \
       -i "tutorial_drums/TutorialDrumsTD.wav" \
       -i "tutorial_drums/TutorialDrumsTR.wav" \
       -i "tutorial_bass/C-maj/TutorialBassTR.wav" \
       -i "tutorial_drums/TutorialDrumsTR.wav" \
       -i "tutorial_drums/TutorialDrumsWL.wav" \
       -i "tutorial_bass/C-maj/TutorialBassWL.wav" \
       -i "tutorial_drums/TutorialDrumsWL.wav" \
       -i "tutorial_drums/TutorialDrumsWU.wav" \
       -i "tutorial_bass/C-maj/TutorialBassWU.wav" \
       -i "tutorial_drums/TutorialDrumsWU.wav" \
       -i "tutorial_drums/TutorialDrumsWD.wav" \
       -i "tutorial_bass/C-maj/TutorialBassWD.wav" \
       -i "tutorial_drums/TutorialDrumsWD.wav" \
       -i "tutorial_drums/TutorialDrumsJL.wav" \
       -i "tutorial_bass/C-maj/TutorialBassJL.wav" \
       -i "tutorial_drums/TutorialDrumsJL.wav" \
       -i "tutorial_drums/TutorialDrumsJR.wav" \
       -i "tutorial_bass/C-maj/TutorialBassJR.wav" \
       -i "tutorial_drums/TutorialDrumsJR.wav" \
       -i "tutorial_drums/TutorialDrumsJU.wav" \
       -i "tutorial_bass/C-maj/TutorialBassJU.wav" \
       -i "tutorial_drums/TutorialDrumsJU.wav" \
       -i "tutorial_drums/TutorialDrumsJD.wav" \
       -i "tutorial_bass/C-maj/TutorialBassJD.wav" \
       -i "tutorial_drums/TutorialDrumsJD.wav" \
       -i "tutorial_drums/TutorialDrumsTL.wav" \
       -i "tutorial_bass/C-maj/TutorialBassTL.wav" \
       -i "tutorial_drums/TutorialDrumsTL.wav" \
       -i "tutorial_drums/TutorialDrumsTR.wav" \
       -i "tutorial_bass/C-maj/TutorialBassTR.wav" \
       -i "tutorial_drums/TutorialDrumsTR.wav" \
       -i "tutorial_drums/TutorialDrumsTU.wav" \
       -i "tutorial_bass/C-maj/TutorialBassTU.wav" \
       -i "tutorial_drums/TutorialDrumsTU.wav" \
       -i "tutorial_drums/TutorialDrumsTD.wav" \
       -i "tutorial_bass/C-maj/TutorialBassTD.wav" \
       -i "tutorial_drums/TutorialDrumsTD.wav" \
       -filter_complex "\
       aevalsrc=0:d=3.0  [d0];\
       aevalsrc=0:d=3.0  [d1];\
       aevalsrc=0:d=4.5  [d2];\
       aevalsrc=0:d=4.5  [d3];\
       aevalsrc=0:d=4.5  [d4];\
       aevalsrc=0:d=6.0  [d5];\
       aevalsrc=0:d=6.0  [d6];\
       aevalsrc=0:d=6.0  [d7];\
       aevalsrc=0:d=7.5  [d8];\
       aevalsrc=0:d=7.5  [d9];\
       aevalsrc=0:d=7.5  [d10];\
       aevalsrc=0:d=9.0  [d11];\
       aevalsrc=0:d=9.0  [d12];\
       aevalsrc=0:d=9.0  [d13];\
       aevalsrc=0:d=10.5 [d14];\
       aevalsrc=0:d=10.5 [d15];\
       aevalsrc=0:d=10.5 [d16];\
       aevalsrc=0:d=12.0 [d17];\
       aevalsrc=0:d=12.0 [d18];\
       aevalsrc=0:d=12.0 [d19];\
       aevalsrc=0:d=13.5 [d20];\
       aevalsrc=0:d=13.5 [d21];\
       aevalsrc=0:d=13.5 [d22];\
       aevalsrc=0:d=15.0 [d23];\
       aevalsrc=0:d=15.0 [d24];\
       aevalsrc=0:d=15.0 [d25];\
       aevalsrc=0:d=16.5 [d26];\
       aevalsrc=0:d=16.5 [d27];\
       aevalsrc=0:d=16.5 [d28];\
       aevalsrc=0:d=18.0 [d29];\
       aevalsrc=0:d=18.0 [d30];\
       aevalsrc=0:d=18.0 [d31];\
       aevalsrc=0:d=19.5 [d32];\
       aevalsrc=0:d=19.5 [d33];\
       aevalsrc=0:d=19.5 [d34];\
       aevalsrc=0:d=21.0 [d35];\
       aevalsrc=0:d=21.0 [d36];\
       aevalsrc=0:d=21.0 [d37];\
       aevalsrc=0:d=22.5 [d38];\
       aevalsrc=0:d=22.5 [d39];\
       aevalsrc=0:d=22.5 [d40];\
       aevalsrc=0:d=24.0 [d41];\
       aevalsrc=0:d=24.0 [d42];\
       aevalsrc=0:d=24.0 [d43];\
       [d0][0:a]concat=n=2:v=0:a=1   [a0];\
       [d1][1:a]concat=n=2:v=0:a=1   [a1];\
       [d2][2:a]concat=n=2:v=0:a=1   [a2];\
       [d3][3:a]concat=n=2:v=0:a=1   [a3];\
       [d4][4:a]concat=n=2:v=0:a=1   [a4];\
       [d5][5:a]concat=n=2:v=0:a=1   [a5];\
       [d6][6:a]concat=n=2:v=0:a=1   [a6];\
       [d7][7:a]concat=n=2:v=0:a=1   [a7];\
       [d8][8:a]concat=n=2:v=0:a=1   [a8];\
       [d9][9:a]concat=n=2:v=0:a=1   [a9];\
       [d10][10:a]concat=n=2:v=0:a=1 [a10];\
       [d11][11:a]concat=n=2:v=0:a=1 [a11];\
       [d12][12:a]concat=n=2:v=0:a=1 [a12];\
       [d13][13:a]concat=n=2:v=0:a=1 [a13];\
       [d14][14:a]concat=n=2:v=0:a=1 [a14];\
       [d15][15:a]concat=n=2:v=0:a=1 [a15];\
       [d16][16:a]concat=n=2:v=0:a=1 [a16];\
       [d17][17:a]concat=n=2:v=0:a=1 [a17];\
       [d18][18:a]concat=n=2:v=0:a=1 [a18];\
       [d19][19:a]concat=n=2:v=0:a=1 [a19];\
       [d20][20:a]concat=n=2:v=0:a=1 [a20];\
       [d21][21:a]concat=n=2:v=0:a=1 [a21];\
       [d22][22:a]concat=n=2:v=0:a=1 [a22];\
       [d23][23:a]concat=n=2:v=0:a=1 [a23];\
       [d24][24:a]concat=n=2:v=0:a=1 [a24];\
       [d25][25:a]concat=n=2:v=0:a=1 [a25];\
       [d26][26:a]concat=n=2:v=0:a=1 [a26];\
       [d27][27:a]concat=n=2:v=0:a=1 [a27];\
       [d28][28:a]concat=n=2:v=0:a=1 [a28];\
       [d29][29:a]concat=n=2:v=0:a=1 [a29];\
       [d30][30:a]concat=n=2:v=0:a=1 [a30];\
       [d31][31:a]concat=n=2:v=0:a=1 [a31];\
       [d32][32:a]concat=n=2:v=0:a=1 [a32];\
       [d33][33:a]concat=n=2:v=0:a=1 [a33];\
       [d34][34:a]concat=n=2:v=0:a=1 [a34];\
       [d35][35:a]concat=n=2:v=0:a=1 [a35];\
       [d36][36:a]concat=n=2:v=0:a=1 [a36];\
       [d37][37:a]concat=n=2:v=0:a=1 [a37];\
       [d38][38:a]concat=n=2:v=0:a=1 [a38];\
       [d39][39:a]concat=n=2:v=0:a=1 [a39];\
       [d40][40:a]concat=n=2:v=0:a=1 [a40];\
       [d41][41:a]concat=n=2:v=0:a=1 [a41];\
       [d42][42:a]concat=n=2:v=0:a=1 [a42];\
       [d43][43:a]concat=n=2:v=0:a=1 [a43];\
       [a0][a1][a2][a3][a4][a5][a6][a7][a8][a9][a10][a11][a12][a13][a14][a15][a16][a17][a18][a19]amix=inputs=20:duration=longest [a0-a19];\
       [a20][a21][a22][a23][a24][a25][a26][a27][a28][a29][a30][a31][a32][a33][a34][a35][a36][a37][a38][a39]amix=inputs=20:duration=longest [a20-a39];\
       [a40][a41][a42][a43]amix=inputs=4:duration=longest [a40-a43];
       [a0-a19][a20-a39][a40-a43]amix=inputs=3:duration=longest"  -codec:a libmp3lame output.mp3

    When I run this command I get :

    ffmpeg version 3.3.4 Copyright (c) 2000-2017 the FFmpeg developers
     built with Apple LLVM version 8.1.0 (clang-802.0.42)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-frei0r --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/2.2.0/include/openjpeg-2.2 --enable-nonfree --enable-vda
     libavutil      55. 58.100 / 55. 58.100
     libavcodec     57. 89.100 / 57. 89.100
     libavformat    57. 71.100 / 57. 71.100
     libavdevice    57.  6.100 / 57.  6.100
     libavfilter     6. 82.100 /  6. 82.100
     libavresample   3.  5.  0 /  3.  5.  0
     libswscale      4.  6.100 /  4.  6.100
     libswresample   2.  7.100 /  2.  7.100
     libpostproc    54.  5.100 / 54.  5.100
    Guessed Channel Layout for Input Stream #0.0 : stereo
    Input #0, wav, from 'tutorial_bass/C-maj/TutorialBassJR.wav':
     Duration: 00:00:01.50, bitrate: 2822 kb/s
       Stream #0:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #1.0 : stereo
    Input #1, wav, from 'tutorial_drums/TutorialDrumsJR.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #1:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #2.0 : stereo
    Input #2, wav, from 'tutorial_drums/TutorialDrumsTU.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #2:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #3.0 : stereo
    Input #3, wav, from 'tutorial_bass/C-maj/TutorialBassTU.wav':
     Duration: 00:00:01.50, bitrate: 2822 kb/s
       Stream #3:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #4.0 : stereo
    Input #4, wav, from 'tutorial_drums/TutorialDrumsTU.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #4:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Input #5, wav, from 'tutorial_drums/TutorialDrumsTD.wav':
     Duration: 00:00:04.50, bitrate: 14112 kb/s
       Stream #5:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, 10 channels, flt, 14112 kb/s
    Guessed Channel Layout for Input Stream #6.0 : stereo
    Input #6, wav, from 'tutorial_bass/C-maj/TutorialBassTD.wav':
     Duration: 00:00:01.50, bitrate: 2822 kb/s
       Stream #6:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Input #7, wav, from 'tutorial_drums/TutorialDrumsTD.wav':
     Duration: 00:00:04.50, bitrate: 14112 kb/s
       Stream #7:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, 10 channels, flt, 14112 kb/s
    Guessed Channel Layout for Input Stream #8.0 : stereo
    Input #8, wav, from 'tutorial_drums/TutorialDrumsTR.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #8:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #9.0 : stereo
    Input #9, wav, from 'tutorial_bass/C-maj/TutorialBassTR.wav':
     Duration: 00:00:01.50, bitrate: 2822 kb/s
       Stream #9:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #10.0 : stereo
    Input #10, wav, from 'tutorial_drums/TutorialDrumsTR.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #10:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #11.0 : stereo
    Input #11, wav, from 'tutorial_drums/TutorialDrumsWL.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #11:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #12.0 : stereo
    Input #12, wav, from 'tutorial_bass/C-maj/TutorialBassWL.wav':
     Duration: 00:00:01.50, bitrate: 2822 kb/s
       Stream #12:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #13.0 : stereo
    Input #13, wav, from 'tutorial_drums/TutorialDrumsWL.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #13:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #14.0 : stereo
    Input #14, wav, from 'tutorial_drums/TutorialDrumsWU.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #14:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #15.0 : stereo
    Input #15, wav, from 'tutorial_bass/C-maj/TutorialBassWU.wav':
     Duration: 00:00:01.50, bitrate: 2822 kb/s
       Stream #15:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #16.0 : stereo
    Input #16, wav, from 'tutorial_drums/TutorialDrumsWU.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #16:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #17.0 : stereo
    Input #17, wav, from 'tutorial_drums/TutorialDrumsWD.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #17:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #18.0 : stereo
    Input #18, wav, from 'tutorial_bass/C-maj/TutorialBassWD.wav':
     Duration: 00:00:01.50, bitrate: 2822 kb/s
       Stream #18:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #19.0 : stereo
    Input #19, wav, from 'tutorial_drums/TutorialDrumsWD.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #19:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #20.0 : stereo
    Input #20, wav, from 'tutorial_drums/TutorialDrumsJL.wav':
     Duration: 00:00:00.75, bitrate: 33869 kb/s
       Stream #20:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #21.0 : stereo
    Input #21, wav, from 'tutorial_bass/C-maj/TutorialBassJL.wav':
     Duration: 00:00:01.51, bitrate: 2822 kb/s
       Stream #21:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #22.0 : stereo
    Input #22, wav, from 'tutorial_drums/TutorialDrumsJL.wav':
     Duration: 00:00:00.75, bitrate: 33869 kb/s
       Stream #22:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #23.0 : stereo
    Input #23, wav, from 'tutorial_drums/TutorialDrumsJR.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #23:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #24.0 : stereo
    Input #24, wav, from 'tutorial_bass/C-maj/TutorialBassJR.wav':
     Duration: 00:00:01.50, bitrate: 2822 kb/s
       Stream #24:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #25.0 : stereo
    Input #25, wav, from 'tutorial_drums/TutorialDrumsJR.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #25:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #26.0 : stereo
    Input #26, wav, from 'tutorial_drums/TutorialDrumsJU.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #26:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #27.0 : stereo
    Input #27, wav, from 'tutorial_bass/C-maj/TutorialBassJU.wav':
     Duration: 00:00:01.50, bitrate: 2822 kb/s
       Stream #27:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #28.0 : stereo
    Input #28, wav, from 'tutorial_drums/TutorialDrumsJU.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #28:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #29.0 : stereo
    Input #29, wav, from 'tutorial_drums/TutorialDrumsJD.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #29:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #30.0 : stereo
    Input #30, wav, from 'tutorial_bass/C-maj/TutorialBassJD.wav':
     Duration: 00:00:01.50, bitrate: 2822 kb/s
       Stream #30:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #31.0 : stereo
    Input #31, wav, from 'tutorial_drums/TutorialDrumsJD.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #31:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #32.0 : stereo
    Input #32, wav, from 'tutorial_drums/TutorialDrumsTL.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #32:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #33.0 : stereo
    Input #33, wav, from 'tutorial_bass/C-maj/TutorialBassTL.wav':
     Duration: 00:00:01.50, bitrate: 2822 kb/s
       Stream #33:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #34.0 : stereo
    Input #34, wav, from 'tutorial_drums/TutorialDrumsTL.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #34:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #35.0 : stereo
    Input #35, wav, from 'tutorial_drums/TutorialDrumsTR.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #35:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #36.0 : stereo
    Input #36, wav, from 'tutorial_bass/C-maj/TutorialBassTR.wav':
     Duration: 00:00:01.50, bitrate: 2822 kb/s
       Stream #36:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #37.0 : stereo
    Input #37, wav, from 'tutorial_drums/TutorialDrumsTR.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #37:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #38.0 : stereo
    Input #38, wav, from 'tutorial_drums/TutorialDrumsTU.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #38:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #39.0 : stereo
    Input #39, wav, from 'tutorial_bass/C-maj/TutorialBassTU.wav':
     Duration: 00:00:01.50, bitrate: 2822 kb/s
       Stream #39:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Guessed Channel Layout for Input Stream #40.0 : stereo
    Input #40, wav, from 'tutorial_drums/TutorialDrumsTU.wav':
     Duration: 00:00:00.75, bitrate: 2822 kb/s
       Stream #40:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Input #41, wav, from 'tutorial_drums/TutorialDrumsTD.wav':
     Duration: 00:00:04.50, bitrate: 14112 kb/s
       Stream #41:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, 10 channels, flt, 14112 kb/s
    Guessed Channel Layout for Input Stream #42.0 : stereo
    Input #42, wav, from 'tutorial_bass/C-maj/TutorialBassTD.wav':
     Duration: 00:00:01.50, bitrate: 2822 kb/s
       Stream #42:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Input #43, wav, from 'tutorial_drums/TutorialDrumsTD.wav':
     Duration: 00:00:04.50, bitrate: 14112 kb/s
       Stream #43:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, 10 channels, flt, 14112 kb/s
    File 'output.mp3' already exists. Overwrite ? [y/N] y
    Stream mapping:
     Stream #0:0 (pcm_f32le) -> concat:in1:a0
     Stream #1:0 (pcm_f32le) -> concat:in1:a0
     Stream #2:0 (pcm_f32le) -> concat:in1:a0
     Stream #3:0 (pcm_f32le) -> concat:in1:a0
     Stream #4:0 (pcm_f32le) -> concat:in1:a0
     Stream #5:0 (pcm_f32le) -> concat:in1:a0
     Stream #6:0 (pcm_f32le) -> concat:in1:a0
     Stream #7:0 (pcm_f32le) -> concat:in1:a0
     Stream #8:0 (pcm_f32le) -> concat:in1:a0
     Stream #9:0 (pcm_f32le) -> concat:in1:a0
     Stream #10:0 (pcm_f32le) -> concat:in1:a0
     Stream #11:0 (pcm_f32le) -> concat:in1:a0
     Stream #12:0 (pcm_f32le) -> concat:in1:a0
     Stream #13:0 (pcm_f32le) -> concat:in1:a0
     Stream #14:0 (pcm_f32le) -> concat:in1:a0
     Stream #15:0 (pcm_f32le) -> concat:in1:a0
     Stream #16:0 (pcm_f32le) -> concat:in1:a0
     Stream #17:0 (pcm_f32le) -> concat:in1:a0
     Stream #18:0 (pcm_f32le) -> concat:in1:a0
     Stream #19:0 (pcm_f32le) -> concat:in1:a0
     Stream #20:0 (pcm_f32le) -> concat:in1:a0
     Stream #21:0 (pcm_f32le) -> concat:in1:a0
     Stream #22:0 (pcm_f32le) -> concat:in1:a0
     Stream #23:0 (pcm_f32le) -> concat:in1:a0
     Stream #24:0 (pcm_f32le) -> concat:in1:a0
     Stream #25:0 (pcm_f32le) -> concat:in1:a0
     Stream #26:0 (pcm_f32le) -> concat:in1:a0
     Stream #27:0 (pcm_f32le) -> concat:in1:a0
     Stream #28:0 (pcm_f32le) -> concat:in1:a0
     Stream #29:0 (pcm_f32le) -> concat:in1:a0
     Stream #30:0 (pcm_f32le) -> concat:in1:a0
     Stream #31:0 (pcm_f32le) -> concat:in1:a0
     Stream #32:0 (pcm_f32le) -> concat:in1:a0
     Stream #33:0 (pcm_f32le) -> concat:in1:a0
     Stream #34:0 (pcm_f32le) -> concat:in1:a0
     Stream #35:0 (pcm_f32le) -> concat:in1:a0
     Stream #36:0 (pcm_f32le) -> concat:in1:a0
     Stream #37:0 (pcm_f32le) -> concat:in1:a0
     Stream #38:0 (pcm_f32le) -> concat:in1:a0
     Stream #39:0 (pcm_f32le) -> concat:in1:a0
     Stream #40:0 (pcm_f32le) -> concat:in1:a0
     Stream #41:0 (pcm_f32le) -> concat:in1:a0
     Stream #42:0 (pcm_f32le) -> concat:in1:a0
     Stream #43:0 (pcm_f32le) -> concat:in1:a0
     amix -> Stream #0:0 (libmp3lame)
    Press [q] to stop, [?] for help
    [auto_resampler_5 @ 0x7fdc19641e00] [SWR @ 0x7fdc1c286e00] Rematrix is needed between 10 channels and mono but there is not enough information to do it
    [auto_resampler_5 @ 0x7fdc19641e00] Failed to configure output pad on auto_resampler_5
    Error reinitializing filters!
    Failed to inject frame into filter network: Invalid argument
    Error while processing the decoded data for stream #43:0
    Conversion failed!

    Any ideas what I’m doing wrong or other approaches I could take to do this ?

  • Using ffmpeg and ffserver to create a 2x1 live stream fails with unconnected output error

    31 janvier 2021, par weevilknievel

    I want to combine 2 RTSP streams (CCTV cameras) into a horizontal 2x1 strip and convert to webm for use in a HTML5 webpage.

    



    I am able to convert the streams into an mpeg or avi file easily, but as soon as I try to post it to ffserver ffm feed, I hit a wall.

    



    Here is my working ffmpeg command which writes out to a file :

    



    ffmpeg -rtsp_transport tcp -thread_queue_size 12 -i "rtsp://192.168.1.132:554/user=admin&password=mypassword&channel=1&stream=1.sdp" -i "rtsp://192.168.1.132:554/user=admin&password=mypassword&channel=2&stream=1.sdp" -filter_complex "[0:v][1:v] hstack=inputs=2 [v]" -map "[v]" -r 30 output.mpg


    



    It seems the ffmpeg process is outputting two streams and one of them is MPEG ? In the above command I had to put a frame rate "-r 30" into the command otherwise I got an error which said that MPEG 1/2 did not support a framerate of 5/1 ??

    



    As soon as I try and stream to ffserver, I get an error :

    



    ffmpeg -rtsp_transport tcp -thread_queue_size 12 -i "rtsp://192.168.1.132:554/user=admin&password=mypassword&channel=1&stream=1.sdp" -i "rtsp://192.168.1.132:554/user=admin&password=mypassword&channel=2&stream=1.sdp" -filter_complex "[0:v][1:v] hstack=inputs=2 [v]" -map "[v]" -r 30 http://localhost:8090/feed5.ffm


    



    The error I get is "Filter hstack has an unconnected output" :

    



    ffmpeg version N-86111-ga441aa90e8-static http://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.4.1 (Debian 5.4.1-8) 20170304
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-5 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg
  libavutil      55. 63.100 / 55. 63.100
  libavcodec     57. 96.101 / 57. 96.101
  libavformat    57. 72.101 / 57. 72.101
  libavdevice    57.  7.100 / 57.  7.100
  libavfilter     6. 89.101 /  6. 89.101
  libswscale      4.  7.101 /  4.  7.101
  libswresample   2.  8.100 /  2.  8.100
  libpostproc    54.  6.100 / 54.  6.100
Input #0, rtsp, from 'rtsp://192.168.1.132:554/user=admin&password=mypassword&channel=1&stream=1.sdp':
  Duration: N/A, start: 0.166667, bitrate: N/A
    Stream #0:0: Video: h264 (High), yuv420p(progressive), 352x288, 6 fps, 6 tbr, 90k tbn, 180k tbc
Input #1, rtsp, from 'rtsp://192.168.1.132:554/user=admin&password=mypassword&channel=2&stream=1.sdp':
  Duration: N/A, start: 0.166667, bitrate: N/A
    Stream #1:0: Video: h264 (High), yuv420p(progressive), 352x288, 6 fps, 6 tbr, 90k tbn, 180k tbc
Filter hstack has an unconnected output


    



    My ffserver conf is very basic :

    



    HTTPPort 8090&#xA;HTTPBindAddress 0.0.0.0&#xA;MaxHTTPConnections 2000&#xA;MaxClients 1000&#xA;MaxBandwidth 100000&#xA;CustomLog -&#xA;&#xA;<feed>&#xA;File /mnt/ramdisk/feed5.ffm&#xA;Truncate&#xA;FileMaxSize 5M&#xA;ACL allow 127.0.0.1&#xA;</feed>&#xA;&#xA;<stream>&#xA;     Format webm&#xA;     Feed feed5.ffm&#xA;     VideoCodec libvpx&#xA;     VideoSize 640x360&#xA;     NoAudio&#xA;   AVOptionVideo quality realtime&#xA;   StartSendOnKey&#xA;   VideoBitRate 140&#xA;</stream>&#xA;&#xA;<stream>&#xA;Format status&#xA;ACL allow localhost&#xA;ACL allow 192.168.0.0 192.168.255.255&#xA;</stream>&#xA;<redirect>&#xA;URL http://www.ffmpeg.org/&#xA;</redirect>&#xA;

    &#xA;&#xA;

    Edit :

    &#xA;&#xA;

    Here is the debug output from the ffmpeg command above :

    &#xA;&#xA;

    ffmpeg -v debug -rtsp_transport tcp -thread_queue_size 12 -i "rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=1&amp;stream=1.sdp" -i "rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=2&amp;stream=1.sdp" -filter_complex "[0:v][1:v] hstack=inputs=2 [v]" -map "[v]" -r 30 http://localhost:8090/feed5.ffm&#xA;ffmpeg version N-86111-ga441aa90e8-static http://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2017 the FFmpeg developers&#xA;  built with gcc 5.4.1 (Debian 5.4.1-8) 20170304&#xA;  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-5 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg&#xA;  libavutil      55. 63.100 / 55. 63.100&#xA;  libavcodec     57. 96.101 / 57. 96.101&#xA;  libavformat    57. 72.101 / 57. 72.101&#xA;  libavdevice    57.  7.100 / 57.  7.100&#xA;  libavfilter     6. 89.101 /  6. 89.101&#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;Splitting the commandline.&#xA;Reading option &#x27;-v&#x27; ... matched as option &#x27;v&#x27; (set logging level) with argument &#x27;debug&#x27;.&#xA;Reading option &#x27;-rtsp_transport&#x27; ... matched as AVOption &#x27;rtsp_transport&#x27; with argument &#x27;tcp&#x27;.&#xA;Reading option &#x27;-thread_queue_size&#x27; ... matched as option &#x27;thread_queue_size&#x27; (set the maximum number of queued packets from the demuxer) with argument &#x27;12&#x27;.&#xA;Reading option &#x27;-i&#x27; ... matched as input url with argument &#x27;rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=1&amp;stream=1.sdp&#x27;.&#xA;Reading option &#x27;-i&#x27; ... matched as input url with argument &#x27;rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=2&amp;stream=1.sdp&#x27;.&#xA;Reading option &#x27;-filter_complex&#x27; ... matched as option &#x27;filter_complex&#x27; (create a complex filtergraph) with argument &#x27;[0:v][1:v] hstack=inputs=2 [v]&#x27;.&#xA;Reading option &#x27;-map&#x27; ... matched as option &#x27;map&#x27; (set input stream mapping) with argument &#x27;[v]&#x27;.&#xA;Reading option &#x27;-r&#x27; ... matched as option &#x27;r&#x27; (set frame rate (Hz value, fraction or abbreviation)) with argument &#x27;30&#x27;.&#xA;Reading option &#x27;http://localhost:8090/feed5.ffm&#x27; ... matched as output url.&#xA;Finished splitting the commandline.&#xA;Parsing a group of options: global .&#xA;Applying option v (set logging level) with argument debug.&#xA;Applying option filter_complex (create a complex filtergraph) with argument [0:v][1:v] hstack=inputs=2 [v].&#xA;Successfully parsed a group of options.&#xA;Parsing a group of options: input url rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=1&amp;stream=1.sdp.&#xA;Applying option thread_queue_size (set the maximum number of queued packets from the demuxer) with argument 12.&#xA;Successfully parsed a group of options.&#xA;Opening an input file: rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=1&amp;stream=1.sdp.&#xA;[tcp @ 0x58fb5e0] No default whitelist set&#xA;[rtsp @ 0x58f9700] SDP:&#xA;v=0&#xA;o=- 38990265062388 38990265062388 IN IP4 192.168.1.132&#xA;a=range:npt=0-&#xA;m=video 0 RTP/AVP 96&#xA;c=IN IP4 0.0.0.0&#xA;a=rtpmap:96 H264/90000&#xA;a=framerate:0S&#xA;a=fmtp:96 profile-level-id=640014; packetization-mode=1; sprop-parameter-sets=Z2QAFK2EAQwgCGEAQwgCGEAQwgCEK1CwSyA=,aO48sA==&#xA;a=control:trackID=3&#xA;&#xA;Failed to parse interval end specification &#x27;&#x27;&#xA;[rtsp @ 0x58f9700] video codec set to: h264&#xA;[rtsp @ 0x58f9700] RTP Profile IDC: 64 Profile IOP: 0 Level: 14&#xA;[rtsp @ 0x58f9700] RTP Packetization Mode: 1&#xA;[rtsp @ 0x58f9700] Extradata set to 0x58fb940 (size: 38)&#xA;[rtsp @ 0x58f9700] setting jitter buffer size to 0&#xA;[rtsp @ 0x58f9700] hello state=0&#xA;[h264 @ 0x58fca00] nal_unit_type: 7, nal_ref_idc: 3&#xA;[h264 @ 0x58fca00] nal_unit_type: 8, nal_ref_idc: 3&#xA;[h264 @ 0x58fca00] nal_unit_type: 7, nal_ref_idc: 3&#xA;[h264 @ 0x58fca00] nal_unit_type: 8, nal_ref_idc: 3&#xA;[h264 @ 0x58fca00] unknown SEI type 229&#xA;[h264 @ 0x58fca00] nal_unit_type: 7, nal_ref_idc: 3&#xA;[h264 @ 0x58fca00] nal_unit_type: 8, nal_ref_idc: 3&#xA;[h264 @ 0x58fca00] nal_unit_type: 6, nal_ref_idc: 0&#xA;[h264 @ 0x58fca00] nal_unit_type: 5, nal_ref_idc: 3&#xA;[h264 @ 0x58fca00] unknown SEI type 229&#xA;[h264 @ 0x58fca00] Reinit context to 352x288, pix_fmt: yuv420p&#xA;[h264 @ 0x58fca00] nal_unit_type: 1, nal_ref_idc: 3&#xA;    Last message repeated 5 times&#xA;[h264 @ 0x58fca00] unknown SEI type 229&#xA;    Last message repeated 1 times&#xA;[rtsp @ 0x58f9700] All info found&#xA;[rtsp @ 0x58f9700] Setting avg frame rate based on r frame rate&#xA;Input #0, rtsp, from &#x27;rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=1&amp;stream=1.sdp&#x27;:&#xA;  Duration: N/A, start: 0.166667, bitrate: N/A&#xA;    Stream #0:0, 28, 1/90000: Video: h264 (High), 1 reference frame, yuv420p(progressive, left), 352x288, 0/1, 6 fps, 6 tbr, 90k tbn, 180k tbc&#xA;Successfully opened the file.&#xA;Parsing a group of options: input url rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=2&amp;stream=1.sdp.&#xA;Successfully parsed a group of options.&#xA;Opening an input file: rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=2&amp;stream=1.sdp.&#xA;[tcp @ 0x59f4280] No default whitelist set&#xA;[rtsp @ 0x59f7620] SDP:&#xA;v=0&#xA;o=- 38990265062388 38990265062388 IN IP4 192.168.1.132&#xA;a=range:npt=0-&#xA;m=video 0 RTP/AVP 96&#xA;c=IN IP4 0.0.0.0&#xA;a=rtpmap:96 H264/90000&#xA;a=framerate:0S&#xA;a=fmtp:96 profile-level-id=640014; packetization-mode=1; sprop-parameter-sets=Z2QAFK2EAQwgCGEAQwgCGEAQwgCEK1CwSyA=,aO48sA==&#xA;a=control:trackID=3&#xA;&#xA;Failed to parse interval end specification &#x27;&#x27;&#xA;[rtsp @ 0x59f7620] video codec set to: h264&#xA;[rtsp @ 0x59f7620] RTP Profile IDC: 64 Profile IOP: 0 Level: 14&#xA;[rtsp @ 0x59f7620] RTP Packetization Mode: 1&#xA;[rtsp @ 0x59f7620] Extradata set to 0x59f3670 (size: 38)&#xA;[rtp @ 0x59f62a0] No default whitelist set&#xA;[udp @ 0x58fb6a0] No default whitelist set&#xA;[udp @ 0x58fb6a0] end receive buffer size reported is 131072&#xA;[udp @ 0x591b940] No default whitelist set&#xA;[udp @ 0x591b940] end receive buffer size reported is 131072&#xA;[rtsp @ 0x59f7620] setting jitter buffer size to 500&#xA;[rtsp @ 0x59f7620] hello state=0&#xA;[h264 @ 0x59e4b20] nal_unit_type: 7, nal_ref_idc: 3&#xA;[h264 @ 0x59e4b20] nal_unit_type: 8, nal_ref_idc: 3&#xA;[h264 @ 0x59e4b20] nal_unit_type: 7, nal_ref_idc: 3&#xA;[h264 @ 0x59e4b20] nal_unit_type: 8, nal_ref_idc: 3&#xA;[h264 @ 0x59e4b20] unknown SEI type 229&#xA;[h264 @ 0x59e4b20] nal_unit_type: 7, nal_ref_idc: 3&#xA;[h264 @ 0x59e4b20] nal_unit_type: 8, nal_ref_idc: 3&#xA;[h264 @ 0x59e4b20] nal_unit_type: 6, nal_ref_idc: 0&#xA;[h264 @ 0x59e4b20] nal_unit_type: 5, nal_ref_idc: 3&#xA;[h264 @ 0x59e4b20] unknown SEI type 229&#xA;[h264 @ 0x59e4b20] Reinit context to 352x288, pix_fmt: yuv420p&#xA;[h264 @ 0x59e4b20] nal_unit_type: 1, nal_ref_idc: 3&#xA;    Last message repeated 5 times&#xA;[h264 @ 0x59e4b20] unknown SEI type 229&#xA;    Last message repeated 1 times&#xA;[rtsp @ 0x59f7620] All info found&#xA;[rtsp @ 0x59f7620] Setting avg frame rate based on r frame rate&#xA;Input #1, rtsp, from &#x27;rtsp://192.168.1.132:554/user=admin&amp;password=mypassword&amp;channel=2&amp;stream=1.sdp&#x27;:&#xA;  Duration: N/A, start: 0.166667, bitrate: N/A&#xA;    Stream #1:0, 28, 1/90000: Video: h264 (High), 1 reference frame, yuv420p(progressive, left), 352x288, 0/1, 6 fps, 6 tbr, 90k tbn, 180k tbc&#xA;Successfully opened the file.&#xA;detected 2 logical cores&#xA;[Parsed_hstack_0 @ 0x59f7cc0] Setting &#x27;inputs&#x27; to value &#x27;2&#x27;&#xA;Parsing a group of options: output url http://localhost:8090/feed5.ffm.&#xA;Applying option map (set input stream mapping) with argument [v].&#xA;Applying option r (set frame rate (Hz value, fraction or abbreviation)) with argument 30.&#xA;Successfully parsed a group of options.&#xA;Opening an output file: http://localhost:8090/feed5.ffm.&#xA;[http @ 0x59aa700] Setting default whitelist &#x27;http,https,tls,rtp,tcp,udp,crypto,httpproxy&#x27;&#xA;[http @ 0x59aa700] request: GET /feed5.ffm HTTP/1.1&#xA;User-Agent: Lavf/57.72.101&#xA;Accept: */*&#xA;Range: bytes=0-&#xA;Connection: close&#xA;Host: localhost:8090&#xA;Icy-MetaData: 1&#xA;&#xA;&#xA;[ffm @ 0x5917d00] Format ffm probed with size=2048 and score=101&#xA;[NULL @ 0x5bce3e0] Setting entry with key &#x27;video_size&#x27; to value &#x27;640x360&#x27;&#xA;[NULL @ 0x5bce3e0] Setting entry with key &#x27;b&#x27; to value &#x27;140000&#x27;&#xA;[NULL @ 0x5bce3e0] Setting entry with key &#x27;time_base&#x27; to value &#x27;1/5&#x27;&#xA;[NULL @ 0x5bce3e0] Setting entry with key &#x27;bt&#x27; to value &#x27;35000&#x27;&#xA;[NULL @ 0x5bce3e0] Setting entry with key &#x27;rc_eq&#x27; to value &#x27;tex^qComp&#x27;&#xA;[NULL @ 0x5bce3e0] Setting entry with key &#x27;maxrate&#x27; to value &#x27;280000&#x27;&#xA;[NULL @ 0x5bce3e0] Setting entry with key &#x27;bufsize&#x27; to value &#x27;280000&#x27;&#xA;[AVIOContext @ 0x5915b80] Statistics: 4096 bytes read, 0 seeks&#xA;[http @ 0x5915f00] Setting default whitelist &#x27;http,https,tls,rtp,tcp,udp,crypto,httpproxy&#x27;&#xA;[http @ 0x5915f00] request: POST /feed5.ffm HTTP/1.1&#xA;Transfer-Encoding: chunked&#xA;User-Agent: Lavf/57.72.101&#xA;Accept: */*&#xA;Connection: close&#xA;Host: localhost:8090&#xA;Icy-MetaData: 1&#xA;&#xA;&#xA;Successfully opened the file.&#xA;Filter hstack has an unconnected output&#xA;[AVIOContext @ 0x59ab080] Statistics: 0 seeks, 0 writeouts&#xA;

    &#xA;&#xA;

    I am stumped - any clues ?

    &#xA;&#xA;

    Thanks in advance.

    &#xA;

  • FFmpeg fontcolor_expr to dynamically change fontcolor over time

    26 juin 2017, par Matthew

    I’m using Fluent-FFmpeg with Node.JS to create videos with text overlaid on them and I’m wanting to change the color of the text as the video progresses.

    My filters follow this pattern :

    drawtext=enable='between(t,18.93,20.28)':fontfile=fonts/cousine-bold.ttf:fontsize=144:fontcolor_expr=%{expr\\\: if(between(t\\, 0\\, 20)\\, 888888\\, 111111)}:x=82:y=288:text='PROGRAMMING'

    And it prints out this stuff :

    ffmpeg version 3.3.2 Copyright (c) 2000-2017 the FFmpeg developers
     built with Apple LLVM version 8.1.0 (clang-802.0.42)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libfreetype --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
     libavutil      55. 58.100 / 55. 58.100
     libavcodec     57. 89.100 / 57. 89.100
     libavformat    57. 71.100 / 57. 71.100
     libavdevice    57.  6.100 / 57.  6.100
     libavfilter     6. 82.100 /  6. 82.100
     libavresample   3.  5.  0 /  3.  5.  0
     libswscale      4.  6.100 /  4.  6.100
     libswresample   2.  7.100 /  2.  7.100
     libpostproc    54.  5.100 / 54.  5.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'uploads/0c719e39820366bc62c8fd66a6327828':
     Metadata:
       major_brand     : qt  
       minor_version   : 0
       compatible_brands: qt  
       creation_time   : 2017-06-23T00:19:46.000000Z
       com.apple.quicktime.make: Apple
       com.apple.quicktime.model: MacBookPro9,2
       com.apple.quicktime.software: Mac OS X 10.12.5 (16F73)
       com.apple.quicktime.creationdate: 2017-06-22T17:18:42-0700
     Duration: 00:00:22.00, start: 0.000000, bitrate: 3408 kb/s
       Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 3091 kb/s, 15 fps, 15 tbr, 30k tbn, 50 tbc (default)
       Metadata:
         creation_time   : 2017-06-23T00:19:46.000000Z
         handler_name    : Core Media Data Handler
         encoder         : H.264
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 316 kb/s (default)
       Metadata:
         creation_time   : 2017-06-23T00:19:46.000000Z
         handler_name    : Core Media Data Handler
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
     Stream #0:1 -> #0:1 (aac (native) -> aac (native))
    Press [q] to stop, [?] for help
    [libx264 @ 0x7ff72e810a00] using SAR=1/1
    [libx264 @ 0x7ff72e810a00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
    [libx264 @ 0x7ff72e810a00] profile High, level 3.1
    [libx264 @ 0x7ff72e810a00] 264 - core 148 r2748 97eaef2 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - 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=250 keyint_min=15 scenecut=40 intra_refresh=0 rc_lookahead=40 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, mp4, to './outputFile.mp4':
     Metadata:
       major_brand     : qt  
       minor_version   : 0
       compatible_brands: qt  
       com.apple.quicktime.creationdate: 2017-06-22T17:18:42-0700
       com.apple.quicktime.make: Apple
       com.apple.quicktime.model: MacBookPro9,2
       com.apple.quicktime.software: Mac OS X 10.12.5 (16F73)
       encoder         : Lavf57.71.100
       Stream #0:0(und): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 15 fps, 15360 tbn, 15 tbc (default)
       Metadata:
         creation_time   : 2017-06-23T00:19:46.000000Z
         handler_name    : Core Media Data Handler
         encoder         : Lavc57.89.100 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
       Stream #0:1(und): Audio: aac (LC) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, fltp, 128 kb/s (default)
       Metadata:
         creation_time   : 2017-06-23T00:19:46.000000Z
         handler_name    : Core Media Data Handler
         encoder         : Lavc57.89.100 aac
    frame=   52 fps=0.0 q=27.0 size=      37kB time=00:00:04.66 bitrate=  65.7kbits/s speed=8.74x    
    frame=   72 fps= 70 q=27.0 size=     187kB time=00:00:06.03 bitrate= 253.4kbits/s speed=5.83x    
    frame=   95 fps= 61 q=27.0 size=     358kB time=00:00:07.52 bitrate= 390.4kbits/s speed=4.82x    
    frame=  117 fps= 57 q=27.0 size=     569kB time=00:00:08.98 bitrate= 518.9kbits/s speed=4.35x    
    frame=  137 fps= 53 q=27.0 size=     732kB time=00:00:10.32 bitrate= 580.2kbits/s speed=4.03x    
    frame=  159 fps= 52 q=27.0 size=     942kB time=00:00:11.79 bitrate= 654.7kbits/s speed=3.84x    
    frame=  180 fps= 50 q=27.0 size=    1110kB time=00:00:13.18 bitrate= 689.5kbits/s speed=3.67x    
    frame=  204 fps= 50 q=27.0 size=    1331kB time=00:00:14.78 bitrate= 737.2kbits/s speed= 3.6x    
    frame=  223 fps= 48 q=27.0 size=    1486kB time=00:00:16.06 bitrate= 757.9kbits/s speed=3.49x    
    frame=  248 fps= 48 q=27.0 size=    1708kB time=00:00:17.71 bitrate= 789.7kbits/s speed=3.46x    
    frame=  266 fps= 47 q=27.0 size=    1859kB time=00:00:18.92 bitrate= 805.0kbits/s speed=3.35x    
    frame=  285 fps= 46 q=27.0 size=    2013kB time=00:00:20.19 bitrate= 816.4kbits/s speed=3.28x    
    [drawtext @ 0x7ff72d84bc00] Cannot find color '888888.000000'
       Last message repeated 9 times
    frame=  308 fps= 46 q=27.0 size=    2224kB time=00:00:21.75 bitrate= 837.5kbits/s speed=3.27x    
    frame=  330 fps= 46 q=27.0 size=    2401kB time=00:00:21.96 bitrate= 895.5kbits/s speed=3.06x    
    frame=  330 fps= 41 q=-1.0 Lsize=    2834kB time=00:00:22.00 bitrate=1055.0kbits/s speed=2.73x    
    video:2484kB audio:338kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.441003%
    [libx264 @ 0x7ff72e810a00] frame I:22    Avg QP:13.64  size: 47604
    [libx264 @ 0x7ff72e810a00] frame P:154   Avg QP:16.76  size:  8574
    [libx264 @ 0x7ff72e810a00] frame B:154   Avg QP:19.42  size:  1138
    [libx264 @ 0x7ff72e810a00] consecutive B-frames:  6.7% 93.3%  0.0%  0.0%
    [libx264 @ 0x7ff72e810a00] mb I  I16..4: 85.1% 13.3%  1.6%
    [libx264 @ 0x7ff72e810a00] mb P  I16..4:  5.5%  3.1%  0.0%  P16..4: 41.5%  4.0%  5.5%  0.0%  0.0%    skip:40.4%
    [libx264 @ 0x7ff72e810a00] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8: 14.7%  0.1%  0.0%  direct: 4.7%  skip:80.4%  L0:28.0% L1:71.4% BI: 0.7%
    [libx264 @ 0x7ff72e810a00] 8x8 transform intra:21.7% inter:84.8%
    [libx264 @ 0x7ff72e810a00] coded y,uvDC,uvAC intra: 60.5% 98.6% 92.9% inter: 6.0% 24.3% 3.1%
    [libx264 @ 0x7ff72e810a00] i16 v,h,dc,p: 35% 19% 43%  3%
    [libx264 @ 0x7ff72e810a00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 10%  7% 80%  1%  1%  1%  1%  0%  0%
    [libx264 @ 0x7ff72e810a00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 33% 20% 45%  0%  0%  0%  0%  0%  0%
    [libx264 @ 0x7ff72e810a00] i8c dc,h,v,p: 77%  9% 10%  4%
    [libx264 @ 0x7ff72e810a00] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 0x7ff72e810a00] ref P L0: 75.3%  0.3% 17.1%  7.3%
    [libx264 @ 0x7ff72e810a00] ref B L0: 80.0% 20.0%
    [libx264 @ 0x7ff72e810a00] kb/s:924.66
    [aac @ 0x7ff72e812200] Qavg: 2159.960

    In particular this annoying bit :

    [drawtext @ 0x7ff72d84bc00] Cannot find color '888888.000000'

    However, it would be really nice to do something like this :

    fontcolor_expr=%{expr\\\\: if(between(t\\, 0\\, 20)\\, pink\\, white)}

    Which prints out this error :

    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Undefined constant or missing '(' in 'pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Missing ')' or too many args in 'if(between(t,0,20),pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] Expression 'if(between(t, 0, 20), pink, white)' for the expr text expansion function is not valid
    frame=  287 fps= 46 q=27.0 size=    2023kB time=00:00:20.31 bitrate= 815.9kbits/s speed=3.27x    
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Undefined constant or missing '(' in 'pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Missing ')' or too many args in 'if(between(t,0,20),pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] Expression 'if(between(t, 0, 20), pink, white)' for the expr text expansion function is not valid
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Undefined constant or missing '(' in 'pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Missing ')' or too many args in 'if(between(t,0,20),pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] Expression 'if(between(t, 0, 20), pink, white)' for the expr text expansion function is not valid
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Undefined constant or missing '(' in 'pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Missing ')' or too many args in 'if(between(t,0,20),pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] Expression 'if(between(t, 0, 20), pink, white)' for the expr text expansion function is not valid
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Undefined constant or missing '(' in 'pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Missing ')' or too many args in 'if(between(t,0,20),pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] Expression 'if(between(t, 0, 20), pink, white)' for the expr text expansion function is not valid
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Undefined constant or missing '(' in 'pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Missing ')' or too many args in 'if(between(t,0,20),pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] Expression 'if(between(t, 0, 20), pink, white)' for the expr text expansion function is not valid
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Undefined constant or missing '(' in 'pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Missing ')' or too many args in 'if(between(t,0,20),pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] Expression 'if(between(t, 0, 20), pink, white)' for the expr text expansion function is not valid
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Undefined constant or missing '(' in 'pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Missing ')' or too many args in 'if(between(t,0,20),pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] Expression 'if(between(t, 0, 20), pink, white)' for the expr text expansion function is not valid
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Undefined constant or missing '(' in 'pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Missing ')' or too many args in 'if(between(t,0,20),pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] Expression 'if(between(t, 0, 20), pink, white)' for the expr text expansion function is not valid
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Undefined constant or missing '(' in 'pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] [Eval @ 0x7fff5f7760c0] Missing ')' or too many args in 'if(between(t,0,20),pink,white)'
    [Parsed_drawtext_0 @ 0x7ff3cf523300] Expression 'if(between(t, 0, 20), pink, white)' for the expr text expansion function is not valid

    There aren’t a lot of examples of fontcolor_expr, so I wanted to see if anyone had experience with this. Any tips on changing fonrcolors dynamically without creating multiple filters ?

    Please note that fontcolor_expr=white and fontcolor_expr=888888 are valid and create videos with a fixed font color.