경로에 의존하지 않고 로컬 미디어 파일의 재생 목록을 만드는 방법은 무엇입니까?

경로에 의존하지 않고 로컬 미디어 파일의 재생 목록을 만드는 방법은 무엇입니까?

로컬에 저장된 미디어 파일의 재생 목록을 만들고 내 장치(데스크탑/노트북/휴대폰) 간에 이러한 재생 목록을 동기화하고 싶습니다. 그러나 한 가지 중요한 마찰 점이 있습니다. 미디어 라이브러리를 저장한 방법이 일부 변경되었기 때문입니다. 수년에 걸쳐 파일 경로가 모든 장치에서 반드시 동일하지는 않습니다. 따라서 파일의 정확한 경로에 의존하는 일반적인 파일 형식(예 .fpl: , .m3u, .pls, )은 적합하지 않습니다..wpl

거의 모든 경우 미디어가 루팅된 위치는 장치마다 다릅니다. 일부 미디어 플레이어는 이 문제를 해결할 수 있을 만큼 똑똑하고 파일의 접미사만 일치시킵니다. 예를 들어 재생 목록에 있는 경우 D:\Music\Example Artist\Example Song.mp3음악 플레이어는 $SOME_ANDROID_IDENTIFIER/AndroidMusic/Example Artist/Example Song.mp3해당 항목과 일치하는 것으로 인식할 수 있습니다. 음악 플레이어가 충분히 똑똑하지 않은 경우 텍스트 편집기를 사용하면 라이브러리의 루트를 변경하는 것도 다소 간단합니다.

그러나 이 전략은 일반적으로 경로의 더 복잡한 차이를 견딜 수 있을 만큼 강력하지 않습니다. 대신 재생 목록에 D:\Music\Example Artist\Example Song.flac또는 이 포함되어 있으면 D:\Music\Example Artist\Example Artist feat. Someone Else - 1-01 Example Song (2021).mp3찾기 및 바꾸기가 훨씬 더 복잡해져서 대규모 라이브러리에 사용할 수 없게 됩니다.

이 문제에 대한 나의 이상적인 해결책은 메타데이터를 기반으로 하는 파일 형식입니다. 파일의 정확한 경로를 포함하는 대신 다음 JSON과 같은 내용을 포함할 수 있습니다.

{
  songs: [
    {
      artist: "Example Artist",
      title: "Example Song"
    }
  ]
}

재인코딩, 이름 변경 및 복사 사이에서 기본 메타데이터의 안정성을 보장할 수 있으므로 이를 통해 내 장치의 모든 미디어 파일을 인덱싱할 수 있다는 가정 하에 모든 미디어 플레이어가 제공된 메타데이터와 일치할 수 있습니다.


질문:위에서 설명한 것과 같은 파일 형식이 존재합니까? 그렇지 않다면 정확한 경로나 찾기 및 바꾸기에 의존하지 않고 재생 목록을 생성할 수 있는 솔루션이 있습니까? (저의 경우에는 Windows의 foobar2000과 Android의 Poweramp 간의 상호 운용성에 관심이 있지만 이러한 앱을 사용하지 않는 솔루션도 환영합니다.)

답변1

이를 수행하는 가장 좋은 기존 파일 형식은 다음과 같습니다.XML 공유 가능 재생 목록 형식, 줄여서 XSPF. 불행히도 널리 지원되지는 않는 것 같습니다. 주로 IPTV 커뮤니티에서 사용되는 것으로 보이지만 오디오 플레이어의 경우 거의 채택되지 않았습니다.

이있다foobar2000용 플러그인지원이 추가되었지만 Poweramp나 Android의 다른 음악 플레이어에 대해 그다지 의미 있는 내용을 찾을 수 없습니다. Soundiiz와 같은 일부 서비스에는 다음과 같은 기능이 있는 것으로 보입니다.XSPF로 내보내기스트리밍 서비스에서.

답변2

.m3u 및 기타 재생 목록에는 다음이 필요합니다.아니요길,그냥 파일 이름,.m3u와 파일이 같은 폴더에 있는 경우.

즉, 이것은 A에게는 효과가 없는 것 같습니다.상대적인하위 폴더 경로나 상위 폴더 경로입니다. [아마도 이는 애플리케이션이나 파일 시스템에 따라 다릅니다. Windows/NTSF에서는 "점", "점-점", 슬래시 및 역방향 슬래시를 사용해 보았지만 아무 소용이 없었습니다.]

관련 정보