У меня недавно возникла проблема, которой не было раньше, и я очень признателен за некоторую помощь. К сожалению, я не могу отследить это до конкретного изменения, которое я сделал, и мой обширный поиск не дал никаких решений.
Проблема заключается в том, что я пытаюсь транслировать видео на такой сайт, как youtube, но не ограничиваясь YouTube. Видео загружается, но не воспроизводится. Я могу пропустить видео и увидеть кадры и т. Д., Но я не могу его воспроизвести. Если перед видео есть реклама, она тоже не будет воспроизводиться.
Если я загружу и открою видео в формате mp4 в приложении "видео" по умолчанию, оно также не будет воспроизводиться таким же образом, например.g загружает первый кадр, я могу пропустить его, но не могу просто воспроизвести его.
Однако, если я загружаю то же видео в VLC, оно работает нормально.
Я провел много поисков и имел пробовал все, что рекомендуется, но не могу решить проблему.
Я не уверен, есть ли диагностический инструмент, который может проверять наличие проблем с кодеками и т. д. С радостью предоставлю любой полезный вывод из инструментов и т. д., но я тяну сейчас мои волосы распущены.
Я использую Ubuntu 20.04.1 LTS.
С образцом файла mp4, с которым я тестирую:
В приложении «Видео» (тотем) единственные свойства, которые я вижу являются: «Кодек: H.264 (основной профиль)». Когда я запускаю с терминала, я получаю следующее предупреждение (первый кадр видео все еще загружен, но не воспроизводится):
Gtk-WARNING **: 11: 40: 23.965: Рисование гаджета с отрицательным Габаритные размеры. Вы забыли выделить размер? (владелец слайдера узла GtkScale)
Я вижу, что в VLC написано: "Кодек: H264-MEPG-4 AVC (часть 10) (avc1)
Я не уверен, что это что-то значит для кого-то, но это не помогло мне найти проблему !
Заранее благодарим всех, кто может помочь
РЕДАКТИРОВАТЬ: С тех пор я обнаружил, что это не ограничивается файлами mp4, а также случается с другими форматами, которые я пробовал.
Я собираюсь ответить на свой вопрос, так как нашел решение и подумал, что оно может быть полезно другим в будущем.
Моя проблема была фактически связана со звуком не видео.
Я использую Джека, а сервер не запущен. Похоже, что gstreamer не смог запустить его в обычном режиме, но смог запустить его как sudo. Вот почему он работал с sudo. Для других учетных записей пользователей они не использовали Джека, поэтому без sudo тоже не было проблем.
Я уверен, что эта проблема вряд ли станет проблемой, которая возникнет у кого-либо именно в будущем, однако для тех, кто столкнется с аналогичными проблемами в будущем и в конечном итоге просмотрит эту ветку, возможно, стоит поделиться тем, что я обнаружил эту проблему, посмотрев в журналах gstreamer и в моем случае сравнение обычных журналов с журналами, созданными при запуске с sudo.
Отладки Gstreamer включаются путем установки переменной окружения
sudo export GST_DEBUG = 5
Вы можете посмотреть на разные уровни журналов в документации gstreamer здесь: https://gstreamer.freedesktop.org/documentation/tutorials/basic/debugging-tools.html
Я бы посоветовал сначала начать с нижних уровней журналов, так как их меньше читать через, я полагаю, это серьезная ошибка.
Затем вы можете попробовать воспроизвести видео из командной строки и, если хотите, передать журнал в файл:
gst-launch-1.0 playbin uri = file: ///path_to_my_video.mp4 &> gs.log
Если вы видите различия при запуске от имени sudo, вы можете сгенерировать те журналы такие же, но вам нужно использовать параметр -E для передачи переменной среды:
sudo -E gst-launch-1.0 playbin uri = file: ///path_to_my_video.mp4 &> gs_sudo.log
Если вам нужно сравнить два разных журнала, как это сделал я, я использовал инструмент под названием «meld» и использовал sed для обрезки первых 81 символа, что остановило все отметки времени, помеченные как изменения.
Как я сказал выше, даже если у других нет такой же проблемы, как у меня, надеюсь, вышеизложенное будет полезно для диагностики других проблем, которые могли привести людей к этой теме.
Спасибо тем, кто пытался помочь.
Поскольку вы используете Ubuntu 20.04 , вам следует установить пакет ubuntu-limited-extras
. Пакет содержит все необходимые кодеки для воспроизведения мультимедиа в системе.
Он также содержит шрифты Microsoft и пакет flash (я думаю, что он был удален), но лучше не включать эти два, если они вам действительно не нужны.
Команда для установки пакета: sudo apt install ubuntu-limited-extras
.