Erschließung von Saraswati für den Betrieb auf einem Raspberry Pi Zero W mit Raspberry Pi OS lite

Hallo in die Runde,

bei Installation von Saraswati auf einem Raspberry Zero W mit Raspberry Pi OS lite erstellt @MKO ein Anleitung, wie bei der Installation genau vorzugehen ist. Vielen Dank für diesen Beitrag!

Hier im Topic finden sich die Diskussionen zu den entsprechenden Entwicklungsarbeiten.

Viele Grüße,
Andreas.

zu den ersten leichten Problemen, der gst-device-monitor-1.0 scheint nicht installiert zu sein

 pi@raspberrypi:~ $ gst-device-monitor-1.0
-bash: gst-device-monitor-1.0: command not found

also:

sudo apt-get install gstreamer1.0-plugins-base-apps

Nach der Installation

 pi@raspberrypi:~ $ gst-device-monitor-1.0 --version
gst-device-monitor-1.0 version 1.14.4
GStreamer 1.14.4

allerdings wirft gst-device-monitor-1.0 nur 1 x Video/Sink und 2 x Video/Source Devices aus.
ein test mit

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: b1 [bcm2835 HDMI 1], device 0: bcm2835 HDMI 1 [bcm2835 HDMI 1]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 1: U0x41e0x30d3 [USB Device 0x41e:0x30d3], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=b1
    bcm2835 HDMI 1, bcm2835 HDMI 1
    Default Audio Device
sysdefault:CARD=b1
    bcm2835 HDMI 1, bcm2835 HDMI 1
    Default Audio Device
dmix:CARD=b1,DEV=0
    bcm2835 HDMI 1, bcm2835 HDMI 1
    Direct sample mixing device
dsnoop:CARD=b1,DEV=0
    bcm2835 HDMI 1, bcm2835 HDMI 1
    Direct sample snooping device
hw:CARD=b1,DEV=0
    bcm2835 HDMI 1, bcm2835 HDMI 1
    Direct hardware device without any conversions
plughw:CARD=b1,DEV=0
    bcm2835 HDMI 1, bcm2835 HDMI 1
    Hardware device with all software conversions
default:CARD=U0x41e0x30d3
    USB Device 0x41e:0x30d3, USB Audio
    Default Audio Device
sysdefault:CARD=U0x41e0x30d3
    USB Device 0x41e:0x30d3, USB Audio
    Default Audio Device
front:CARD=U0x41e0x30d3,DEV=0
    USB Device 0x41e:0x30d3, USB Audio
    Front speakers
surround21:CARD=U0x41e0x30d3,DEV=0
    USB Device 0x41e:0x30d3, USB Audio
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=U0x41e0x30d3,DEV=0
    USB Device 0x41e:0x30d3, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=U0x41e0x30d3,DEV=0
    USB Device 0x41e:0x30d3, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=U0x41e0x30d3,DEV=0
    USB Device 0x41e:0x30d3, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=U0x41e0x30d3,DEV=0
    USB Device 0x41e:0x30d3, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=U0x41e0x30d3,DEV=0
    USB Device 0x41e:0x30d3, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=U0x41e0x30d3,DEV=0
    USB Device 0x41e:0x30d3, USB Audio
    IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=U0x41e0x30d3,DEV=0
    USB Device 0x41e:0x30d3, USB Audio
    Direct sample mixing device
dsnoop:CARD=U0x41e0x30d3,DEV=0
    USB Device 0x41e:0x30d3, USB Audio
    Direct sample snooping device
hw:CARD=U0x41e0x30d3,DEV=0
    USB Device 0x41e:0x30d3, USB Audio
    Direct hardware device without any conversions
plughw:CARD=U0x41e0x30d3,DEV=0
    USB Device 0x41e:0x30d3, USB Audio
    Hardware device with all software conversions

Pulseaudio ist auch noch nicht Installiert also :wink:

sudo apt-get install pulseaudio 

Ergebnis

pi@raspberrypi:~ $ pulseaudio --version
pulseaudio 12.2

Ab hier tippe ich so ein wenig im dunkeln gst-device-monitor-1.0 bleibt bei den Video senken.

Hi Michael,

ins Blaue hinein geraten: Vielleicht klappts mit neueren Software Versionen?

Wenn ich versuche, es folgendermaßen nachzustellen:

docker run -it --rm linuxmintd/mint20-amd64 bash
apt-get update
apt-get install --yes libgstreamer1.0

bekomme ich bereits Version 1.16.2:

Setting up libgstreamer1.0-0-dbg:amd64 (1.16.2-2) ...

Bekommst Du ein neueres Linux Mint auf die Maschine oder benötigst ein apt-get upgrade?

Viele Grüße,
Andreas.

Ah. Da läuft ja gar kein Mint. Sondern OS lite, wie Du schriebst. Das hat wohl noch ein älteres GStreamer an Bord.

leider nein wie gesagt ist ein Rasperry Zerro W.
wollte daher ohne GUI ran.
apt-get upgrade hatte ich erstmal außer ach gelassen, da in irgeneinem Forum beim Raspberry davon abgeraten wurde das dauert dann sicher etwas.

erstmal noch ein gst-inspect-1.0 log, dann lasse ich apt-get upgrade laufen.

pi@raspberrypi:~ $ gst-inspect-1.0
goom:  goom: GOOM: what a GOOM!
debug:  breakmydata: Break my data
debug:  capssetter: CapsSetter
debug:  rndbuffersize: Random buffer size
debug:  navseek: Seek based on left-right arrows
debug:  pushfilesrc: Push File Source
debug:  progressreport: Progress report
debug:  taginject: TagInject
debug:  testsink: Test plugin
debug:  cpureport: CPU report
jack:  jackaudiosrc: Audio Source (Jack)
jack:  jackaudiosink: Audio Sink (Jack)
speex:  speexenc: Speex audio encoder
speex:  speexdec: Speex audio decoder
videoconvert:  videoconvert: Colorspace converter
alpha:  alpha: Alpha filter
deinterlace:  deinterlace: Deinterlacer
volume:  volume: Volume
videoscale:  videoscale: Video scaler
dtmf:  dtmfsrc: DTMF tone generator
dtmf:  rtpdtmfsrc: RTP DTMF packet generator
dtmf:  rtpdtmfdepay: RTP DTMF packet depayloader
spectrum:  spectrum: Spectrum analyzer
flv:  flvdemux: FLV Demuxer
flv:  flvmux: FLV muxer
dv:  dvdemux: DV system stream demuxer
dv:  dvdec: DV video decoder
multipart:  multipartdemux: Multipart demuxer
multipart:  multipartmux: Multipart muxer
coreelements:  capsfilter: CapsFilter
coreelements:  concat: Concat
coreelements:  dataurisrc: data: URI source element
coreelements:  downloadbuffer: DownloadBuffer
coreelements:  fakesrc: Fake Source
coreelements:  fakesink: Fake Sink
coreelements:  fdsrc: Filedescriptor Source
coreelements:  fdsink: Filedescriptor Sink
coreelements:  filesrc: File Source
coreelements:  funnel: Funnel pipe fitting
coreelements:  identity: Identity
coreelements:  input-selector: Input selector
coreelements:  output-selector: Output selector
coreelements:  queue: Queue
coreelements:  queue2: Queue 2
coreelements:  filesink: File Sink
coreelements:  tee: Tee pipe fitting
coreelements:  typefind: TypeFind
coreelements:  multiqueue: MultiQueue
coreelements:  valve: Valve element
coreelements:  streamiddemux: Streamid Demux
theora:  theoradec: Theora video decoder
theora:  theoraenc: Theora video encoder
theora:  theoraparse: Theora video parser
udp:  udpsink: UDP packet sender
udp:  multiudpsink: UDP packet sender
udp:  dynudpsink: UDP packet sender
udp:  udpsrc: UDP packet receiver
id3demux:  id3demux: ID3 tag demuxer
navigationtest:  navigationtest: Video navigation test
audiomixer:  audiomixer: AudioMixer
audiomixer:  liveadder: AudioMixer
audiomixer:  audiointerleave: AudioInterleave
videobox:  videobox: Video box filter
equalizer:  equalizer-nbands: N Band Equalizer
equalizer:  equalizer-3bands: 3 Band Equalizer
equalizer:  equalizer-10bands: 10 Band Equalizer
rtp:  rtpac3depay: RTP AC3 depayloader
rtp:  rtpac3pay: RTP AC3 audio payloader
rtp:  rtpbvdepay: RTP BroadcomVoice depayloader
rtp:  rtpbvpay: RTP BV Payloader
rtp:  rtpceltdepay: RTP CELT depayloader
rtp:  rtpceltpay: RTP CELT payloader
rtp:  rtpdvdepay: RTP DV Depayloader
rtp:  rtpdvpay: RTP DV Payloader
rtp:  rtpgstdepay: GStreamer depayloader
rtp:  rtpgstpay: RTP GStreamer payloader
rtp:  rtpilbcpay: RTP iLBC Payloader
rtp:  rtpilbcdepay: RTP iLBC depayloader
rtp:  rtpg722depay: RTP audio depayloader
rtp:  rtpg722pay: RTP audio payloader
rtp:  rtpg723depay: RTP G.723 depayloader
rtp:  rtpg723pay: RTP G.723 payloader
rtp:  rtpg726depay: RTP G.726 depayloader
rtp:  rtpg726pay: RTP G.726 payloader
rtp:  rtpg729depay: RTP G.729 depayloader
rtp:  rtpg729pay: RTP G.729 payloader
rtp:  rtpgsmdepay: RTP GSM depayloader
rtp:  rtpgsmpay: RTP GSM payloader
rtp:  rtpamrdepay: RTP AMR depayloader
rtp:  rtpamrpay: RTP AMR payloader
rtp:  rtppcmadepay: RTP PCMA depayloader
rtp:  rtppcmudepay: RTP PCMU depayloader
rtp:  rtppcmupay: RTP PCMU payloader
rtp:  rtppcmapay: RTP PCMA payloader
rtp:  rtpmpadepay: RTP MPEG audio depayloader
rtp:  rtpmpapay: RTP MPEG audio payloader
rtp:  rtpmparobustdepay: RTP MPEG audio depayloader
rtp:  rtpmpvdepay: RTP MPEG video depayloader
rtp:  rtpmpvpay: RTP MPEG2 ES video payloader
rtp:  rtpopusdepay: RTP Opus packet depayloader
rtp:  rtpopuspay: RTP Opus payloader
rtp:  rtph261pay: RTP H261 packet payloader
rtp:  rtph261depay: RTP H261 depayloader
rtp:  rtph263ppay: RTP H263 payloader
rtp:  rtph263pdepay: RTP H263 depayloader
rtp:  rtph263depay: RTP H263 depayloader
rtp:  rtph263pay: RTP H263 packet payloader
rtp:  rtph264depay: RTP H264 depayloader
rtp:  rtph264pay: RTP H264 payloader
rtp:  rtph265depay: RTP H265 depayloader
rtp:  rtph265pay: RTP H265 payloader
rtp:  rtpj2kdepay: RTP JPEG 2000 depayloader
rtp:  rtpj2kpay: RTP JPEG 2000 payloader
rtp:  rtpjpegdepay: RTP JPEG depayloader
rtp:  rtpjpegpay: RTP JPEG payloader
rtp:  rtpklvdepay: RTP KLV Depayloader
rtp:  rtpklvpay: RTP KLV Payloader
rtp:  rtpL8pay: RTP audio payloader
rtp:  rtpL8depay: RTP audio depayloader
rtp:  rtpL16pay: RTP audio payloader
rtp:  rtpL16depay: RTP audio depayloader
rtp:  rtpL24pay: RTP audio payloader
rtp:  rtpL24depay: RTP audio depayloader
rtp:  asteriskh263: RTP Asterisk H263 depayloader
rtp:  rtpmp1sdepay: RTP MPEG1 System Stream depayloader
rtp:  rtpmp2tdepay: RTP MPEG Transport Stream depayloader
rtp:  rtpmp2tpay: RTP MPEG2 Transport Stream payloader
rtp:  rtpmp4vpay: RTP MPEG4 Video payloader
rtp:  rtpmp4vdepay: RTP MPEG4 video depayloader
rtp:  rtpmp4apay: RTP MPEG4 audio payloader
rtp:  rtpmp4adepay: RTP MPEG4 audio depayloader
rtp:  rtpmp4gdepay: RTP MPEG4 ES depayloader
rtp:  rtpmp4gpay: RTP MPEG4 ES payloader
rtp:  rtpqcelpdepay: RTP QCELP depayloader
rtp:  rtpqdm2depay: RTP QDM2 depayloader
rtp:  rtpsbcdepay: RTP SBC audio depayloader
rtp:  rtpsbcpay: RTP packet payloader
rtp:  rtpsirenpay: RTP Payloader for Siren Audio
rtp:  rtpsirendepay: RTP Siren packet depayloader
rtp:  rtpspeexpay: RTP Speex payloader
rtp:  rtpspeexdepay: RTP Speex depayloader
rtp:  rtpsv3vdepay: RTP SVQ3 depayloader
rtp:  rtptheoradepay: RTP Theora depayloader
rtp:  rtptheorapay: RTP Theora payloader
rtp:  rtpvorbisdepay: RTP Vorbis depayloader
rtp:  rtpvorbispay: RTP Vorbis payloader
rtp:  rtpvp8depay: RTP VP8 depayloader
rtp:  rtpvp8pay: RTP VP8 payloader
rtp:  rtpvp9depay: RTP VP9 depayloader
rtp:  rtpvp9pay: RTP VP9 payloader
rtp:  rtpvrawdepay: RTP Raw Video depayloader
rtp:  rtpvrawpay: RTP Raw Video payloader
rtp:  rtpstreampay: RTP Stream Payloading
rtp:  rtpstreamdepay: RTP Stream Depayloading
rtp:  rtpredenc: Redundant Audio Data (RED) Encoder
rtp:  rtpreddec: Redundant Audio Data (RED) Decoder
rtp:  rtpulpfecdec: RTP FEC Decoder
rtp:  rtpulpfecenc: RTP FEC Encoder
rtp:  rtpstorage: RTP storage
replaygain:  rganalysis: ReplayGain analysis
replaygain:  rglimiter: ReplayGain limiter
replaygain:  rgvolume: ReplayGain volume
aasink:  aasink: ASCII art video sink
pbtypes:  GstVideoMultiviewFlagsSet (GstDynamicTypeFactory)
videomixer:  videomixer: Video mixer 2
gio:  giosink: GIO sink
gio:  giosrc: GIO source
gio:  giostreamsink: GIO stream sink
gio:  giostreamsrc: GIO stream source
vorbis:  vorbisenc: Vorbis audio encoder
vorbis:  vorbisdec: Vorbis audio decoder
vorbis:  vorbisparse: VorbisParse
vorbis:  vorbistag: VorbisTag
lame:  lamemp3enc: L.A.M.E. mp3 encoder
video4linux2:  v4l2src: Video (video4linux2) Source
video4linux2:  v4l2sink: Video (video4linux2) Sink
video4linux2:  v4l2radio: Radio (video4linux2) Tuner
video4linux2:  v4l2deviceprovider (GstDeviceProviderFactory)
video4linux2:  v4l2jpegdec: V4L2 JPEG Decoder
video4linux2:  v4l2mpeg4dec: V4L2 MPEG4 Decoder
video4linux2:  v4l2h263dec: V4L2 H263 Decoder
video4linux2:  v4l2h264dec: V4L2 H264 Decoder
video4linux2:  v4l2h264enc: V4L2 H.264 Encoder
video4linux2:  v4l2convert: V4L2 Video Converter
shapewipe:  shapewipe: Shape Wipe transition filter
apetag:  apedemux: APE tag demuxer
audiofx:  audiopanorama: Stereo positioning
audiofx:  audioinvert: Audio inversion
audiofx:  audiokaraoke: AudioKaraoke
audiofx:  audioamplify: Audio amplifier
audiofx:  audiodynamic: Dynamic range controller
audiofx:  audiocheblimit: Low pass & high pass filter
audiofx:  audiochebband: Band pass & band reject filter
audiofx:  audioiirfilter: Audio IIR filter
audiofx:  audiowsinclimit: Low pass & high pass filter
audiofx:  audiowsincband: Band pass & band reject filter
audiofx:  audiofirfilter: Audio FIR filter
audiofx:  audioecho: Audio echo
audiofx:  scaletempo: Scaletempo
adder:  adder: Adder
alsa:  alsasrc: Audio source (ALSA)
alsa:  alsasink: Audio sink (ALSA)
alsa:  alsamidisrc: AlsaMidi Source
pango:  textoverlay: Text overlay
pango:  timeoverlay: Time overlay
pango:  clockoverlay: Clock overlay
pango:  textrender: Text renderer
cdparanoia:  cdparanoiasrc: CD Audio (cdda) Source, Paranoia IV
ogg:  oggdemux: Ogg demuxer
ogg:  oggmux: Ogg muxer
ogg:  ogmaudioparse: OGM audio stream parser
ogg:  ogmvideoparse: OGM video stream parser
ogg:  ogmtextparse: OGM text stream parser
ogg:  oggparse: Ogg parser
ogg:  oggaviparse: Ogg AVI parser
interleave:  interleave: Audio interleaver
interleave:  deinterleave: Audio deinterleaver
shout2:  shout2send: Icecast network sink
audioresample:  audioresample: Audio resampler
taglib:  id3v2mux: TagLib-based ID3v2 Muxer
taglib:  apev2mux: TagLib-based APEv2 Muxer
icydemux:  icydemux: ICY tag demuxer
app:  appsrc: AppSrc
app:  appsink: AppSink
soup:  souphttpsrc: HTTP client source
soup:  souphttpclientsink: HTTP client sink
auparse:  auparse: AU audio demuxer
xvimagesink:  xvimagesink: Video sink
monoscope:  monoscope: Monoscope
goom2k1:  goom2k1: GOOM: what a GOOM! 2k1 edition
vpx:  vp8dec: On2 VP8 Decoder
vpx:  vp8enc: On2 VP8 Encoder
vpx:  vp9dec: On2 VP9 Decoder
vpx:  vp9enc: On2 VP9 Encoder
jpeg:  jpegenc: JPEG image encoder
jpeg:  jpegdec: JPEG image decoder
png:  pngdec: PNG image decoder
png:  pngenc: PNG image encoder
audioconvert:  audioconvert: Audio converter
ximagesrc:  ximagesrc: Ximage video source
twolame:  twolamemp2enc: TwoLAME mp2 encoder
cairo:  cairooverlay: Cairo overlay
rtpmanager:  rtpbin: RTP Bin
rtpmanager:  rtpjitterbuffer: RTP packet jitter-buffer
rtpmanager:  rtpptdemux: RTP Demux
rtpmanager:  rtpsession: RTP Session
rtpmanager:  rtprtxqueue: RTP Retransmission Queue
rtpmanager:  rtprtxreceive: RTP Retransmission receiver
rtpmanager:  rtprtxsend: RTP Retransmission Sender
rtpmanager:  rtpssrcdemux: RTP SSRC Demux
rtpmanager:  rtpmux: RTP muxer
rtpmanager:  rtpdtmfmux: RTP muxer
videorate:  videorate: Video rate adjuster
ximagesink:  ximagesink: Video sink
encoding:  encodebin: Encoder Bin
wavparse:  wavparse: WAV audio demuxer
opengl:  glimagesink: GL Sink Bin
opengl:  glimagesinkelement: OpenGL video sink
opengl:  glupload: OpenGL uploader
opengl:  gldownload: OpenGL downloader
opengl:  glcolorconvert: OpenGL color converter
opengl:  glcolorbalance: Video balance
opengl:  glfilterbin: GL Filter Bin
opengl:  glsinkbin: GL Sink Bin
opengl:  glsrcbin: GL Src Bin
opengl:  glfiltercube: OpenGL cube filter
opengl:  gltransformation: OpenGL transformation filter
opengl:  glvideoflip: OpenGL video flip filter
opengl:  gleffects: Gstreamer OpenGL Effects
opengl:  gleffects_identity: Do nothing Effect
opengl:  gleffects_mirror: Mirror Effect
opengl:  gleffects_squeeze: Squeeze Effect
opengl:  gleffects_stretch: Stretch Effect
opengl:  gleffects_tunnel: Light Tunnel Effect
opengl:  gleffects_fisheye: FishEye Effect
opengl:  gleffects_twirl: Twirl Effect
opengl:  gleffects_bulge: Bulge Effect
opengl:  gleffects_square: Square Effect
opengl:  gleffects_heat: Heat Signature Effect
opengl:  gleffects_sepia: Sepia Toning Effect
opengl:  gleffects_xpro: Cross Processing Effect
opengl:  gleffects_lumaxpro: Luma Cross Processing Effect
opengl:  gleffects_xray: Glowing negative effect
opengl:  gleffects_sin: All Grey but Red Effect
opengl:  gleffects_glow: Glow Lighting Effect
opengl:  gleffects_sobel: Sobel edge detection Effect
opengl:  gleffects_blur: Blur with 9x9 separable convolution Effect
opengl:  gleffects_laplacian: Laplacian Convolution Demo Effect
opengl:  glcolorscale: OpenGL color scale
opengl:  glshader: OpenGL fragment shader filter
opengl:  glfilterapp: OpenGL application filter
opengl:  glviewconvert: OpenGL Multiview/3D conversion filter
opengl:  glstereosplit: GLStereoSplit
opengl:  gltestsrc: Video test source
opengl:  gldeinterlace: OpenGL deinterlacing filter
opengl:  gloverlay: Gstreamer OpenGL Overlay
opengl:  glfilterglass: OpenGL glass filter
opengl:  gldifferencematte: Gstreamer OpenGL DifferenceMatte
1394:  dv1394src: Firewire (1394) DV video source
1394:  hdv1394src: Firewire (1394) HDV video source
isomp4:  qtdemux: QuickTime demuxer
isomp4:  rtpxqtdepay: RTP packet depayloader
isomp4:  qtmux: QuickTime Muxer
isomp4:  mp4mux: MP4 Muxer
isomp4:  ismlmux: ISML Muxer
isomp4:  3gppmux: 3GPP Muxer
isomp4:  mj2mux: MJ2 Muxer
isomp4:  qtmoovrecover: QT Moov Recover
videocrop:  videocrop: Crop
videocrop:  aspectratiocrop: aspectratiocrop
audioparsers:  aacparse: AAC audio stream parser
audioparsers:  amrparse: AMR audio stream parser
audioparsers:  ac3parse: AC3 audio stream parser
audioparsers:  dcaparse: DTS Coherent Acoustics audio stream parser
audioparsers:  flacparse: FLAC audio parser
audioparsers:  mpegaudioparse: MPEG1 Audio Parser
audioparsers:  sbcparse: SBC audio parser
audioparsers:  wavpackparse: Wavpack audio stream parser
tcp:  socketsrc: socket source
tcp:  tcpclientsink: TCP client sink
tcp:  tcpclientsrc: TCP client source
tcp:  tcpserversink: TCP server sink
tcp:  tcpserversrc: TCP server source
tcp:  multifdsink: Multi filedescriptor sink
tcp:  multisocketsink: Multi socket sink
cutter:  cutter: Audio cutter
opus:  opusenc: Opus audio encoder
opus:  opusdec: Opus audio decoder
typefindfunctions: video/x-ms-asf: asf, wm, wma, wmv
typefindfunctions: audio/x-musepack: mpc, mpp, mp+
typefindfunctions: audio/x-au: au, snd
typefindfunctions: video/x-msvideo: avi
typefindfunctions: audio/qcelp: qcp
typefindfunctions: video/x-cdxa: dat
typefindfunctions: video/x-vcd: dat
typefindfunctions: audio/x-imelody: imy, ime, imelody
typefindfunctions: audio/midi: mid, midi
typefindfunctions: audio/riff-midi: mid, midi
typefindfunctions: audio/mobile-xmf: mxmf
typefindfunctions: video/x-fli: flc, fli
typefindfunctions: application/x-id3v2: mp3, mp2, mp1, mpga, ogg, flac, tta
typefindfunctions: application/x-id3v1: mp3, mp2, mp1, mpga, ogg, flac, tta
typefindfunctions: application/x-apetag: mp3, ape, mpc, wv
typefindfunctions: audio/x-ttafile: tta
typefindfunctions: audio/x-mod: 669, amf, ams, dbm, digi, dmf, dsm, gdm, far, imf, it, j2b, mdl, med, mod, mt2, mtm, okt, psm, ptm, sam, s3m, stm, stx, ult, umx, xm
typefindfunctions: audio/mpeg: mp3, mp2, mp1, mpga
typefindfunctions: audio/x-ac3: ac3, eac3
typefindfunctions: audio/x-dts: dts
typefindfunctions: audio/x-gsm: gsm
typefindfunctions: video/mpeg-sys: mpe, mpeg, mpg
typefindfunctions: video/mpegts: ts, mts
typefindfunctions: application/ogg: ogg, oga, ogv, ogm, ogx, spx, anx, axa, axv
typefindfunctions: video/mpeg-elementary: mpv, mpeg, mpg
typefindfunctions: video/mpeg4: m4v
typefindfunctions: video/x-h263: h263, 263
typefindfunctions: video/x-h264: h264, x264, 264
typefindfunctions: video/x-h265: h265, x265, 265
typefindfunctions: video/x-nuv: nuv
typefindfunctions: audio/x-m4a: m4a
typefindfunctions: application/x-3gp: 3gp
typefindfunctions: video/quicktime: mov, mp4
typefindfunctions: image/x-quicktime: qif, qtif, qti
typefindfunctions: image/jp2: jp2
typefindfunctions: image/x-jpc: jpc, j2k
typefindfunctions: video/mj2: mj2
typefindfunctions: text/html: htm, html
typefindfunctions: application/vnd.rn-realmedia: ra, ram, rm, rmvb
typefindfunctions: application/x-pn-realaudio: ra, ram, rm, rmvb
typefindfunctions: application/x-shockwave-flash: swf, swfl
typefindfunctions: application/dash+xml: mpd, MPD
typefindfunctions: application/vnd.ms-sstr+xml: no extensions
typefindfunctions: video/x-flv: flv
typefindfunctions: text/plain: txt
typefindfunctions: text/utf-16: txt
typefindfunctions: text/utf-32: txt
typefindfunctions: text/uri-list: ram
typefindfunctions: application/itc: itc
typefindfunctions: application/x-hls: m3u8
typefindfunctions: application/sdp: sdp
typefindfunctions: application/smil: smil
typefindfunctions: application/ttml+xml: ttml+xml
typefindfunctions: application/xml: xml
typefindfunctions: audio/x-wav: wav
typefindfunctions: audio/x-aiff: aiff, aif, aifc
typefindfunctions: audio/x-svx: iff, svx
typefindfunctions: audio/x-paris: paf
typefindfunctions: audio/x-nist: nist
typefindfunctions: audio/x-voc: voc
typefindfunctions: audio/x-sds: sds
typefindfunctions: audio/x-ircam: sf
typefindfunctions: audio/x-w64: w64
typefindfunctions: audio/x-rf64: rf64
typefindfunctions: audio/x-shorten: shn
typefindfunctions: application/x-ape: ape
typefindfunctions: image/jpeg: jpg, jpe, jpeg
typefindfunctions: image/gif: gif
typefindfunctions: image/png: png
typefindfunctions: image/bmp: bmp
typefindfunctions: image/tiff: tif, tiff
typefindfunctions: image/webp: webp
typefindfunctions: image/x-exr: exr
typefindfunctions: image/x-portable-pixmap: pnm, ppm, pgm, pbm
typefindfunctions: video/x-matroska: mkv, mka, mk3d, webm
typefindfunctions: application/mxf: mxf
typefindfunctions: video/x-mve: mve
typefindfunctions: video/x-dv: dv, dif
typefindfunctions: audio/x-amr-nb-sh: amr
typefindfunctions: audio/x-amr-wb-sh: amr
typefindfunctions: audio/iLBC-sh: ilbc
typefindfunctions: audio/x-sbc: sbc
typefindfunctions: audio/x-sid: sid
typefindfunctions: image/x-xcf: xcf
typefindfunctions: video/x-mng: mng
typefindfunctions: image/x-jng: jng
typefindfunctions: image/x-xpixmap: xpm
typefindfunctions: image/x-sun-raster: ras
typefindfunctions: application/x-bzip: bz2
typefindfunctions: application/x-gzip: gz
typefindfunctions: application/zip: zip
typefindfunctions: application/x-compress: Z
typefindfunctions: subtitle/x-kate: no extensions
typefindfunctions: application/x-subtitle-vtt: vtt
typefindfunctions: audio/x-flac: flac
typefindfunctions: audio/x-vorbis: no extensions
typefindfunctions: video/x-theora: no extensions
typefindfunctions: application/x-ogm-video: no extensions
typefindfunctions: application/x-ogm-audio: no extensions
typefindfunctions: application/x-ogm-text: no extensions
typefindfunctions: audio/x-speex: no extensions
typefindfunctions: audio/x-celt: no extensions
typefindfunctions: application/x-ogg-skeleton: no extensions
typefindfunctions: text/x-cmml: no extensions
typefindfunctions: application/x-executable: no extensions
typefindfunctions: audio/aac: aac, adts, adif, loas
typefindfunctions: audio/x-spc: spc
typefindfunctions: audio/x-wavpack: wv, wvp
typefindfunctions: audio/x-wavpack-correction: wvc
typefindfunctions: audio/x-caf: caf
typefindfunctions: application/postscript: ps
typefindfunctions: image/svg+xml: svg
typefindfunctions: application/x-rar: rar
typefindfunctions: application/x-tar: tar
typefindfunctions: application/x-ar: a
typefindfunctions: application/x-ms-dos-executable: dll, exe, ocx, sys, scr, msstyles, cpl
typefindfunctions: video/x-dirac: no extensions
typefindfunctions: multipart/x-mixed-replace: no extensions
typefindfunctions: application/x-mmsh: no extensions
typefindfunctions: video/vivo: viv
typefindfunctions: audio/x-nsf: nsf
typefindfunctions: audio/x-gym: gym
typefindfunctions: audio/x-ay: ay
typefindfunctions: audio/x-gbs: gbs
typefindfunctions: audio/x-vgm: vgm
typefindfunctions: audio/x-sap: sap
typefindfunctions: video/x-ivf: ivf
typefindfunctions: audio/x-kss: kss
typefindfunctions: application/pdf: pdf
typefindfunctions: application/msword: doc
typefindfunctions: image/vnd.adobe.photoshop: psd
typefindfunctions: image/vnd.wap.wbmp: no extensions
typefindfunctions: application/x-yuv4mpeg: no extensions
typefindfunctions: image/x-icon: no extensions
typefindfunctions: image/x-degas: no extensions
typefindfunctions: application/octet-stream: no extensions
typefindfunctions: application/x-ssa: ssa, ass
typefindfunctions: video/x-pva: pva
typefindfunctions: audio/x-xi: xi
typefindfunctions: audio/audible: aa, aax
level:  level: Level
wavenc:  wavenc: WAV audio muxer
playback:  playbin: Player Bin 2
playback:  playbin3: Player Bin 3
playback:  playsink: Player Sink
playback:  subtitleoverlay: Subtitle Overlay
playback:  streamsynchronizer: Stream Synchronizer
playback:  decodebin: Decoder Bin
playback:  decodebin3: Decoder Bin 3
playback:  uridecodebin: URI Decoder
playback:  uridecodebin3: URI Decoder
playback:  urisourcebin: URI reader
playback:  parsebin: Parse Bin
gdkpixbuf:  gdkpixbufdec: GdkPixbuf image decoder
gdkpixbuf:  gdkpixbufoverlay: GdkPixbuf Overlay
gdkpixbuf:  gdkpixbufsink: GdkPixbuf sink
videotestsrc:  videotestsrc: Video test source
audiotestsrc:  audiotestsrc: Audio test source
mulaw:  mulawenc: Mu Law audio encoder
mulaw:  mulawdec: Mu Law audio decoder
avi:  avidemux: Avi demuxer
avi:  avimux: Avi muxer
avi:  avisubtitle: Avi subtitle parser
effectv:  edgetv: EdgeTV effect
effectv:  agingtv: AgingTV effect
effectv:  dicetv: DiceTV effect
effectv:  warptv: WarpTV effect
effectv:  shagadelictv: ShagadelicTV
effectv:  vertigotv: VertigoTV effect
effectv:  revtv: RevTV effect
effectv:  quarktv: QuarkTV effect
effectv:  optv: OpTV effect
effectv:  radioactv: RadioacTV effect
effectv:  streaktv: StreakTV effect
effectv:  rippletv: RippleTV effect
matroska:  matroskademux: Matroska demuxer
matroska:  matroskaparse: Matroska parser
matroska:  matroskamux: Matroska muxer
matroska:  webmmux: WebM muxer
flac:  flacenc: FLAC audio encoder
flac:  flacdec: FLAC audio decoder
flac:  flactag: FLAC tagger
cacasink:  cacasink: A colored ASCII art video sink
smpte:  smpte: SMPTE transitions
smpte:  smptealpha: SMPTE transitions
ossaudio:  osssrc: Audio Source (OSS)
ossaudio:  osssink: Audio Sink (OSS)
imagefreeze:  imagefreeze: Still frame stream generator
wavpack:  wavpackdec: Wavpack audio decoder
wavpack:  wavpackenc: Wavpack audio encoder
mpg123:  mpg123audiodec: mpg123 mp3 decoder
rtsp:  rtspsrc: RTSP packet receiver
rtsp:  rtpdec: RTP Decoder
videofilter:  gamma: Video gamma correction
videofilter:  videobalance: Video balance
videofilter:  videoflip: Video flipper
videofilter:  videomedian: Median effect
multifile:  multifilesrc: Multi-File Source
multifile:  multifilesink: Multi-File Sink
multifile:  splitfilesrc: Split-File Source
multifile:  splitmuxsink: Split Muxing Bin
multifile:  splitmuxsrc: Split File Demuxing Bin
coretracers:  latency (GstTracerFactory)
coretracers:  log (GstTracerFactory)
coretracers:  rusage (GstTracerFactory)
coretracers:  stats (GstTracerFactory)
coretracers:  leaks (GstTracerFactory)
subparse: subparse_typefind: srt, sub, mpsub, mdvd, smi, txt, dks, vtt
subparse:  subparse: Subtitle parser
subparse:  ssaparse: SSA Subtitle Parser
rawparse:  unalignedaudioparse: unalignedaudioparse
rawparse:  unalignedvideoparse: unalignedvideoparse
rawparse:  rawaudioparse: rawaudioparse
rawparse:  rawvideoparse: rawvideoparse
autodetect:  autovideosink: Auto video sink
autodetect:  autovideosrc: Auto video source
autodetect:  autoaudiosink: Auto audio sink
autodetect:  autoaudiosrc: Auto audio source
y4menc:  y4menc: YUV4MPEG video encoder
audiorate:  audiorate: Audio rate adjuster
alphacolor:  alphacolor: Alpha color filter
oss4:  oss4sink: OSS v4 Audio Sink
oss4:  oss4src: OSS v4 Audio Source
alaw:  alawenc: A Law audio encoder
alaw:  alawdec: A Law audio decoder
flxdec:  flxdec: FLX video decoder
staticelements:  bin: Generic bin
staticelements:  pipeline: Pipeline object

Total count: 103 plugins, 556 features

Hmmm… bei Linux Mint habe ich Total count: 109 plugins, 583 features

Ja, das Raspberry Pi OS Lite kommt wohl etwas abgespeckter daher. Und außerdem hat es wohl leider eine etwas ältere Version von GStreamer dabei, also erst 1.14 statt 1.16, wie bei Linux Mint. Auf meiner Workstation habe ich schon GStreamer 1.18.

Gibt es vielleicht andere, modernere Linux Distributionen für den Raspberry Pi Zero?

so, apt-get upgrade ist durchgelaufen keine besserung weder bei versionen noch bei den gefundenen Devices.

Allerdings bringt gst-launch-1.0 audiotestsrc ! alsasink und gst-launch-1.0 audiotestsrc ! autoaudiosink einen Testton auf der Sondkarte raus (hatte er aber auch schon vorher gemacht)
Scheint also nicht alles, nicht zu gehen.

Habe evtl ein ähnliches problem gefunden:

Müssen wir evtl. auch an die config files ran?

Vielleicht müsste man in der Tat in der /etc/asound.conf oder der ~/.asoundrc noch card1 bekannt geben?

Und dann ALSA neustarten per systemctl restart alsa?

Könnte dieses vielleicht auch zum Thema passen?

Und jenes, obwohl es dort konkret um “play audio” geht, sieht u.U. so aus, als könnte es helfen?

Nach dem hier zu urteilen

könnte "alsasrc device=hw:0,0" die richtige GStreamer Quelle sein.

habe beim vergleich von den gst-inspect-1.0 logs gesehen, das beim Gstreamer die Pulseaudio-plugins gefehlt haben.
Also:

sudo apt-get install gstreamer1.0-pulseaudio

und da ist die Soundkarte!

Werde jetzt mal saraswati installieren, testen und oben die Anleitung aktualisieren.

cd:.

Lüppt!

pi@raspberrypi:/var/spool/saraswati/2021/07/26/channel1 $ ls
2021-07-26T23-17-09+0000_channel1_0000.ogg  2021-07-26T23-22-09+0000_channel1_0001.ogg
pi@raspberrypi:/var/spool/saraswati/2021/07/26/channel1 $ 

Habe dann mit CurlFtpFS den FTP gemountet und in das Saraswati Config File eingetragen. Zwei Files liefen gut durch und lassen sich abspielen und beim dritten File gab es einen Abbruch. Bin jetzt nicht sicher, ob der Zerro W nicht schnell genug Dekodieren kann, oder ob der FTP über W-Lan zu langsam ist.

1 Like

Keine Ahnung, was am Anfang gestört hatte, jetzt läuft anscheinend alles stabil.

Exzellent. Das sollte noch in die Doku?

Du meinst /var/spool/saraswati ist direkt auf den FTP-Server gemountet? Das könnte kontraproduktiv sein, weil dann etwaige Latenzen in der Netzwerk-Kommunikation direkt auf die GStreamer-Pipelines zurückschlagen und dann solch ein Verhalten à la Can’t record audio fast enough vorprogrammiert ist.

Besser wäre es, den FTP-Server z.B. nach /media/ftp-server zu mounten und für den Transfer vom Spoolverzeichnis ebenfalls den File-Upload Mechanismus zu benutzen à la SARASWATI_UPLOAD_TARGET="rsync:///media/ftp-server".

Damit das temporäre, lokale Spool-Verzeichnis nicht dauerhaft die SD-Karte frisst, wäre anzuraten, es auf eine RAM-Disk zu legen à la SARASWATI_SPOOL_PATH=/tmp/ramdisk, wie bei Running Saraswati in production » Configure spool directory » Using a RAM disk beschrieben.

Ich freue mich über entsprechende Rückmeldungen, ob das bereits so klappt wie gedacht und das beobachtete Verhalten verbessert.

Das ist absolut richtig. Ich habe es auch nur auf die schnelle gemacht, da ich mir nicht sicher bin, wie viel ich von den Max. 512Mb Speicher dem Ram Drive zur Verfügung stellen kann, ohne die Stabilität des Systems zu stören.

Bei gutem W-Lan Empfang lief es jetzt (wider der Erwartungen) die ganze Nacht störungsfrei durch.

Um diese Konfigurationsvariante komfortabler zu kriegen, habe ich gerade noch Automate RAM disk configuration for spool directory · Issue #16 · hiveeyes/saraswati · GitHub angelegt.

1 Like

Im Kontext von

ist vielleicht noch Setting up a Raspberry Pi headless interessant, mit weiteren Details zur WiFi-Konfigurationsdatei wpa_supplicant.conf.

Ist im Link unter Punkt 1.1 beschrieben. Dort steht auch wie man SSH aktiviert und wie man dann ohne die IP zu wissen per SSH verbinden kann.
Wir könnten natürlich dafür selbst eine ähnliche Anleitung schreiben, um sicher zu gehen, fals der Link mal offline geht oder illegale Inhalte enthält.

1 Like