Verwenden einer benannten Pipe als ffmpeg/avconv-Eingabe für das Streaming

Verwenden einer benannten Pipe als ffmpeg/avconv-Eingabe für das Streaming

Ich befinde mich also in einer Situation, in der ich eine WAV-Datei (oder eine andere Art von Sounddatei) in eine benannte Pipe/FIFO einspeisen und die Pipe als Eingabequelle von ffmpeg verwenden möchte (mit einem ffserver-Feed als Ausgabe).

So weit bin ich gekommen (ffserver läuft bereits und hat meines Erachtens nichts mit meinem Problem zu tun):

$ mkfifo audio.wav

$ mplayer -ao pcm:file=audio.wav Sounddatei.wav &
[2] 30864
Das Symbol „ff_codec_bmp_tags“ hat im gemeinsam genutzten Objekt eine andere Größe. Erwägen Sie eine erneute Verknüpfung.
MPlayer 1.0rc4-4.5.2 (C) 2000-2010 MPlayer-Team

[2]+ Gestoppt mplayer -ao pcm:file=audio.wav soundfile.wav

$ avconv -f wav -i audio.wav http://127.0.0.1:8090/feed1.ffm
avconv Version 0.8, Copyright (c) 2000-2011 die Libav-Entwickler
  erstellt am 16. März 2012 15:30:40 mit gcc 4.5.2

(Bleibt hier hängen, gibt nichts anderes aus)

Allerdings bleibt ffmpeg genau dort hängen, der Prozess scheint zu hängen, und es scheint, als würde ffmpeg nichts tun, und der End-Feed scheint inaktiv zu sein. Die Warnung dort oben bezüglich ff_codec_bmp_tags scheint ebenfalls nichts damit zu tun.

Ich habe ein paar Forenbeiträge gelesen, in denen Leute mit etwas Ähnlichem Erfolg zu haben scheinen, aber ich nehme an, dass ich etwas falsch mache. Wenn mir jemand helfen könnte, herauszufinden, warum das passiert, wäre ich sehr dankbar. Gibt es eine Flagge, die ich verwenden sollte, um anzuzeigen, dass es sich um eine FIFO-Quelle handelt, die ich verwende?

Dank im Voraus.

Antwort1

mplayer möchte dein Terminal benutzen, deshalb wird es im Hintergrund angehalten ( [2]+ Stopped) und alles blockiert. Ich schlage vor, separate Terminals für die Programme zu verwenden. Entweder einfach normale Terminalfenster oder über screenoder tmux. Eine andere Möglichkeit ist die Verwendung von nohup mplayer.

Antwort2

mplayer -noconsolecontrols -ao pcm:file=audio.wav soundfile.wav &

verwandte Informationen