Vlc не может открыть кодер mpga аудио
Когда я использую медиаплеер VLC для потоковой передачи видеофайла с помощью командной строки, я должен сказать, какой тип "mux" я предпочитаю:
Что значит мукс ? Что делается путем мультиплексирования / мультиплексирования видеоданных?
Видеофайл, который я передаю, содержит видеопоток H264(AVC) и аудиокодек AAC . Он сохраняется в формате контейнера .mp4 .
Что мультиплексор делает с этим? Это просто изменение формата контейнера?
1 ответ 1
Как вы определили, « видео » - это, как правило, аудио и видео. Они обычно не собираются вместе, а существуют как отдельные объекты - в вашем случае H.264 и AAC.
Одним из вариантов действительно является наличие двух отдельных файлов на диске, которые вы воспроизводите независимо - именно так часто распространяется контент Digital Cinema .
Это даст такой же опыт для конечного пользователя, но возникнет ряд проблем:
- Есть два файла, которые должны обрабатываться как один " объект " . Потерять одно или другое, и средства массовой информации непригодны
- Синхронизация аудио / видео может легко потерпеть неудачу, при этом одна будет опережать другую . если вы не решите это осторожно и явно (например, с использованием временных кодов)
Для решения этих проблем вы можете объединить два (или более) потока в один поток . ввести понятие « Контейнер ». В этом контексте термин несколько синонимичен с " Mux " или " Multiplexer ".
Можно утверждать, что « мультиплексор » - это логический блок (код), который занимается разделением или объединением потоков, а « формат контейнера » - это способ подготовки и форматирования данных для хранения или передачи.
На более фундаментальном уровне электроники, мультиплексор будет просто помещать один сигнал в линию передачи за один раз.
Существует множество разных контейнеров, которые имеют разные характеристики и преимущества. Ключевые особенности контейнера включают в себя:
- Несколько потоков
- Несколько аудиопотоков - например, языки, аудио, комментарии, каналы (стерео и объемный звук) и т.д.
- Один или несколько видеопотоков - например, точки зрения
- Субтитры
- Метаданные, например: глава, сцена, имя исполнителя / дорожки и т.д.
Однако часто также возможно хранить любые произвольные двоичные данные в другом потоке внутри контейнера. Например, Matroska - это невероятно открытый формат, который может поддерживать практически все.
Когда вы говорите, что у вас есть файл .mp4 , вы на самом деле можете не ссылаться на формат контейнера - как правило, если вы можете получить правильное приложение для обработки данных, то оно будет понимать, на что оно смотрит, и обрабатывать его соответствующим образом.
Причина, по которой это все еще работает:
- Поскольку вы используете систему Unix, а тип файла определяется с помощью « Magic » - это указывает, какое приложение использовать для его обработки, а не расширение файла.
- Поскольку вы используете Windows, .mp4 определяет, какое приложение использовать для обработки файла - VLC (например) впоследствии игнорирует расширение и правильно определяет, что на самом деле . это файл TS.
- Попробуйте переименовать его .ts и посмотрите, что получится
- Это смесь между Windows, использующей расширения файлов, и VLC, использующей более волшебную технику для идентификации данных.
Что значит мукс? Что делается путем мультиплексирования / мультиплексирования видеоданных?
Надеюсь, я в значительной степени рассмотрел это выше.
Полный конвейер, вероятно, выглядит примерно так:
Что мультиплексор делает с этим?
Мультиплексор отделяет интересные потоки от общего потока и передает их в собственные конвейеры декодирования и рендеринга.
Это просто изменение формата контейнера?
Почему я могу использовать flv-muxing или ts-muxing, и мое видео в любом случае передается без проблем?
Поскольку это изменяет формат контейнера между сервером и клиентом, а не формат контейнера, который сервер использует для чтения исходного файла.
Почему я могу изменить имя файла с mp4 на ts?
Поскольку магия просматривает данные в файле, чтобы установить, что это такое - в системах Unix расширение файла - это просто подсказка для людей, которые могут использовать.
Как я могу проверить фактический формат контейнера файла?
Используйте file утилиту - она использует магию для идентификации (отпечатка пальца) файла и сообщает вам, что это лучшее предположение. Например, этот файл использует контейнер QuickTime :
Если вы хотите знать больше, чем просто то, как содержатся данные - например, какие потоки находятся в файле или какие кодеки используются, - вам нужно проверить файл с помощью VLC, GStreamer, FFmpeg или другого инструмента. Например, у него есть три потока:
- Видео - h.264, 1280x720
- Информация о временном коде
- Аудио - AAC, 48 кГц, 5.1-канальный объемный звук
Почему необходимо мультиплексировать файл для потоковой передачи через VLC?
Я думаю, что я уже рассмотрел это, но просто чтобы прояснить . это допускает гибкость. Операции demux / mux довольно легки (по сравнению с полным декодированием), поэтому, конечно, это не проблема.
Если бы вы попытались обслужить файл AVI без повторного смешивания, у вас возникли бы значительные проблемы при попытке декодировать его на клиенте (скорее всего, он вообще не работал бы).
Точно так же, если вы нацелены на устройство, которое может только демультиплексировать транспортный поток, то повторное смешивание из MP4 в TS позволит декодировать мультимедиа не на этом устройстве.
Пакет ubuntu-limited-extras позволяет пользователям устанавливать возможность воспроизведения популярных несвободных форматов мультимедиа, включая форматы DVD, MP3, Quicktime и Windows Media.
Чтобы установить ubuntu-restricted-extras пакет:
Откройте терминал, нажав Ctrl + Alt + T .
Запустите эту команду:
Кроме того, вы можете установить пакет через Центр программного обеспечения , запустив его через Dash, выполнив поиск пакета и нажав « Установить» .
Также попробуйте установить libavcodec54 libav-tools и ffmpeg с помощью этой команды:
Также: пакет libav-tools недоступен, но на него ссылается другой пакет. Это может означать, что пакет отсутствует, был устаревшим или доступен только из другого источника. Однако его заменяют следующие пакеты: ffmpeg: i386 ffmpeg E: невозможно найти пакет libavcodec54 E: пакет 'libav-tools' не имеет кандидата на установку
Поддержка декодирования MPEG-4 AAC обеспечивается gstreamer1.0-libav, а для декодирования H.264 используется gstreamr0.10-ffmpeg :
Для получения дополнительной информации ознакомьтесь с документацией по Ubuntu .
Другие ответы, кажется, работают на более старых версиях, но сегодня, когда я устанавливал их на чистую установку Ubuntu 18.04, используя ответ Peachy, я получил много ошибок. Используя эти команды, я успешно установил их в Ubuntu 18.04 LTS.
Я использую Ubuntu Studio 18.04.1 LTS, и я установил все части программного обеспечения, которые вы упомянули здесь, но . Проблема все та же! VLC плеер может воспроизводить эти видео, но не Parole. Итак .
Хороший обходной путь - установить VLC:
(или из центра программного обеспечения)
Обновление: найдено исправление:
Это заставило звук работать на Тотем (Видео)
Обновление: попробуйте перейти к пункту «Программное обеспечение и обновления» и установить флажок «Программное обеспечение ограничено авторскими или юридическими проблемами». Затем разрешите обновление Ubuntu после нажатия кнопки закрытия. Теперь вы должны быть в состоянии выполнить:
Вы также должны принять условия лицензионного соглашения, прежде чем продолжить.
Раньше в блоге уже была опубликована статья, как конвертировать видео с помощью медиапроигрывателя VLC. Встроенный в VLC конвертер поддерживает много форматов, в том числе MP4.
Но есть одно но! Наиболее распространенными для контейнера MP4 являются видеокодек H.264 и аудиокодек AAC. VLC создает контейнер MP4 с видеокодеком H.264 и аудиокодеком MP3 по умолчанию у всех предустановках конвертера. Хотя это и разрешено спецификацией, некоторые версии программ (Quick Time Player, iTunes) и устройств (iPod, iPhone и др.) могут испытывать проблемы с воспроизведением такого MP4.
Способ 2 (Сложнее, но гибче)
Этот способ подойдет в том случае, если поток видео довольно увесистый, и его нужно сжать, чтобы сэкономить место на жестком диске компьютера, или его просто нужно сконвертировать для других устройств, "не понимающих" исходный формат видеопотока.
Открываем VLC плеер и нажимаем "Файл > Конвертировать/Сохранить…".
В открывшемся диалоге вводим адрес потока, и нажимаем кнопку "Конвертировать/сохранить".
Откроется диалог с настройками конвертера. В настройках преобразования ставим галочку "Проигрывать результат", чтобы видеть результат конвертирования. В поле "Профиль" выбираем формат конечного файла. Я выбрал родной формат для Windows – ".asf". Видео этого формата довольно качественное, а само видео сильно сжимается, благодаря чему конечный файл мало весит. Можно еще сильнее сэкономить место уменьшив битрейт видео и аудио в настройках кодека (кнопочка с изображением отвертки и ключа).
Задаем название файлу, и нажимаем на кнопку "Начать". Начнется конвертирование, запись и воспроизведение видео одновременно. Чтобы остановить запись, нажмите на кнопку "Остановить".
Данный способ позволяет сэкономить место на диске при длительной записи видео, но надо понимать, что при такой тройной работе идет серьезная нагрузка на процессор.
Способ 1 (Легкий)
Открываем VLC плеер, и выбираем опцию меню "Медиа > Открыть URL…".
В открывшемся диалоге вводим URL-адрес видео и нажимаем на кнопку "Воспроизвести".
Произойдет буферизация, и начнется воспроизведение видео. Теперь выбираем опцию меню "Вид > Доп. элементы управления".
Внизу, над кнопками управления воспроизведением, появится кнопка записи (кнопка с красным кружочком). Нажимаем на нее, и тут же начнется запись видео в файл, который будет создан в папке "Библиотеки > Видео". Чтобы остановить запись, повторно нажмите на кнопку записи.
Суть вопроса
В настройках конвертера можно изменить аудиокодек на AAC.
Но при попытке конвертировать видео с таким аудиокодеком появляется ошибка: "VLC не может открыть кодер mp4a аудио".
В результате видео будет конвертировано без звука.
Решение вопроса
Чтобы получить на выходе видео со звуком в формате AAC, нужно отредактировать всего один параметр в общих настройках медиапроигрывателя VLC.
Зайдите в настройки VLC (Инструменты > Настройки). Внизу окна настроек, в разделе "Показывать настройки" установите переключатель на "все". В дереве настроек слева перейдите в ветку "Ввод/кодеки > Видеокодеки > FFmpeg". В списке настроек кодека справа найдите пункт "Строгое следование стандартам" и измените значение в поле напротив него на "-2". Сохраните настройки, нажав кнопку "Сохранить".
Теперь при выборе аудиокодека AAC для формата MP4 в конвертере VLC плеера преобразование видео должно выполняться без ошибок.
Медиапроигрыватель VLC Media Player давно завоевал популярность среди пользователей компьютеров не только благодаря тому, что он кросплатформенный (поддерживает разные операционные системы), а еще и потому, что кроме основной функции воспроизведения, он может записывать трансляцию с интернета или устройства видеозахвата, конвертировать, а также транслировать видео, например с вашей веб-камеры, в сеть.
Раньше я уже рассказывал, как просматривать и записывать видеопоток из сети. В этой статье я опишу, как конвертировать видеофайлы с помощью VLC Media Player.
Итак, у нас есть исходный файл видео в формате ".mkv" размером 2.18 Гб. Это фильм длительностью 2 ч.19 м. Сконвертируем его в стандартный формат для DVD-плеера, чтобы просмотреть на экране обычного телевизора.
Открываем VLC плеер, нажимаем "Медиа > Конвертировать/сохранить".
Откроется окно выбора файла-источника. Выбираем файл и нажимаем на одноименную кнопку "Конвертировать/сохранить".
Откроется окно настроек конвертера. В выпадающем списке "Профиль" выбираем позицию "Video for DivX compatible player". Как видим, здесь есть большой выбор предустановок для конвертирования под разные устройства и сервисы, например: Android, iPod, YouTube. Дальше нажимаем кнопку настроек кодека (отмечена стрелкой на картинке).
В открывшемся окне переходим на вкладку "Видеокодек", а дальше — на вкладку "Разрешение". Хоть и на вкладке написано что нужно изменить только один параметр, у меня почему-то не сработало, поэтому я сам прописал ширину и высоту видео. Из первой картинки в статье видно, что разрешение видео " 1280x534 ". Мой DVD-плеер не поддерживает разрешение картинки шириной больше 800 пикселов. Поэтому я прописал в поле "Ширина" значение "800пкс". Чтобы вычислить высоту картинки видео, я воспользовался следуюущей формулой (округлив значение):
Также на вкладке "Параметры кодирования" можно увеличить битрейт, если качество видео вас не удовлетворяет, но это очень сильно влияет на размер файла, и не стоит забывать, что плееры имеют лимит по битрейту (см. инструкцию к своему плееру). Битрейт видео по умолчанию имеет значение 900кб/с, я оставил эту настройку неизменной.
Теперь переходим на вкладку "Аудиокодек". Хоть и кодек имеет в своем арсенале режим "A52/AC-3" для конвертирования многоканального звука, сохранить исходное количество каналов 5.1 (см. первую картинку статьи) мне не удалось, так как конвертированный звук получался с искажениями. Поэтому я выбрал кодек "MP3", количество каналов — "2", а битрейт оставил по умолчанию.
Дальше нажимаем на кнопку сохранить и возвращаемся к предыдущему окну.
В нижнем поле задаем название будущему файлу конвертированного видео и выбираем место для сохранения.
Все готово для начала конвертирования, нажимаем кнопку "Начать". Запустится процесс конвертирования. В роли прогресса преобразования выступает прогрессбар воспроизведения в плеере.
Упоминаемый в статье файл конвертировался около 1 ч. 45 м. Не очень быстро, но здесь следует упомянуть, что компьютер, на котором было выполнено преобразование, не очень сильный (процессор: Intel Celeron 2.2 ГГц) и во время конвертирования я писал эту статью в Word’е и слушал музыку в браузере. Пожалуйста, кто конвертировал плеером VLC, оставьте свой отзыв ниже в комментариях: какой характеристики вашего компьютера и сколько времени заняло конвертирование файла? Буду очень вам благодарен! Мне и, думаю, другим будет очень интересно узнать!
Иногда возникает необходимость записать видеопоток, вещаемый по сети. Это может быть: футбольный матч, серия любимого сериала или даже поток видеонаблюдения с IP-камеры. Для этой цели вполне может подойти бесплатный медиаплеер VLC Media Player, который обладает возможностями не только воспроизведения видео, но и его записи, конвертирования и даже трансляции!
Допустим, у нас есть URL-адрес видеопотока IP-камеры видеонаблюдения: " http://192.168.0.104:8080/videofeed ", который мы хотим просмотреть и записать на компьютер.
Читайте также: