3P by neo 8일전 | ★ favorite | 댓글 1개
  • Free Lossless Audio Codec(FLAC)의 1.5 업데이트에서 드디어 멀티스레드 오디오 인코딩 도입
    • 기존에는 단일 스레드만 사용 가능했으나, 이제 멀티코어 CPU 활용 가능
    • flac 명령어에서 -j # 또는 --threads=# 옵션으로 스레드 개수 설정 가능
    • 멀티스레드 인코딩이 지원되면서 대량의 오디오 파일을 훨씬 빠르게 변환 가능
  • 추가 개선 사항
    • 이제 체인된 Ogg FLAC 파일도 디코딩 지원
    • 라이브러리 안정성 향상: 버그 수정 및 빌드 시스템 업데이트 포함
    • libFLAC, libFLAC++, metaflac 에서 메타데이터 변경시에 기존 파일을 덮어쓰기 하는 대신 새 파일로 작성 가능
Hacker News 의견
  • Ogg FLAC 파일을 연결하여 디코딩하는 것에 대한 기대감이 있음

    • 일부 소프트웨어는 libFLAC/libFLAC++를 사용하여 디멀티플렉싱 및 디코딩할 때 FLAC 기반 Icecast 스트림과 제대로 작동하지 않음
    • 이러한 스트림은 일반적으로 Ogg로 멀티플렉싱되고 이전 Ogg 비트스트림을 닫고 새로 시작하여 메타데이터를 업데이트함
    • libFLAC을 사용하여 디멀티플렉싱 및 디코딩할 경우 스트림이 업데이트되면 무한히 멈추게 됨
    • 앱은 자체적으로 Ogg 디멀티플렉싱을 수행하고 스트림 간 디코더를 재설정해야 함
    • 연결된 Ogg FLAC은 손실 없는 인터넷 라디오 스트림을 제공하며, 아웃 오브 밴드 방법에 의존하지 않고 풍부한 인밴드 메타데이터를 포함할 수 있음
    • 인밴드 앨범 아트, 아티스트 정보, 링크 등 Vorbis 코멘트 블록에 넣을 수 있는 모든 것을 포함할 수 있음
  • FLAC 인코딩은 이미 현대 기계에서 60배 이상의 실시간 성능을 제공함

    • 전체 라이브러리를 트랜스코딩할 필요가 없다면 인코딩 설정에 더 많은 시간을 소비할 가능성이 높음
  • FLAC이 이제 RFC 9639로 게시됨

  • Windows에서 libwinpthread를 사용하는 8코어/16스레드 기계에서의 성능 테스트

    • flac -f -8 a.wav a.flac 명령어의 평균 시간은 약 13.148초
    • flac -j16 -f -8 a.wav a.flac 명령어의 평균 시간은 약 2.404초
    • 두 번째 명령어가 첫 번째 명령어보다 약 5.47배 더 빠르게 실행됨
  • 이러한 개선이 낮은 지연 시간의 FLAC 스트리밍으로 번역될 수 있을지에 대한 궁금증이 있음