FFmpeg T-Muxer verarbeitet Audio anders

575
sidney edwards

Ich habe Schwierigkeiten, den Tee Muxer zum Laufen zu bringen. Wenn ich die Ausgabe in eine lokale Datei direkt ausführe, funktioniert es, aber wenn ich die Ausgabe durch ein T-Stück ersetze, schlägt sie fehl:

ffmpeg -loglevel trace -f mpegts -i udp://192.168.0.200:10001?fifo_size=50000000\&overrun_nonfatal \ -map 0:v -map 0:a:0 -map 0:a:1 -map 0:a:2 -s 640x360 -c:v libx264 -b:v 600k -vbsf h264_mp4toannexb -acodec copy -bsf:a aac_adtstoasc -f flv test.flv 

funktioniert aber

ffmpeg -loglevel trace -f mpegts -i udp://192.168.0.200:10001?fifo_size=50000000\&overrun_nonfatal \ -map 0:v -map 0:a:0 -map 0:a:1 -map 0:a:2 -s 640x360 -c:v libx264 -b:v 600k -vbsf h264_mp4toannexb -acodec copy -bsf:a aac_adtstoasc -f tee "[select=\'v,a:0\':f=flv:bsfs/a=aac_adtstoasc]test.flv" 

tut nicht

Die Fehler sind: -

[flv @ 0x55e8ee4c19a0] Tag [15][0][0][0]/0x0000000f incompatible with output codec id '86018' ([10][0][0][0]) [tee @ 0x55e8ed34d6e0] Slave '[select='a:0':f=flv:bsfs/a=aac_adtstoasc]test.flv': error writing header: Invalid data found when processing input 

Ich habe versucht zu recherchieren, was dies bedeutet, und ich denke, dass AAC-LC nicht mit AAC kompatibel ist. Vielleicht habe ich die Syntax für das T-Stück falsch verstanden, aber ich verstehe nicht, warum -acodec copy in einer Instanz funktioniert und nicht in der anderen. Ich glaube, das ist definitiv Audio

-tee [select=\'v\':f=flv:bsfs/a=aac_adtstoasc]test.flv 

funktioniert.

ffmpeg version 3.2.2-1~16.04.york3 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.4.1 (Ubuntu 5.4.1-4ubuntu1~16.04.york1) 20161202 configuration: --prefix=/usr --extra-version='1~16.04.york3' --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-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --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-libopencv --enable-frei0r --enable-libx264 --enable-chromaprint --enable-shared libavutil 55. 34.100 / 55. 34.100 libavcodec 57. 64.101 / 57. 64.101 libavformat 57. 56.100 / 57. 56.100 libavdevice 57. 1.100 / 57. 1.100 libavfilter 6. 65.100 / 6. 65.100 libavresample 3. 1. 0 / 3. 1. 0 libswscale 4. 2.100 / 4. 2.100 libswresample 2. 3.100 / 2. 3.100 libpostproc 54. 1.100 / 54. 1.100 

Habe auch auf Windows ffmpeg Version N-78964-g5061579 mit den gleichen Ergebnissen versucht.

Hilfe wäre sehr dankbar, da dies mich verrückt macht !!

0
Tritt nicht auf, wenn das Audio codiert ist und nicht kopiert wird. Gyan vor 7 Jahren 0
Zeigt die vollständige Konsolenausgabe des nicht funktionierenden Befehls an. LordNeckbeard vor 7 Jahren 0

0 Antworten auf die Frage