Ääni- ja videosoittimia on paljon, mutta haluaisin käyttää yhtä työkalua monien ehdotusten tekemiseksi. Joten haluaisin käyttää ffplay
ääni- ja videosoittimena.
Yhden tiedoston toistamiseen komento on tällainen.
ffplay path_to_audio_file.mp3
mutta kuinka pelata luetteloa äänitiedostot tai videoluettelo?
Yritin käyttää:
ffplay *.mp3
mutta ilman menestystä, se antaa minulle seuraavanlaisen virheen:
Argument "audiofileB.mp3" provided as input filename, but "audiofileA.mp3" was already specified.
Vastaa
ffplay
näyttää tukevan vain yhtä syötetiedostoa, joten sinun on käytettävä koodia siirtyäksesi syötetiedostojen luetteloon (ja mahdollisesti sekoittamaan niitä) ); villisti olettaen, että coreutils
(shuf
), ehkä jotain:
find musicdir -type f -name "*.mp3" | shuf | while read f; do ffplay -autoexit -- "$f"; done
Tämä tietysti katkeaa kauheasti, jos tiedostonimissä on välilyöntejä tai uusia viivoja.
(Nykyinen soittimeni on melko samanlainen, find ~/music -type f -name "*.mp3" | mpg123 --shuffle -Z --list -
)
Kommentit
Vastaa
Löysin tämän ketjun kirjoittaessani FFplay-käyttöliittymää Lazarus / FPC: ssä. Se pystyi jo toistamaan pudotetun tiedostoluettelon ja siirtymään seuraavaan / edelliseen tiedostoon, mutta minun piti tappaa ffmpeg-prosessi ja luoda uusi joka kerta. Yritin lisätä kykyä toistaa koko tiedostoluettelo. Yksinkertaisin ratkaisu, jonka löysin tällä hetkellä, oli tietysti -autoexit ja soittolistatiedoston luominen tällä Pascal-koodilla:
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;
Luen sen sitten tällä tavalla:
"ffplay -f concat -safe 0 -i flist.txt -autoexit"
joka on sama syntaksi, jota käytän tiedostojen ketjutukseen FFMPeg: llä.
Etsin nyt oikeaa tapaa lisätä viive, jos tiedostot ovat kuvatiedostoja …
-autoexit
-lippu näyttää olevan asian kannalta merkityksellinen.-autoexit
ratkaisi ongelman. Nyt minulla on toinen, joka voidaan ratkaista käyttämällä-nodisp
… tämä poistaa aaltomuodon ja vastaavien kohteiden visualisoinnin käytöstä. Näin vältetään uuden ikkunan luominen ja varastamisen keskittyminen nykyisestä toimivasta sovelluksesta (tämä oli hyvin ärsyttävää käyttäytymistä). haluatko sisällyttää tämän vaihtoehdon vastaukseesi mahdollisena vaihtoehtona ärsyttävän käyttäytymisen ratkaisemiseksi.