[FFmpeg-trac] #6417(avformat:new): Select option in tee muxer issue
FFmpeg
trac at avcodec.org
Wed May 24 12:56:57 EEST 2017
#6417: Select option in tee muxer issue
-------------------------------------+----------------------------------
Reporter: desteban | Type: defect
Status: new | Priority: normal
Component: avformat | Version: 2.8.11
Keywords: tee, select | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+----------------------------------
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!
--
Ticket URL: <https://trac.ffmpeg.org/ticket/6417>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list