[FFmpeg-user] Use of tee output with codec copy
Devin Heitmueller
dheitmueller at kernellabs.com
Wed Mar 25 23:26:44 EET 2020
Hello,
I've seen various postings related to problems with the use of copy with
the tee output format, but not with any real resolution. I'm trying to
direct output to both an flv and a UDP output with codec copy, and I've
boiled it down to the following test case (run against today's master).
I originally assumed it was some failure to automatically insert a BSF when
using the tee filter, but I don't see any sign of that.
There's something in ffmpeg that converts "h264 (High) ([27][0][0][0]" into
"h264 (High) ([7][0][0][0] / 0x0007)" when going directly to flv but not
when using tee, but it's not clear to me where in the code that happens.
Any suggestions would be greatly appreciated (I'm happy to provide the
foo.ts file if you can't reproduce it with any other ts that has h.264 in
it).
Thanks,
Devin Heitmueller
=====
./ffmpeg -i foo.ts -map 0:0 -c:v copy -f tee "[f=mpegts]udp://
227.1.1.1:6002?pkt_size=1316|[f=flv]whatever.flv"
ffmpeg version N-96891-g60b1f85b67 Copyright (c) 2000-2020 the FFmpeg
developers
built with Apple clang version 11.0.0 (clang-1100.0.33.17)
configuration:
libavutil 56. 42.100 / 56. 42.100
libavcodec 58. 73.102 / 58. 73.102
libavformat 58. 39.101 / 58. 39.101
libavdevice 58. 9.103 / 58. 9.103
libavfilter 7. 77.100 / 7. 77.100
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
Input #0, mpegts, from 'foo.ts':
Duration: 00:00:23.90, start: 1.400000, bitrate: 2531 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B),
yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps,
29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x101]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz,
stereo, fltp, 256 kb/s
[flv @ 0x7fe45a804c00] Tag [27][0][0][0] incompatible with output codec id
'27' ([7][0][0][0])
[tee @ 0x7fe45a802200] Slave '[f=flv]whatever.flv': error writing header:
Invalid data found when processing input
[tee @ 0x7fe45a802200] Slave muxer #1 failed, aborting.
Could not write header for output file #0 (incorrect codec parameters ?):
Invalid data found when processing input
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Last message repeated 1 times
===================
For reference, this command works fine:
./ffmpeg -i foo.ts -map 0:0 -c:v copy -f flv whatever.flv
--
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
More information about the ffmpeg-user
mailing list