![ffplay를 사용하여 오디오 파일 목록을 재생하는 방법](https://linux55.com/image/87243/ffplay%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%98%A4%EB%94%94%EC%98%A4%20%ED%8C%8C%EC%9D%BC%20%EB%AA%A9%EB%A1%9D%EC%9D%84%20%EC%9E%AC%EC%83%9D%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
오디오 및 비디오 플레이어는 많지만 저는 여러 목적으로 하나의 도구를 사용하는 것을 선호합니다. 그래서 나는 ffplay
그것을 오디오와 비디오 플레이어로 사용하려고 생각했습니다 .
파일을 재생하기 위한 명령어는 다음과 같습니다.
ffplay path_to_audio_file.mp3
좋습니다. 그런데 오디오 파일 목록이나 비디오 목록을 어떻게 재생합니까?
나는 다음을 사용하려고합니다 :
ffplay *.mp3
그러나 아무 소용이 없습니다. 그것은 나에게 다음과 같은 오류를 제공합니다 :
Argument 'audiofileB.mp3' provided as input filename, but 'audiofileA.mp3' was already specified.
답변1
ffplay
coreutils
단일 입력 파일만 지원되는 것으로 보이므로 다음 과 shuf
같이 입력 파일 목록을 반복하고 섞을 수 있는 코드를 사용해야 합니다.
find musicdir -type f -name "*.mp3" | shuf | while read f; do ffplay -autoexit -- "$f"; done
물론 파일 이름에 공백이나 개행 문자가 있으면 문제가 심각하게 발생합니다.
(제가 현재 사용하고 있는 뮤직 플레이어는 매우 유사합니다. find ~/music -type f -name "*.mp3" | mpg123 --shuffle -Z --list -
)
답변2
이것으로 알게 됐어요https://ubuntuforums.org/showthread.php?t=2068478
for f in *.mp3 ; do ffplay -autoexit "$f"; done
답변3
Lazarus/FPC에서 FFplay GUI를 작성하는 동안 이 스레드를 발견했습니다. 삭제된 파일 목록을 재생하고 다음/이전 파일로 이동하는 기능은 이미 작동하지만 매번 ffmpeg 프로세스를 종료하고 새 프로세스를 만들어야 합니다. 전체 파일 목록을 재생하는 기능을 추가하려고 합니다. 지금까지 찾은 가장 쉬운 해결 방법은 물론 -autoexit를 사용하고 다음 파스칼 코드를 사용하여 재생 목록 파일을 만드는 것입니다.
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;
그러면 다음과 같이 읽어보세요.
'ffplay -f concat -safe 0 -i flist.txt -autoexit'
이는 FFMPeg를 사용하여 파일을 연결하는 데 사용하는 것과 동일한 구문입니다.
이제 지연을 추가하는 적절한 방법을 찾고 있습니다(파일이 이미지 파일인 경우)...
답변4
ffplay
concat demuxer 와 같은 것을 사용할 수 있습니다 ffmpeg
.
재생하려는 파일을 나열하는 파일을 만듭니다.
# list.txt
file 'audiofileA.mp3'
file 'audiofileB.mp3'
그런 다음 ffplay를 실행합니다.
ffplay -f concat -i list.txt
기타 유용한 옵션:
-autoexit
완료되면 종료하는 데 사용됩니다 .- 영원히 반복하는 데 사용됩니다
-loop 0
( q종료 누르기). -safe 0
파일 경로가 절대 경로인 경우(또는 다른 특수 문자가 포함된 경우) 사용됩니다.
ffmpeg 위키를 참조하세요.연결 디멀티플렉서자세한 내용은.