VLC. Ошибка - VLC не может декодировать формат «h264» (H264 - MPEG-4 AVC (part 10))

Ocean

New member
Сообщения
6
#1
Имеется свежеустановленный Astra Linux Orel.

Код:
Distributor ID: AstraLinuxCE
Description:    Astra Linux CE 2.12.29 (Orel)
Release:        2.12.29
Codename:       orel

Linux astra 4.15.3-2-generic #astra25 SMP Thu Mar 26 08:05:28 UTC 2020 x86_64 GNU/Linux
VLC не проигрывает файл mkv с кодеком H.264 (V_MPEG4/ISO/AVC по данным утилиты Mediainfo).

VLC под Windows и Ubuntu проигрывает без проблем.

При попытке проиграть в GUI пишет ниже следующее:

Код:
Кодек не поддерживается:
VLC не может декодировать формат «h264» (H264 - MPEG-4 AVC (part 10))
В терминале:

Код:
ocean@astra:~$ vlc Камера\ 5\ \[2020-08-17T15_46_19\ -\ 2020-08-17T15_47_58\]\ 2.mkv -v
VLC media player 3.0.10 Vetinari (revision 3.0.10-0-g7f145afa84)
[00006fe80b9c61a0] main libvlc: Запуск vlc с интерфейсом по умолчанию. Используйте 'cvlc' для запуска vlc без интерфейса.
[00006fe80bab91b0] qt interface error: Unable to load extensions module
[h264 @ 0x76c67e884fa0] sps_id 0 out of range
[h264 @ 0x76c67e884fa0] SPS decoding failure, trying again after escaping the NAL
[h264 @ 0x76c67e884fa0] sps_id 0 out of range
[h264 @ 0x76c67e884fa0] Decoding sps 0 from avcC failed
[000076c67e864500] avcodec decoder error: cannot start codec (h264)
[000076c67e864500] main decoder error: Codec `h264' (H264 - MPEG-4 AVC (part 10)) is not supported.
[000076c67e864500] avcodec decoder warning: refusing to decode non validated subtitle codec
[000076c67cc07e10] mkv demux warning: find KaxCues FIXME
[000076c67cc07e10] mkv demux warning: EOF
[000076c67cc07e10] mkv demux warning: cannot get block EOF?
Установленные модули:

Код:
ocean@astra:~$ vlc --list | grep 264
VLC media player 3.0.10 Vetinari (revision 3.0.10-0-g7f145afa84)
  h264                   Видеоупаковщик H.264
  x264                   Кодер H.264/MPEG-4 ч. 10/AVC (x264)
  h26x                   Демультиплексор видео H264

ocean@astra:~$ vlc --list | grep mpeg
VLC media player 3.0.10 Vetinari (revision 3.0.10-0-g7f145afa84)
  mpegaudio              Аудиоупаковщик MPEG layer I/II/III
  mpegvideo              Видеоупаковщик MPEG I/II
  mpeg4video             Видеоупаковщик MPEG4
  mpeg4audio             Аудиоупаковщик MPEG4
  libmpeg2               Видеодекодер MPEG I/II (через libmpeg2)
  avcodec                Аудио/видеодекодер FFmpeg
  avcodec                Аудио/видеодекодер FFmpeg
  avcodec                Аудио/видеодекодер FFmpeg
  avcodec                Аудио/видеокодер FFmpeg
Что ему не хватает?
 
Последнее редактирование:

Ocean

New member
Сообщения
6
#2
Разобрался в чём проблема.

В Astra Orel 2.12 используется репозиторий со старым софтом (от Debian 9).

Для корректного проигрывания MPEG4/H.264 (в моём случае) нужно использовать библиотеки libvaformat58, а в Astra Orel 2.12 версия 57.

В версии Astra Orel 2.13 уже используется репозиторий от Debian 10 и там нужная версия библиотек и всё корректно проигрывается, но 2.13 это пока эксперементальная версия и думаю в продакшен её не стоит...
 

Montfer

New member
Сообщения
964
#3
некоторые пакеты из дебиан 10 ставятся на орла 2.12. если подключить репозиторий, установить только нужную библиотеку и отключить?
да, при установке libavformat58 будет удалена библиотека ia32-lib, что может привести к каким то последствиям в будущем
 

Ocean

New member
Сообщения
6
#4
некоторые пакеты из дебиан 10 ставятся на орла 2.12. если подключить репозиторий, установить только нужную библиотеку и отключить?
При попытки использовать репозиторий от Debian 10 необходимо установить кучу зависимостей и к чему это приведёт в будущем непонятно... также появляются ошибки типа "E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты."

Пока для себя решил вопрос установкой snap пакета VLC. Тормозно, избыточно но работает.

Печально, что в Астре такой древний софт... но другой дистр использовать не могу...
 

Montfer

New member
Сообщения
964
#5
При попытки использовать репозиторий от Debian 10 необходимо установить кучу зависимостей и к чему это приведёт в будущем непонятно... также появляются ошибки типа "E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты."

Пока для себя решил вопрос установкой snap пакета VLC. Тормозно, избыточно но работает.

Печально, что в Астре такой древний софт... но другой дистр использовать не могу...
у меня не возникло проблем: отключил репозиторий орла, подключил - дебиан 10. установил только библиотеку. потом отключил репозиторий дебиана. никаких проблем с зависимостями не возникло
 

Ocean

New member
Сообщения
6
#6
у меня не возникло проблем: отключил репозиторий орла, подключил - дебиан 10. установил только библиотеку. потом отключил репозиторий дебиана. никаких проблем с зависимостями не возникло
Да, попробовал на свежеустановленном Орле. Тоже смог поставить libavformat58 но VLC всё равно подхватывает версию 57.

Поставил весь VLC из репозитория Debian 10. Вроде всё Ок, видео начинает проигрывать, но Атсра постоянно вываливается в окно авторизации с запросом логина и пароля.

Например открываю "Мой компьютер" или пытаюсь просмотреть видео, рабочий стол закрывается и открывается окно авторизации с запросом логина и пароля.

Или Астра глючит на VMware или новая VLC при установке сломала какие-то библиотеки.

Проверю на реальном компьютере, а не виртуальном. Спасибо за подсказки!

P.S. Хотя периодически вываливается в окно авторизации и без обновлённого VLC на чистом Орле...
Лог:

Код:
Nov 14 20:12:56 astra ru.rusbitech.fly-fm.open[1170]: critical: bool FlyFM::OpenObject::startProcess(const QString&) const "/usr/bin/vlc --started-from-file \"/home/ocean/Камера 5 [2020-08-17T15_46_19 - 2020-08-17T15_47_58] 2.mkv\"" false ()
Nov 14 20:12:56 astra ru.rusbitech.fly-fm.open[1170]: [000068b3765641a0] main libvlc: Запуск vlc с интерфейсом по умолчанию. Используйте 'cvlc' для запуска vlc без интерфейса.
Nov 14 20:12:57 astra ru.rusbitech.fly-fm.open[1170]: [000068b37661be30] qt interface error: Unable to load extensions module
Nov 14 20:12:57 astra kernel: [   56.891044] traps: nm-applet[1427] trap int3 ip:75f55003a331 sp:7ffc307f0c50 error:0 in libglib-2.0.so.0.5000.3[75f54ffea000+112000]
Nov 14 20:12:57 astra pulseaudio[1279]: [pulseaudio] module-x11-publish.c: PulseAudio information vanished from X11!
Nov 14 20:12:57 astra ru.rusbitech.fly-fm.open[1170]: process 1553: arguments to dbus_pending_call_block() were incorrect, assertion "pending != NULL" failed in file ../../../dbus/dbus-pending-call.c line 739.
Nov 14 20:12:57 astra ru.rusbitech.fly-fm.open[1170]: This is normally a bug in some application using the D-Bus library.
Nov 14 20:12:57 astra ru.rusbitech.fly-fm.open[1170]: The X11 connection broke (error 1). Did the X11 server die?
Nov 14 20:12:57 astra ru.rusbitech.fly-fm.open[1170]: [0000736f34000f20] cache_read stream error: cannot pre fill buffer
Буду пробовать на физическом компьютере...
 
Последнее редактирование:

Montfer

New member
Сообщения
964
#7
да, была такая фигня на одном компе: писало, что предыдущая сессия была прервана аварийно, после чего выбрасывало на окно ввода логина и пароля. зашел в консольном режиме и удалил содержимое папки /home/имя_пользователя. вылеты прекратились.
единственное, что потом всего пару дней на том компе астра стояла.

хотя, возможно, у вас другая причина
 

Ocean

New member
Сообщения
6
#8
да, была такая фигня на одном компе: писало, что предыдущая сессия была прервана аварийно, после чего выбрасывало на окно ввода логина и пароля. зашел в консольном режиме и удалил содержимое папки /home/имя_пользователя. вылеты прекратились.
Да, проблема с "...предыдущая сессия была прервана аварийно.." тоже есть, причем на свежепоставленном орле и просто обновлённом. Ни чего с ним не делал...

Вот тут https://forum.astralinux.ru/threads/2566/post-13203 предложили просто удалить /home/user/.fly и да, это помогло. Менее радикальный метод, чем удалять всю /home/user :)
 

Montfer

New member
Сообщения
964
#9
Да, проблема с "...предыдущая сессия была прервана аварийно.." тоже есть, причем на свежепоставленном орле и просто обновлённом. Ни чего с ним не делал...

Вот тут https://forum.astralinux.ru/threads/2566/post-13203 предложили просто удалить /home/user/.fly и да, это помогло. Менее радикальный метод, чем удалять всю /home/user :)
ну, просто у меня там ничего важного не было, поэтому удалил всё. один фиг при повторном входе заново папки создаются