Opened 10 years ago
Last modified 5 years ago
#4270 new defect
tee muxing problem when -vcodec copy
Reported by: | arsen | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | unspecified | Keywords: | tee |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
Tacking input stream, then sending without video transcoding to 1 or 2 servers. As result ffmpeg cannot start.
In case if using trans-coding it works well
How to reproduce:
ffmpeg/ffmpeg -i http://InputIP:8042/InputStream -loglevel debug -preset fast -acodec aac -strict experimental -ar 44100 -ac 2 -b:a 96k -vcodec copy -f tee -map 0:v -map 0:a -flags +global_header "[f=flv]rtmp://OutputIP/live/ars|[f=flv]rtmp://204.174.104.72/live/ars" ffmpeg version 2.5.3- http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2015 the FFmpeg developers built on Jan 10 2015 09:24:27 with gcc 4.9.2 (Debian 4.9.2-10) configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --disable-ffserver --enable-libass --enable-gnutls --cc=gcc libavutil 54. 15.100 / 54. 15.100 libavcodec 56. 13.100 / 56. 13.100 libavformat 56. 15.102 / 56. 15.102 libavdevice 56. 3.100 / 56. 3.100 libavfilter 5. 2.103 / 5. 2.103 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc 53. 3.100 / 53. 3.100 Splitting the commandline. Reading option '-i' ... matched as input file with argument 'http://InputIP:8042/InputStream'. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Reading option '-preset' ... matched as AVOption 'preset' with argument 'fast'. Reading option '-acodec' ... matched as option 'acodec' (force audio codec ('copy' to copy stream)) with argument 'aac'. Reading option '-strict' ...Routing option strict to both codec and muxer layer matched as AVOption 'strict' with argument 'experimental'. Reading option '-ar' ... matched as option 'ar' (set audio sampling rate (in Hz)) with argument '44100'. Reading option '-ac' ... matched as option 'ac' (set number of audio channels) with argument '2'. Reading option '-b:a' ... matched as option 'b' (video bitrate (please use -b:v)) with argument '96k'. Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'copy'. Reading option '-f' ... matched as option 'f' (force format) with argument 'tee'. Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0:v'. Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0:a'. Reading option '-flags' ... matched as AVOption 'flags' with argument '+global_header'. Reading option '[f=flv]rtmp://OutputIP/live/ars|[f=flv]rtmp://204.174.104.72/live/ars' ... matched as output file. Finished splitting the commandline. Parsing a group of options: global . Applying option loglevel (set logging level) with argument debug. Successfully parsed a group of options. Parsing a group of options: input file http://InputIP:8042/InputStream. Successfully parsed a group of options. Opening an input file: http://InputIP:8042/InputStream. [http @ 0x40f2460] request: GET /InputStream HTTP/1.1 User-Agent: Lavf/56.15.102 Accept: */* Range: bytes=0- Connection: close Host: InputIP:8042 Icy-MetaData: 1 [http @ 0x40f2460] header='HTTP/1.0 200 OK' [http @ 0x40f2460] http_code=200 [http @ 0x40f2460] header='Content-Type: application/octet-stream' [http @ 0x40f2460] header='Server: Icecast 2.3.2-kh29' [http @ 0x40f2460] header='Cache-Control: no-cache' [http @ 0x40f2460] header='Expires: Mon, 26 Jul 1997 05:00:00 GMT' [http @ 0x40f2460] header='Pragma: no-cache' [http @ 0x40f2460] header='' [mpegts @ 0x40f2f80] Format mpegts probed with size=2048 and score=100 [mpegts @ 0x40f2f80] stream=0 stream_type=f pid=4a prog_reg_desc= [mpegts @ 0x40f2f80] stream=1 stream_type=1b pid=4b prog_reg_desc= [mpegts @ 0x40f2f80] Before avformat_find_stream_info() pos: 0 bytes read:61996 seeks:0 [h264 @ 0x40f9260] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 0x40f9260] decode_slice_header error [h264 @ 0x40f9260] no frame! [h264 @ 0x40f9260] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 0x40f9260] decode_slice_header error [h264 @ 0x40f9260] no frame! [h264 @ 0x40f9260] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 0x40f9260] decode_slice_header error [h264 @ 0x40f9260] no frame! [h264 @ 0x40f9260] no picture [mpegts @ 0x40f2f80] max_analyze_duration 5000000 reached at 5013333 microseconds [mpegts @ 0x40f2f80] After avformat_find_stream_info() pos: 1301336 bytes read:1301524 seeks:0 frames:362 Input #0, mpegts, from 'http://InputIP:8042/InputStream': Duration: N/A, start: 54280.012100, bitrate: 114 kb/s Program 1 Stream #0:0[0x4a](rus), 237, 1/90000: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 114 kb/s Stream #0:1[0x4b], 125, 1/90000: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(left), 704x576 [SAR 16:11 DAR 16:9], 1/50, 25 fps, 25 tbr, 90k tbn, 50 tbc Successfully opened the file. Parsing a group of options: output file [f=flv]rtmp://OutputIP/live/ars|[f=flv]rtmp://204.174.104.72/live/ars. Applying option acodec (force audio codec ('copy' to copy stream)) with argument aac. Applying option ar (set audio sampling rate (in Hz)) with argument 44100. Applying option ac (set number of audio channels) with argument 2. Applying option b:a (video bitrate (please use -b:v)) with argument 96k. Applying option vcodec (force video codec ('copy' to copy stream)) with argument copy. Applying option f (force format) with argument tee. Applying option map (set input stream mapping) with argument 0:v. Applying option map (set input stream mapping) with argument 0:a. Successfully parsed a group of options. Opening an output file: [f=flv]rtmp://OutputIP/live/ars|[f=flv]rtmp://204.174.104.72/live/ars. Successfully opened the file. detected 4 logical cores [graph 0 input from stream 0:0 @ 0x40f91a0] Setting 'time_base' to value '1/48000' [graph 0 input from stream 0:0 @ 0x40f91a0] Setting 'sample_rate' to value '48000' [graph 0 input from stream 0:0 @ 0x40f91a0] Setting 'sample_fmt' to value 'fltp' [graph 0 input from stream 0:0 @ 0x40f91a0] Setting 'channel_layout' to value '0x3' [graph 0 input from stream 0:0 @ 0x40f91a0] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x3 [audio format for output stream 0:1 @ 0x40de660] Setting 'sample_fmts' to value 'fltp' [audio format for output stream 0:1 @ 0x40de660] Setting 'sample_rates' to value '44100' [audio format for output stream 0:1 @ 0x40de660] Setting 'channel_layouts' to value '0x3' [audio format for output stream 0:1 @ 0x40de660] auto-inserting filter 'auto-inserted resampler 0' between the filter 'Parsed_anull_0' and the filter 'audio format for output stream 0:1' [AVFilterGraph @ 0x4102640] query_formats: 4 queried, 6 merged, 3 already done, 0 delayed [auto-inserted resampler 0 @ 0x4118000] ch:2 chl:stereo fmt:fltp r:48000Hz -> ch:2 chl:stereo fmt:fltp r:44100Hz [rtmp @ 0x4101ee0] Handshaking... [rtmp @ 0x4101ee0] Type answer 3 [rtmp @ 0x4101ee0] Server version 3.0.1.1 [rtmp @ 0x4101ee0] Proto = rtmp, path = /live/ars, app = live, fname = ars [rtmp @ 0x4101ee0] Server bandwidth = 2500000 [rtmp @ 0x4101ee0] Client bandwidth = 2500000 [rtmp @ 0x4101ee0] New incoming chunk size = 4096 [rtmp @ 0x4101ee0] Releasing stream... [rtmp @ 0x4101ee0] FCPublish stream... [rtmp @ 0x4101ee0] Creating stream... [rtmp @ 0x4101ee0] Sending publish command for 'ars' [flv @ 0x4101380] Tag [27][0][0][0]/0x0000001b incompatible with output codec id '28' ([7][0][0][0]) [tee @ 0x433b180] Slave '[f=flv]rtmp://OutputIP/live/ars': error writing header: Invalid data found when processing input Output #0, tee, to '[f=flv]rtmp://OutputIP/live/ars|[f=flv]rtmp://204.174.104.72/live/ars': Metadata: encoder : Lavf56.15.102 Stream #0:0, 0, 1/25: Video: h264 ([27][0][0][0] / 0x001B), yuv420p(left), 704x576 (0x0) [SAR 16:11 DAR 16:9], 1/25, q=2-31, 25 fps, 25 tbn, 25 tbc Stream #0:1(rus), 0, 1/44100: Audio: aac, 44100 Hz, stereo, fltp, 96 kb/s Metadata: encoder : Lavc56.13.100 aac Stream mapping: Stream #0:1 -> #0:0 (copy) Stream #0:0 -> #0:1 (aac (native) -> aac (native)) Could not write header for output file #0 (incorrect codec parameters ?): Invalid data found when processing input [AVIOContext @ 0x40f27a0] Statistics: 1301524 bytes read, 0 seeks
Same stream Sending to 1 server without muxing (works well):
ffmpeg/ffmpeg -i http://InputIP:8042/InputStream -loglevel debug -acodec aac -strict experimental -ar 44100 -ac 2 -b:a 96k -vcodec copy -f flv rtmp://OutputIP:10000/live/ars ffmpeg version 2.5.3- http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2015 the FFmpeg developers built on Jan 10 2015 09:24:27 with gcc 4.9.2 (Debian 4.9.2-10) configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --disable-ffserver --enable-libass --enable-gnutls --cc=gcc libavutil 54. 15.100 / 54. 15.100 libavcodec 56. 13.100 / 56. 13.100 libavformat 56. 15.102 / 56. 15.102 libavdevice 56. 3.100 / 56. 3.100 libavfilter 5. 2.103 / 5. 2.103 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc 53. 3.100 / 53. 3.100 Splitting the commandline. Reading option '-i' ... matched as input file with argument 'http://InputIP:8042/InputStream'. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Reading option '-acodec' ... matched as option 'acodec' (force audio codec ('copy' to copy stream)) with argument 'aac'. Reading option '-strict' ...Routing option strict to both codec and muxer layer matched as AVOption 'strict' with argument 'experimental'. Reading option '-ar' ... matched as option 'ar' (set audio sampling rate (in Hz)) with argument '44100'. Reading option '-ac' ... matched as option 'ac' (set number of audio channels) with argument '2'. Reading option '-b:a' ... matched as option 'b' (video bitrate (please use -b:v)) with argument '96k'. Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'copy'. Reading option '-f' ... matched as option 'f' (force format) with argument 'flv'. Reading option 'rtmp://OutputIP:10000/live/ars' ... matched as output file. Finished splitting the commandline. Parsing a group of options: global . Applying option loglevel (set logging level) with argument debug. Successfully parsed a group of options. Parsing a group of options: input file http://InputIP:8042/InputStream. Successfully parsed a group of options. Opening an input file: http://InputIP:8042/InputStream. [http @ 0x31a0460] request: GET /InputStream HTTP/1.1 User-Agent: Lavf/56.15.102 Accept: */* Range: bytes=0- Connection: close Host: InputIP:8042 Icy-MetaData: 1 [http @ 0x31a0460] header='HTTP/1.0 200 OK' [http @ 0x31a0460] http_code=200 [http @ 0x31a0460] header='Content-Type: application/octet-stream' [http @ 0x31a0460] header='Server: Icecast 2.3.2-kh29' [http @ 0x31a0460] header='Cache-Control: no-cache' [http @ 0x31a0460] header='Expires: Mon, 26 Jul 1997 05:00:00 GMT' [http @ 0x31a0460] header='Pragma: no-cache' [http @ 0x31a0460] header='' [mpegts @ 0x31a0e00] Format mpegts probed with size=2048 and score=100 [mpegts @ 0x31a0e00] stream=0 stream_type=f pid=4a prog_reg_desc= [mpegts @ 0x31a0e00] stream=1 stream_type=1b pid=4b prog_reg_desc= [mpegts @ 0x31a0e00] Before avformat_find_stream_info() pos: 0 bytes read:9872 seeks:0 [h264 @ 0x31a71a0] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 0x31a71a0] decode_slice_header error [h264 @ 0x31a71a0] no frame! [h264 @ 0x31a71a0] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 0x31a71a0] decode_slice_header error [h264 @ 0x31a71a0] no frame! [h264 @ 0x31a71a0] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 0x31a71a0] decode_slice_header error [h264 @ 0x31a71a0] no frame! [h264 @ 0x31a71a0] no picture [mpegts @ 0x31a0e00] max_analyze_duration 5000000 reached at 5013333 microseconds [mpegts @ 0x31a0e00] After avformat_find_stream_info() pos: 1182896 bytes read:1184272 seeks:0 frames:362 Input #0, mpegts, from 'http://InputIP:8042/InputStream': Duration: N/A, start: 54069.750767, bitrate: 149 kb/s Program 1 Stream #0:0[0x4a](rus), 237, 1/90000: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 149 kb/s Stream #0:1[0x4b], 125, 1/90000: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(left), 704x576 [SAR 16:11 DAR 16:9], 1/50, 25 fps, 25 tbr, 90k tbn, 50 tbc Successfully opened the file. Parsing a group of options: output file rtmp://OutputIP:10000/live/ars. Applying option acodec (force audio codec ('copy' to copy stream)) with argument aac. Applying option ar (set audio sampling rate (in Hz)) with argument 44100. Applying option ac (set number of audio channels) with argument 2. Applying option b:a (video bitrate (please use -b:v)) with argument 96k. Applying option vcodec (force video codec ('copy' to copy stream)) with argument copy. Applying option f (force format) with argument flv. Successfully parsed a group of options. Opening an output file: rtmp://OutputIP:10000/live/ars. [rtmp @ 0x31a7620] Handshaking... [rtmp @ 0x31a7620] Type answer 3 [rtmp @ 0x31a7620] Server version 3.0.1.1 [rtmp @ 0x31a7620] Proto = rtmp, path = /live/ars, app = live, fname = ars [rtmp @ 0x31a7620] Server bandwidth = 2500000 [rtmp @ 0x31a7620] Client bandwidth = 2500000 [rtmp @ 0x31a7620] New incoming chunk size = 4096 [rtmp @ 0x31a7620] Releasing stream... [rtmp @ 0x31a7620] FCPublish stream... [rtmp @ 0x31a7620] Creating stream... [rtmp @ 0x31a7620] Sending publish command for 'ars' Successfully opened the file. detected 4 logical cores [graph 0 input from stream 0:0 @ 0x31a0940] Setting 'time_base' to value '1/48000' [graph 0 input from stream 0:0 @ 0x31a0940] Setting 'sample_rate' to value '48000' [graph 0 input from stream 0:0 @ 0x31a0940] Setting 'sample_fmt' to value 'fltp' [graph 0 input from stream 0:0 @ 0x31a0940] Setting 'channel_layout' to value '0x3' [graph 0 input from stream 0:0 @ 0x31a0940] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x3 [audio format for output stream 0:1 @ 0x318ca00] Setting 'sample_fmts' to value 'fltp' [audio format for output stream 0:1 @ 0x318ca00] Setting 'sample_rates' to value '44100' [audio format for output stream 0:1 @ 0x318ca00] Setting 'channel_layouts' to value '0x3' [audio format for output stream 0:1 @ 0x318ca00] auto-inserting filter 'auto-inserted resampler 0' between the filter 'Parsed_anull_0' and the filter 'audio format for output stream 0:1' [AVFilterGraph @ 0x31a0500] query_formats: 4 queried, 6 merged, 3 already done, 0 delayed [auto-inserted resampler 0 @ 0x3288a60] ch:2 chl:stereo fmt:fltp r:48000Hz -> ch:2 chl:stereo fmt:fltp r:44100Hz Output #0, flv, to 'rtmp://OutputIP:10000/live/ars': Metadata: encoder : Lavf56.15.102 Stream #0:0, 0, 1/1000: Video: h264 ([7][0][0][0] / 0x0007), yuv420p(left), 704x576 (0x0) [SAR 16:11 DAR 16:9], 1/90000, q=2-31, 25 fps, 1k tbn, 90k tbc Stream #0:1(rus), 0, 1/1000: Audio: aac ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 96 kb/s Metadata: encoder : Lavc56.13.100 aac Stream mapping: Stream #0:1 -> #0:0 (copy) Stream #0:0 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help [flv @ 0x31c9a20] Failed to update header with correct duration.ate=1726.5kbits/s [flv @ 0x31c9a20] Failed to update header with correct filesize. frame= 758 fps= 30 q=-1.0 Lsize= 6413kB time=00:00:30.48 bitrate=1723.0kbits/s video:6017kB audio:358kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.581407% Input file #0 (http://InputIP:8042/InputStream): Input stream #0:0 (audio): 1430 packets read (498746 bytes); 1430 frames decoded (1464320 samples); Input stream #0:1 (video): 761 packets read (6174587 bytes); Total: 2191 packets (6673333 bytes) demuxed Output file #0 (rtmp://OutputIP:10000/live/ars): Output stream #0:0 (video): 758 packets muxed (6161396 bytes); Output stream #0:1 (audio): 1313 frames encoded (1344512 samples); 1314 packets muxed (367077 bytes); Total: 2072 packets (6528473 bytes) muxed 1430 frames successfully decoded, 0 decoding errors [AVIOContext @ 0x328b7e0] Statistics: 0 seeks, 2097 writeouts [rtmp @ 0x31a7620] UnPublishing stream... [rtmp @ 0x31a7620] Deleting stream... [AVIOContext @ 0x31a06e0] Statistics: 7114428 bytes read, 0 seeks
Change History (3)
comment:1 by , 10 years ago
comment:3 by , 5 years ago
Keywords: | muxing removed |
---|
Is this issue still reproducible? Is network input required to reproduce?
Note:
See TracTickets
for help on using tickets.
Tee mux seems to be a bit buggy to me as well ( https://trac.ffmpeg.org/ticket/4096 )