Opened 2 months ago

Closed 2 months ago

#6417 closed defect (invalid)

Select option in tee muxer issue

Reported by: desteban Owned by:
Priority: normal Component: avformat
Version: 2.8.11 Keywords: tee
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Hi,

I am using the last version available for Ubuntu 16.04

ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
  configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100

As explained here:
https://trac.ffmpeg.org/wiki/Creating%20multiple%20outputs#Teepseudo-muxer
I am trying to do the example where the video stream is split and scaled to two different sized outputs, and the audio is encoded only once but used by both outputs.

ffmpeg -i input -filter_complex \
"[0:v]split=2[s0][s1]; \
 [s0]scale=1280:-2[v0]; \
 [s1]scale=640:-2[v1]" \
-map "[v0]" -map "[v1]" -map 0:a -c:v libx264 -c:a aac -f tee \
"[select=\'v:0,a\']local0.mkv| \
 [select=\'v:0,a\':f=flv]rtmp://server0/app/instance/playpath| \
 [select=\'v:1,a\']local1.mkv| \
 [select=\'v:1,a\':f=flv]rtmp://server1/app/instance/playpath"

The issue is related with the select.

Reading this: https://www.ffmpeg.org/ffmpeg-formats.html#tee-1

select
Select the streams that should be mapped to the slave output, specified by a stream specifier. If not specified, this defaults to all the input streams. You may use multiple stream specifiers separated by commas (,) e.g.: a:0,v

It is supposed that You may use multiple stream specifiers separated by commas (,) but it does not working (is ignoring streams specified after comma)

So using this unofficial repo:

sudo add-apt-repository ppa:jonathonf/ffmpeg-3

I have updated ffmpeg to this version:

ffmpeg version 3.3-1~16.04.york1 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
  configuration: --prefix=/usr --extra-version='1~16.04.york1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  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

Now select works well but I would prefer to use the official version for Ubuntu 16.04.

Did you know about this issue?
Are you planning to fix for Ubuntu 16.04?
Are there other approaches to achieve the goal of the example?

Thanks!

Change History (2)

comment:1 Changed 2 months ago by desteban

  • Priority changed from normal to important

comment:2 Changed 2 months ago by cehoyos

  • Keywords select removed
  • Priority changed from important to normal
  • Resolution set to invalid
  • Status changed from new to closed

You cannot use current documentation to report a bug in an old version.

It is not the decision of the FFmpeg developers if Ubuntu will update their FFmpeg version (for old Ubuntu) - for all I know, they won't though.

Note: See TracTickets for help on using tickets.