Opened 7 years ago

Closed 7 years ago

#6417 closed defect (invalid)

Select option in tee muxer issue

Reported by: Daniel 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 by Daniel, 7 years ago

Priority: normalimportant

comment:2 by Carl Eugen Hoyos, 7 years ago

Keywords: select removed
Priority: importantnormal
Resolution: invalid
Status: newclosed

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.