Я пытаюсь передать dvb поток потоком в VLC, но транскодирую аудио к aac формату однако, это не может найти кодер. Как я устанавливаю его?
VLC media player 2.1.4 Rincewind (revision 2.1.4-0-g2a072be)
[0x2535b58] main interface error: no suitable interface module
[0x2470118] main libvlc error: interface "globalhotkeys,none" initialization failed
[0x2535b58] dbus interface error: Failed to connect to the D-Bus session daemon:
Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
[0x2535b58] main interface error: no suitable interface module
[0x2470118] main libvlc error: interface "dbus,none" initialization failed
[0x2470118] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[0x2535b58] qt4 interface error: Could not connect to X server
[0x2535b58] skins2 interface error: cannot initialize OSFactory
[0x2535b58] [cli] lua interface: Listening on host "*console".
VLC media player 2.1.4 Rincewind
Command Line Interface initialized. Type `help' for help.
> [0x7f00c800bcf8] dtv access error: 514000 Hz carrier frequency is too low.
[0x7f00c800bcf8] dtv access: Assuming 514000000 Hz frequency instead.
[0x7f00c800bcf8] dtv access error: cannot enumerate frontend systems: Invalid argument
[0x7f00cc001138] avcodec encoder error: cannot open encoder
[0x7f00cc001138] main encoder error: Streaming / Transcoding failed
[0x7f00cc001138] main encoder error: VLC could not open the encoder.
[0x7f00c80097c8] stream_out_transcode stream out error: cannot find audio encoder (module:any fourcc:mp4a). Take a look few lines earlier to see possible reason.
[0x7f00c80097c8] stream_out_transcode stream out error: cannot create audio chain
[0x7f00c80a5438] main decoder error: cannot create packetizer output (mpga)
[0x7f00c80105b8] ts demux error: libdvbpsi (misc PSI): Bad CRC_32 table 0x73 !!!
Редактирование для добавления команды я работаю
cvlc --ttl 12 --ts-es-id-pid --program=8261 dvb:// --dvb-adapter=3 \
--dvb-frequency=514000 --dvb-bandwidth=8 --sout #transcode{width=720,vcodec=h264,
venc=x264{aud,profile=baseline,level=30,keyint=30,ref=1},
acodec=mp4a}:std{access=livehttp{seglen=10,delsegs=true,
numsegs=10,index=/web/main/streaming/mystream.m3u8,
index-url=http://192.168.1.2/streaming/mystream-########.ts},
mux=ts{use-key-frames},dst=/web/main/streaming/mystream-########.ts}'
Команда должна передать адаптер DVB потоком по HLS, транскодирующей его к формату, принятому клиентом. Работы команды, но произведут ts файлы, которые не имеют никакого аудио из-за недостающего кодера. Если я chnage кодер к "mp3", я получаю файл с аудио MP3, но очевидно не, что я хочу.
Можно действительно пропускать некоторые кодеки, потому что они выделены к некоторым дополнительным пакетам в человечности.
существует два конфликтующих варианта пакетов, одного ith -extra
на имя.
кроме того, существуют отчеты, что установка пакетов может испортить управление пакетом; По крайней мере, я должен был разрешить конфликты вручную пару раз.
Вам нужно или libavcodec54
и libavutil52
или libavcodec-extra
и libavutil-extra-52
:
(я думаю, что делаю нет смысла в этих пакетах сам, но я установил их давно и закончил с версией без -extra
на имя. Я действительно помню, было хитро, не ожидайте устанавливать их, просто работает гладко)
sudo apt-get install libavcodec54 libavutil52
, Если это не помогает, удаляет его и пробует другой.
sudo apt-get install libavcodec-extra libavutil-extra-52
(Перед выяснением: Я неопределенно помню, что причина упаковки и путаницы зависимости не только должна лицензировать проблемы, но и имела значительный компонент, скажем, политики межпроекта.)
Если признаки выглядят подобными вопросу, но детали с кодеком, кажется, отличаются, это может быть испорченная конфигурация vlc
- который, кажется, иногда происходит.
Вот то, что можно сделать:
мне, который похож на ошибку относительно кодера, просто следует из других ошибок - почему Вы думаете проблема это кодер?
Это могло быть вызвано поврежденным vlc
конфигурация.
Для первого теста, попробуйте
vlc --ignore-config
, Вы могли переехать или удалить каталог конфигурации:
mv -i ~/.config/vlc ~/dot-config-vlc-old
или просто сброс конфигурация с:
vlc --reset-config
Хорошо в конце я закончил тем, что удалил весь libavcodec*, и libavutil* пакеты (этот сервер был обновлен многократно так, казалось, имел некоторые старые).
я тогда использовал это руководство для создания libfdk-aac/ffmpeg/vlc http://ubuntuforums.org/showthread.php?t=2141949
Однако, моя команда не работает над vlc ведущим устройством или 2,2 ответвлениями - никакой .ts файл не записан. Таким образом, я использовал 2,1 ответвления от vlc мерзавца.