GStreamer를 사용하는 Clementine은 OGG 파일을 재생할 수 없습니다

GStreamer를 사용하는 Clementine은 OGG 파일을 재생할 수 없습니다

최근 약 2~3주 전, 일부 업데이트 이후 Clementine이 OGG 파일 재생을 중단한 것으로 보입니다. 다른 모든 형식은 문제 없이 재생됩니다. 동시에 VLC는 동일한 OGG 파일을 재생할 수 있습니다.

실패하면 Clementine은 다음 메시지와 함께 오류 창을 표시합니다.내부 데이터 흐름 오류입니다.

내부 데이터 흐름 오류

동시에 다음 오류 메시지가 터미널에 인쇄됩니다.

(clementine:647736): GStreamer-CRITICAL **: 11:27:26.111: gst_pad_get_range_unchecked: assertion '!*buffer || res_buf == *buffer' failed

(clementine:647736): GStreamer-CRITICAL **: 11:27:26.111: gst_mini_object_unref: assertion 'GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object) > 0' failed
11:27:26.186 WARN  unknown                          QTimeLine::start: already running 
11:27:26.691 WARN  unknown                          QTimeLine::start: already running 
11:27:26.691 WARN  unknown                          QTimeLine::start: already running 
11:27:26.695 WARN  unknown                          QTimeLine::start: already running 

버전 정보:

  • 페도라 33 5.9.11-200.fc33.x86_64
  • clementine.x86_64:1.4.0-3.rc1.20200617gitedb8c3b.fc33.1
  • gstreamer1.x86_64:1.18.2-1.fc33
  • gstreamer1-libav.x86_64:1.18.1-1.fc33
  • gstreamer1-plugin-openh264.x86_64:1.16.2-2.fc33
  • gstreamer1-plugins-bad-free.x86_64:1.18.2-1.fc33
  • gstreamer1-plugins-bad-free-extras.x86_64:1.18.2-1.fc33
  • gstreamer1-plugins-base.x86_64:1.18.2-1.fc33
  • gstreamer1-plugins-good.x86_64:1.18.2-1.fc33
  • gstreamer1-plugin-good-gtk.x86_64:1.18.2-1.fc33
  • gstreamer1-plugin-good-qt.x86_64:1.18.2-1.fc33
  • gstreamer1-plugins-ugly.x86_64:1.18.1-1.fc33
  • gstreamer1-plugins-ugly-free.x86_64:1.18.2-1.fc33

원인과 해결 방법을 아시나요?

답변1

Ubuntu 20.10에서도 동일한 문제가 있거나 적어도 동일한 증상이 있는 것 같습니다. 이는 동일한 방식으로 명령줄의 Clementine 및 gst-play-1.0에 영향을 미칩니다. 20.04에서 업그레이드한 후 문제가 발생했습니다. 내 경우에는 약 680개의 ogg 파일 컬렉션 중 일부 앨범에만 영향을 미쳤습니다. 알고 보니 특정 인코더에 결함이 있을 수 있었습니다. ogginfo가 이러한 파일에 대해 실행되면 공급업체 문자열이 다음과 같이 표시됩니다.

공급업체: Xiphophorus libVorbis I 20010813(1.0 rc2)

그리고 다음과 같은 오류가 발생합니다.

경고: 데이터(128바이트)의 취약점은 약 5265129바이트 오프셋에서 발견되었습니다. 부패한 Og.

따라서 이전 버전의 GStreamer에서는 무시되었지만 현재 문제를 일으키는 이전 인코더의 버그가 발생할 수도 있습니다.

ffmpeg를 사용하여 파일을 다시 인코딩하면 문제가 해결되는 것으로 나타났습니다. ffmpeg -i file.ogg -acodec copy newfile.ogg

또한 여기에서 연 버그 보고서에도 기본적으로 동일한 세부 정보를 게시했습니다. https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/848

답변2

녹색 요소. 답변을 게시해 주셔서 감사합니다. 이 감사 인사를 게시하기 위해 특별히 stackexchange에 가입했지만, 초보이기 때문에 투표하거나 댓글을 달 수 없습니다.

나는 대부분의 음악 ID3 태그를 편집했고 모든 .ogg 기반 파일은 Clementine 및 Rhythmbox 오디오 플레이어에서 "내부 데이터 흐름" 오류로 인해 어려움을 겪기 시작했습니다. VLC를 통해 파일을 정상적으로 재생할 수 있습니다.

당시에는 태그 편집에 문제를 연결하지 않았습니다. gstreamer 버그에 대한 언급은 문제가 ID3 태그로 인한 것일 수 있음을 나타냅니다.

ogginfo문제 파일을 실행하면 "헤더 외부 Vorbis 스트림의 음수 그레인 위치 또는 제로 그레인 위치(0)입니다. 이 파일은 문제가 있는 인코더에 의해 생성되었습니다."라고 보고됩니다.

ogginfo는 저와 같은 초보자를 위해 Vorbis-tools 패키지에 포함되어 있습니다.

문제가 있는 모든 파일을 실행하고 ffmpeg -i file.ogg -acodec copy newfile.ogg다시 정리하면 이제 모든 것이 잘 작동합니다.

관련 정보