J'essaie de diffuser un flux DVB dans VLC, mais en transcodant l'audio au format AAC, mais il ne parvient pas à trouver l'encodeur. Comment puis-je l'installer?
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 !!!
Modifier pour ajouter la commande que j'exécute
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}'
La commande consiste à diffuser un adaptateur DVB sur HLS en le transcodant dans un format accepté par le client. La commande fonctionne mais produira des fichiers ts sans audio en raison de l'encodeur manquant. Si je sélectionne l'encodeur sur "mp3", je reçois un fichier avec de l'audio MP3, mais évidemment pas ce que je veux.
Il se peut que certains codecs vous manquent, car ils sont séparés par des paquets supplémentaires dans Ubuntu.
Il existe deux variantes en conflit des packages, une avec -extra
dans le nom.
En outre, il est signalé que l'installation des packages peut perturber la gestion des packages; Au moins, j'ai dû résoudre des conflits manuellement plusieurs fois.
Vous avez besoin de libavcodec54
et libavutil52
ou libavcodec-extra
et libavutil-extra-52
:
(Je pense ne pas utiliser ces paquetages moi-même, mais je les ai installés il y a longtemps et j'ai fini avec la version sans le -extra
dans le nom. Je me souviens que c'était délicat, alors ne vous attendez pas à les installer fonctionne simplement bien)
Sudo apt-get install libavcodec54 libavutil52
Si cela ne vous aide pas, désinstallez-le et essayez l'autre.
Sudo apt-get install libavcodec-extra libavutil-extra-52
(Avant de vous demander: je me souviens vaguement que le désordre lié à l’emballage et à la dépendance n’est pas uniquement dû à des problèmes de licence, mais qu’il comportait un élément important, par exemple, de la politique entre projets.)
Si les symptômes ressemblent à la question, mais que les détails avec le codec semblent être différents, il peut s'agir d'une configuration confuse de vlc
- cela semble arriver parfois.
Voici ce que vous pouvez faire:
Pour moi, cela ressemble à l'erreur concernant le codeur, elle est due à d'autres erreurs - pourquoi pensez-vous que le problème réside dans le codeur?
Cela pourrait être dû à une configuration vlc
cassée.
Pour un premier test, essayez
vlc --ignore-config
Vous pouvez déplacer ou supprimer le répertoire de configuration:
mv -i ~/.config/vlc ~/dot-config-vlc-old
ou simplement réinitialiser la configuration avec:
vlc --reset-config
Ok, à la fin, j'ai fini par supprimer tous les paquets libavcodec * et libavutil * (ce serveur a été mis à niveau plusieurs fois et semblait donc en avoir d'anciens).
J'ai ensuite utilisé ce guide pour construire libfdk-aac/ffmpeg/vlc http://ubuntuforums.org/showthread.php?t=2141949
Cependant, ma commande ne fonctionne pas sur vlc master ou sur les branches 2.2 - aucun fichier .ts n’est écrit. J'ai donc utilisé la branche 2.1 de vlc git.