On 26-06-2019 03:56 PM, Alex Molon wrote:
Hi All,
I need to live encode a video and send it to two separate UDP outputs with
different settings, since the only difference is the audio track, I was
thinking to use the TEE muxer but I don't know how to pass a mpegts_flag
At the moment I'm using two different processes, but I'm wasting CPU resources:
Process 1: ffmpeg -i input -c:v libx264 -c:a libfdk_aac -flags:a +global_header
-latm 1 -profile:a aac_he -mpegts_flags latm -f mpegts udp://239.33.33.33:7000
Process 2: ffmpeg -i input -c:v libx264 -c:a libfdk_aac -f mpegts
udp://239.33.33.33:6000
So I've tried with something like this:
ffmpeg -i input -map 0:v -map 0:a -map 0:a -c:v libx264 -c:a libfdk_aac -flags:a:0
+global_header -latm 1 -profile:a: aac_he -f tee
"[f=mpegts:mpegts_flags=latm,select=\'0,1\']udp://239.33.33.33:7000|[f=mpegts,select=\'0,2\']udp://239.33.33.33:6000"
but it sems the option mpegts_flags=latm is totally ignored since I can see
this error:
[LATM/LOAS muxer @ 0x55f4f9d038c0] Muxing MPEG-4 AOT 21 in LATM is not supported
[tee @ 0x55f4f6689600] Slave
'[f=mpegts:mpegts_flags=latm:select='0,4']udp://239.5.99.120:7000?pkt_size=1316':
error writing header: Invalid data found when processing input
Where am I wrong?
Any suggestion?
A few things are wrong. Options for a slave muxer are separated by a
colon ':' so
f=mpegts:mpegts_flags=latm,select=\'0,1\'
becomes
f=mpegts:mpegts_flags=latm:select=\'0,1\'
Same for
f=mpegts,select=\'0,2\'
Next,
-latm 1 -profile:a: aac_he
applies these options to both audio encodes.
Change to
-latm:a:0 1 -profile:a:0 aac_he
Gyan
_______________________________________________
ffmpeg-user mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".