![GStreamer를 사용하는 Clementine은 OGG 파일을 재생할 수 없습니다](https://linux55.com/image/184896/GStreamer%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20Clementine%EC%9D%80%20OGG%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%9E%AC%EC%83%9D%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4.png)
최근 약 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
다시 정리하면 이제 모든 것이 잘 작동합니다.