Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
aes67 [2018/12/19 11:42] – created mazdermindaes67 [2018/12/19 12:27] – [AES67 Loudness-Meter] mazdermind
Line 48: Line 48:
   * https://coaxion.net/blog/2015/05/ptp-network-clock-support-in-gstreamer/   * https://coaxion.net/blog/2015/05/ptp-network-clock-support-in-gstreamer/
  
 +===== AES67 Loudness-Meter =====
 +Für das Loudness-Meter in der ACR benutzen wir eine Pipeline aus drei Komponenten:
 +
 +  * Eine GStreamer-Pipeline zum empfangen und dekodieren des AES67-Datenstroms, gibt ein wav aller Kanäle aus
 +  * Ein ffmpeg41-Prozess, der das wav auf den `ebur128`-Filter wirft und dadurch die visuelle Anzeige der Loudness über die Zeit hinweg generiert, gibt raw-Video- und Audio in matroska verpackt aus
 +  * Ein ffplay-Prozess, der das Video anzeigt
 +
 +Das sieht dann ungefähr so aus:
 +<code>
 +gst-launch-1.0 -q udpsrc multicast-iface=enp0s25.2342 address=239.192.42.42 port=5004 !\
 + application/x-rtp, clock-rate=48000, channels=2 !\
 + rtpL24depay !\
 + audioconvert !\
 + wavenc !\
 + fdsink |\
 + /opt/ffmpeg-4.1-64bit-static/ffmpeg -y -nostdin -i - -filter_complex '
 + [0] pan=2c|c0=c0|c1=c1, ebur128=video=1:target=-16:gauge=shortterm:scale=relative [v][a]
 + ' -map '[v]' -map '[a]' \
 + -pix_fmt yuv420p -c:v rawvideo \
 + -c:a pcm_s16le -f matroska - |\
 + ffplay -v 0 -autoexit -exitonkeydown -exitonmousedown -window_title "ebur128 Loudness" -
 +</code>
 +
 +Angepasst werden muss hier ebenfalls das Interface und die Multicast-Gruppe. Mit dem `pan`-Filter werden die beiden Kanäle aus den eingehenden 8 ausgewählt, die für die Loudness-Analyse verwendet werden. Um beispielsweise die Kanäle 4 und 5 (`0123_45_67`) benutzt werden, sieht der Filter so aus: `pan=2c|c0=c4|c1=c5`.
  
  • aes67.txt
  • Last modified: 2018/12/31 14:09
  • by mazdermind