Existuje mnoho audio a video přehrávačů, ale chtěl bych použít jeden nástroj pro mnoho navrhnout. Rád bych tedy použil ffplay
jako přehrávač zvuku a videa.
Chcete-li přehrát jeden soubor, je tento příkaz podobný.
ffplay path_to_audio_file.mp3
ale jak přehrát seznam zvukové soubory nebo seznam videí?
Zkoušel jsem použít:
ffplay *.mp3
ale bez úspěchu mi to dává tuto chybu:
Argument "audiofileB.mp3" provided as input filename, but "audiofileA.mp3" was already specified.
odpověď
ffplay
podporuje pouze jeden vstupní soubor, takže budete muset pomocí kódu procházet seznam vstupních souborů (a případně je zamíchat) ); divoce za předpokladu coreutils
(pro shuf
), možná něco jako:
find musicdir -type f -name "*.mp3" | shuf | while read f; do ffplay -autoexit -- "$f"; done
To se samozřejmě strašně zlomí, pokud jsou v názvech souborů mezery nebo nové řádky.
(Můj aktuální hudební přehrávač je docela podobný, find ~/music -type f -name "*.mp3" | mpg123 --shuffle -Z --list -
)
Komentáře
Odpovědět
Našel jsem toto vlákno, když jsem psal FFplay GUI v Lazarus / FPC. Mohlo to už přehrát vynechaný seznam souborů a přeskočit na další / předchozí soubor, ale musel jsem zabít proces ffmpeg a pokaždé vytvořit nový. Snažil jsem se přidat schopnost přehrát celý seznam souborů. Nejjednodušším řešením, které jsem doposud našel, bylo samozřejmě použití -autoexit a vytvoření souboru seznamu skladeb s tímto Pascalovým kódem:
begin AssignFile(tfOut, C_FNAME); try rewrite(tfOut); for i:= 0 to Fichiers.Items.Count - 1 do if Fichiers.Selected[i] then begin writeln(tfOut, "file " + #39 + conv(Fichiers.Items[i]) + #39) end; CloseFile(tfOut); except on E: EInOutError do ShowMessage ("File error") end; end;
Poté jej přečíst takto:
"ffplay -f concat -safe 0 -i flist.txt -autoexit"
což je stejná syntaxe, jakou používám pro zřetězení souborů pomocí FFMPeg.
Nyní hledám správný způsob přidání zpoždění, pokud jsou soubory obrazové soubory…
-autoexit
je pro daný problém relevantní.-autoexit
tento problém vyřešil. Nyní mám další, které lze vyřešit pomocí-nodisp
… tím se deaktivuje vizualizace křivky a podobné věci. Tím se vyhnete vytvoření nového okna a ukradnutí fokusu z aktuální pracovní aplikace (toto bylo velmi nepříjemné chování). chtěli byste do své odpovědi zahrnout tuto možnost jako možnou možnost řešení otravného chování.