# German po for gst-plugins-bad 1.4.1
# Copyright (C) 2007 Free Software Foundation, Inc.
# This file is distributed under the same license as the gst-plugins-bad package.
# Andre Klapper <ak-47@gmx.net>, 2008.
# Christian Kirbach <christian.kirbach@googlemail.com>, 2009, 2011, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.5.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2015-06-24 22:59+0200\n"
"PO-Revision-Date: 2015-06-11 20:57+0100\n"
"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.7.5\n"

msgid "format wasn't negotiated before get function"
msgstr "das Format wurde vor der get-Funktion nicht ausgehandelt"

msgid "default GStreamer sound events audiosink"
msgstr "Voreingestellte GStreamer Tonereignis-Audioziel"

msgid ""
"GStreamer can play audio using any number of output elements. Some possible "
"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
"pipeline instead of just one element."
msgstr ""
"GStreamer kann Ton mit einer beliebigen Anzahl an Ausgabeelementen "
"wiedergeben. Einige Wahlmöglichkeiten sind »osssink«, »pulsesink« und "
"»alsasink«. Das Audioziel kann eine teilweise Weiterleitung anstelle nur "
"eines einzigen Elements sein."

msgid "description for default GStreamer sound events audiosink"
msgstr "Beschreibung des voreingestellten GStreamer Tonereignis-Audioziel"

msgid "Describes the selected audiosink element."
msgstr "Beschreibt das gewählte Audioziel-Element."

msgid "default GStreamer audiosink for Audio/Video Conferencing"
msgstr "Voreingestelltes GStreamer-Audioziel für Ton- und Videokonferenzen"

msgid ""
"description for default GStreamer audiosink for Audio/Video Conferencing"
msgstr ""
"Beschreibung des voreingestellten GStreamer-Audioziel für Ton- und "
"Videokonferenzen"

msgid "default GStreamer audiosink for Music and Movies"
msgstr "Voreingestelltes GStreamer-Audioziel für Musik und Filme"

msgid "description for default GStreamer audiosink for Music and Movies"
msgstr ""
"Beschreibung des voreingestellten GStreamer-Audioziel für Musik und Filme"

msgid "default GStreamer videosink"
msgstr "Voreingestelltes GStreamer-Videoziel"

msgid ""
"GStreamer can play video using any number of output elements. Some possible "
"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
"can be a partial pipeline instead of just one element."
msgstr ""
"GStreamer kann Video mit einer beliebigen Anzahl an Ausgabeelementen "
"wiedergeben. Einige Wahlmöglichkeiten sind »xvimagesink«, »ximagesink«, "
"»sdlvideosink« und »aasink«. Das Videoziel kann eine anteilige Weiterleitung "
"anstelle eines einzigen Elements sein."

msgid "description for default GStreamer videosink"
msgstr "Beschreibung des voreingestellten GStreamer-Videoziel"

msgid "Describes the selected videosink element."
msgstr "Beschreibt das gewählte Videoziel-Element."

msgid "default GStreamer audiosrc"
msgstr "Voreingestelltes GStreamer-audiosrc"

msgid ""
"GStreamer can record audio using any number of input elements. Some possible "
"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
"pipeline instead of just one element."
msgstr ""
"GStreamer kann Ton mit einer beliebigen Anzahl an Eingabeelementen "
"aufzeichnen. Einige Wahlmöglichkeiten sind »osssrc«, »pulsesrc« und "
"»alsasrc«. Die Audioquelle kann eine anteilige Weiterleitung anstelle eines "
"einzigen Elements sein."

msgid "description for default GStreamer audiosrc"
msgstr "Beschreibung des voreingestellten GStreamer-audiosrc"

msgid "Describes the selected audiosrc element."
msgstr "Beschreibt das gewählte audiosrc-Element."

msgid "default GStreamer videosrc"
msgstr "Voreingestelltes GStreamer-videosrc"

msgid ""
"GStreamer can record video from any number of input elements. Some possible "
"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
"partial pipeline instead of just one element."
msgstr ""
"GStreamer kann Video mit einer beliebigen Anzahl an Eingabeelementen "
"aufzeichnen. Einige Wahlmöglichkeiten sind »v4lsrc«, »v4l2src« und "
"»videotestsrc«. Die Videoquelle kann eine anteilige Weiterleitung anstelle "
"eines einzigen Elements sein."

msgid "description for default GStreamer videosrc"
msgstr "Beschreibung des voreingestellten GStreamer-videosrc"

msgid "Describes the selected videosrc element."
msgstr "Beschreibt das gewählte videosrc-Element."

msgid "default GStreamer visualization"
msgstr "Voreingestellte GStreamer-Visualisierung"

msgid ""
"GStreamer can put visualization plugins in a pipeline to transform audio "
"streams in video frames. Some possible choices are goom, goom2k1 and "
"synaesthesia. The visualization plugin can be a partial pipeline instead of "
"just one element."
msgstr ""
"GStreamer kann Visualisierungs-Plugins in eine Weiterleitung integrieren, um "
"Audioströme in Videobilder umzuwandeln. Einige Wahlmöglichkeiten sind "
"»goom«, »goom2k1« und »synaesthesia«. Das Visualisierungs-Plugin kann eine "
"anteilige Weiterleitung anstelle eines einzigen Elements sein."

msgid "description for default GStreamer visualization"
msgstr "Beschreibung der voreingestellten GStreamer-Visualisierung"

msgid "Describes the selected visualization element."
msgstr "Beschreibt das gewählte Visualisierungselement."

# OpenCV ist eine freie Programmbibliothek mit Algorithmen für die Bildverarbeitung und maschinelles Sehen.
msgid "OpenCV failed to load template image"
msgstr "OpenCV konnte nicht die Bildvorlage laden"

msgid "Could not read title information for DVD."
msgstr "Die Titelinformationen der DVD konnten nicht gelesen werden."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Öffnen des DVD-Geräts »%s« schlug fehl."

msgid "Failed to set PGC based seeking."
msgstr "PGC-basiertes Suchen schlug fehl."

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"DVD konnten nicht gelesen werden. Dies könnte daran liegen, dass die DVD "
"verschlüsselt ist und eine Bibliothek zur DVD-Entschlüsselung nicht "
"installiert ist."

msgid "Could not read DVD."
msgstr "DVD konnten nicht gelesen werden."

msgid "This file contains no playable streams."
msgstr "Diese Datei enthält keine abspielbaren Ströme."

msgid "Could not open sndfile stream for reading."
msgstr "sndfile-Datenstrom konnte nicht zum Lesen geöffnet werden."

msgid "Could not establish connection to sndio"
msgstr "Es konnte keine Verbindung zu sndio hergestellt werden"

msgid "Failed to query sndio capabilities"
msgstr "Abfragen der sndio-Fähigkeiten schlug fehl"

msgid "Could not configure sndio"
msgstr "sndio konnte nicht eingestellt werden"

msgid "Could not start sndio"
msgstr "sndio konnten nicht gestartet werden"

msgid "Internal data flow error."
msgstr "Interner Datenstromfehler."

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""
"Die erzeugte Datei hat eine größere Vorlaufzeit als die Dauer ihres "
"Datenstroms"

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr ""
"Das Element »%s« fehlt - überprüfen Sie Ihre Installation von GStreamer."

msgid "File location is set to NULL, please set it to a valid filename"
msgstr ""
"Dateiort ist als NULL festgelegt. Bitte legen Sie einen gültigen Dateinamen "
"fest"

msgid "Digitalzoom element cound't be created"
msgstr "Element für Digitalzoom konnte nicht angelegt werden"

msgid "Subpicture format was not configured before data flow"
msgstr "Format des Unterbilds wurde nicht vor dem Datenfluss konfiguriert"

msgid "Failed to get fragment URL."
msgstr "Ermitteln der Fragment-Adresse schlug fehl."

msgid "Internal data stream error."
msgstr "Interner Datenstromfehler."

msgid "Couldn't download fragments"
msgstr "Fragmente konnten nicht heruntergeladen werden"

msgid "No file name specified for writing."
msgstr "Kein Dateiname zum Schreiben angegeben."

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""
"Der gegebene Dateiname »%s« kann nicht in lokale Dateinamen-Kodierung "
"umgewandelt werden."

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "Datei »%s« konnte nicht zum Schreiben geöffnet werden."

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Gerät »%s« existiert nicht."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Frontend-Gerät »%s« konnte nicht geöffnet werden."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr ""
"Einstellungen des Frontend-Geräts »%s« konnten nicht aufgerufen werden."

#, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr ""
"Ausliefersystem des Frontend-Geräts »%s« kann nicht durchgezählt werden."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Datei »%s« konnte nicht zum Lesen geöffnet werden."

msgid "Couldn't find DVB channel configuration file"
msgstr "DVB Kanal-Konfigurationsdatei konnte nicht gefunden werden"

#, c-format
msgid "Couldn't load DVB channel configuration file: %s"
msgstr "DVB Kanal-Konfigurationsdatei konnte nicht geladen werden: %s"

msgid "DVB channel configuration file doesn't contain any channels"
msgstr "DVB Kanal-Konfigurationsdatei enthält keine Kanäle"

#, c-format
msgid "Couldn't find details for DVB channel %s"
msgstr "Details zu DVB-Kanal %s konnten nicht gefunden werden"

#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "Adresse der Frachtliste konnte nicht ermittelt werden"

#~ msgid "Could not write to file \"%s\"."
#~ msgstr "Es konnte nicht in Datei »%s« geschrieben werden."

#~ msgid "Internal clock error."
#~ msgstr "Interner Zeitfehler."

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr "Audio-Gerät konnte nicht zum Regeln geöffnet werden."

#~ msgid ""
#~ "Could not open audio device for mixer control handling. This version of "
#~ "the Open Sound System is not supported by this element."
#~ msgstr ""
#~ "Audio-Gerät konnte nicht zum Regeln geöffnet werden. Diese Version des "
#~ "Open Sound System (OSS) wird nicht von diesem Element unterstützt."

#~ msgid "Volume"
#~ msgstr "Lautstärke"

#~ msgid "Master"
#~ msgstr "Hauptregler"

#~ msgid "Front"
#~ msgstr "Vorne"

#~ msgid "Rear"
#~ msgstr "Hinten"

#~ msgid "Headphones"
#~ msgstr "Kopfhörer"

#~ msgid "Center"
#~ msgstr "Mitte"

#~ msgid "LFE"
#~ msgstr "LFE"

#~ msgid "Surround"
#~ msgstr "Surround"

#~ msgid "Side"
#~ msgstr "Seite"

#~ msgid "Built-in Speaker"
#~ msgstr "Eingebauter Lautsprecher"

#~ msgid "AUX 1 Out"
#~ msgstr "AUX-Ausgang 1"

#~ msgid "AUX 2 Out"
#~ msgstr "AUX-Ausgang 2"

#~ msgid "AUX Out"
#~ msgstr "AUX-Ausgang"

#~ msgid "Bass"
#~ msgstr "Bass"

#~ msgid "Treble"
#~ msgstr "Höhen"

#~ msgid "3D Depth"
#~ msgstr "3D-Tiefe"

#~ msgid "3D Center"
#~ msgstr "3D-Mitte"

#~ msgid "3D Enhance"
#~ msgstr "3D-Erweiterung"

#~ msgid "Telephone"
#~ msgstr "Telefon"

#~ msgid "Microphone"
#~ msgstr "Mikrofon"

#~ msgid "Line Out"
#~ msgstr "Line-Ausgang"

#~ msgid "Line In"
#~ msgstr "Line-Eingang"

#~ msgid "Internal CD"
#~ msgstr "Interne CD"

#~ msgid "Video In"
#~ msgstr "Video-Eingang"

#~ msgid "AUX 1 In"
#~ msgstr "AUX-Eingang 1"

#~ msgid "AUX 2 In"
#~ msgstr "AUX-Eingang 2"

#~ msgid "AUX In"
#~ msgstr "AUX-Eingang"

#~ msgid "PCM"
#~ msgstr "PCM"

#~ msgid "Record Gain"
#~ msgstr "Aufnahmepegel"

#~ msgid "Output Gain"
#~ msgstr "Ausgabepegel"

#~ msgid "Microphone Boost"
#~ msgstr "Mikrofon-Boost"

#~ msgid "Loopback"
#~ msgstr "Schleife"

#~ msgid "Diagnostic"
#~ msgstr "Zur Diagnose"

#~ msgid "Bass Boost"
#~ msgstr "Bass-Boost"

#~ msgid "Playback Ports"
#~ msgstr "Wiedergabe-Ports"

#~ msgid "Input"
#~ msgstr "Eingang"

#~ msgid "Record Source"
#~ msgstr "Aufnahmequelle"

#~ msgid "Monitor Source"
#~ msgstr "Beobachtungsquelle"

#~ msgid "Keyboard Beep"
#~ msgstr "Tastaturpiepsen"

#~ msgid "Monitor"
#~ msgstr "Beobachtung"

#~ msgid "Simulate Stereo"
#~ msgstr "Stereo simulieren"

#~ msgid "Stereo"
#~ msgstr "Stereo"

#~ msgid "Surround Sound"
#~ msgstr "Surround-Ton"

#~ msgid "Microphone Gain"
#~ msgstr "Mikrofonpegel"

#~ msgid "Speaker Source"
#~ msgstr "Lautsprecherquelle"

#~ msgid "Microphone Source"
#~ msgstr "Mikrofonquelle"

#~ msgid "Jack"
#~ msgstr "Stecker"

#~ msgid "Center / LFE"
#~ msgstr "Mitte / LFE"

#~ msgid "Stereo Mix"
#~ msgstr "Stereo-Mischer"

#~ msgid "Mono Mix"
#~ msgstr "Mono-Mischer"

#~ msgid "Input Mix"
#~ msgstr "Aufnahme-Mischer"

#~ msgid "SPDIF In"
#~ msgstr "SPDIF-Eingang"

#~ msgid "SPDIF Out"
#~ msgstr "SPDIF-Ausgang"

#~ msgid "Microphone 1"
#~ msgstr "Mikrofon 1"

#~ msgid "Microphone 2"
#~ msgstr "Mikrofon 2"

#~ msgid "Digital Out"
#~ msgstr "Digitaler Ausgang"

#~ msgid "Digital In"
#~ msgstr "Digitaler Eingang"

#~ msgid "HDMI"
#~ msgstr "HDMI"

#~ msgid "Modem"
#~ msgstr "Modem"

#~ msgid "Handset"
#~ msgstr "Hörer"

#~ msgid "Other"
#~ msgstr "Andere"

#~ msgid "None"
#~ msgstr "Keine"

#~ msgid "On"
#~ msgstr "Ein"

#~ msgid "Off"
#~ msgstr "Aus"

#~ msgid "Mute"
#~ msgstr "Stumm"

#~ msgid "Fast"
#~ msgstr "Schnell"

#~ msgid "Very Low"
#~ msgstr "Sehr tief"

#~ msgid "Low"
#~ msgstr "Tief"

#~ msgid "Medium"
#~ msgstr "Mittel"

#~ msgid "High"
#~ msgstr "Hoch"

#~ msgid "Very High"
#~ msgstr "Sehr hoch"

#~ msgid "Production"
#~ msgstr "Produktion"

#~ msgid "Front Panel Microphone"
#~ msgstr "Mikrofon an der Front"

#~ msgid "Front Panel Line In"
#~ msgstr "Line-Eingang an der Front"

#~ msgid "Front Panel Headphones"
#~ msgstr "Kopfhörer an der Front"

#~ msgid "Front Panel Line Out"
#~ msgstr "Line-Ausgang an der Front"

#~ msgid "Green Connector"
#~ msgstr "Grüner Stecker"

#~ msgid "Pink Connector"
#~ msgstr "Rosa Stecker"

#~ msgid "Blue Connector"
#~ msgstr "Blauer Stecker"

#~ msgid "White Connector"
#~ msgstr "Weißer Stecker"

#~ msgid "Black Connector"
#~ msgstr "Schwarzer Stecker"

#~ msgid "Gray Connector"
#~ msgstr "Grauer Stecker"

#~ msgid "Orange Connector"
#~ msgstr "Oranger Stecker"

#~ msgid "Red Connector"
#~ msgstr "Roter Stecker"

#~ msgid "Yellow Connector"
#~ msgstr "Gelber Stecker"

#~ msgid "Green Front Panel Connector"
#~ msgstr "Grüner Frontstecker"

#~ msgid "Pink Front Panel Connector"
#~ msgstr "Rosa Frontstecker"

#~ msgid "Blue Front Panel Connector"
#~ msgstr "Blauer Frontstecker"

#~ msgid "White Front Panel Connector"
#~ msgstr "Weißer Frontstecker"

#~ msgid "Black Front Panel Connector"
#~ msgstr "Schwarzer Frontstecker"

#~ msgid "Gray Front Panel Connector"
#~ msgstr "Grauer Frontstecker"

#~ msgid "Orange Front Panel Connector"
#~ msgstr "Oranger Frontstecker"

#~ msgid "Red Front Panel Connector"
#~ msgstr "Roter Frontstecker"

#~ msgid "Yellow Front Panel Connector"
#~ msgstr "Gelber Frontstecker"

#~ msgid "Spread Output"
#~ msgstr "Verteilter Ausgang"
