web-dev-qa-db-ja.com

vlcを使用したUbuntu 14.04でのaacへのトランスコード

VLCでdvbストリームをストリーミングしようとしていますが、オーディオを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}'

このコマンドは、HLSを介してDVBアダプターをストリーミングし、クライアントで受け入れられる形式に変換します。このコマンドは機能しますが、エンコーダーがないため音声のないtsファイルが生成されます。エンコーダーを「mp3」に変更すると、MP3オーディオのファイルを取得できますが、明らかに必要なものではありません。

2
foxy82

実際、いくつかのコーデックが欠落している可能性があります。これらは、ubuntuのいくつかの追加パッケージに分離されているためです。

パッケージには2つの競合するバリアントがあり、1つは名前に-extraです。

また、パッケージをインストールするとパッケージ管理が台無しになる可能性があるという報告があります。少なくとも数回は手動で競合を解決する必要がありました。

libavcodec54libavutil52またはlibavcodec-extralibavutil-extra-52のいずれかが必要です。
(私は自分でこれらのパッケージを使用していないと思いますが、かなり前にそれらをインストールし、名前に-extraを含まないバージョンになりました。スムーズに動作します)

Sudo apt-get install libavcodec54 libavutil52

それでも解決しない場合は、アンインストールしてからもう一方を試してください。

Sudo apt-get install libavcodec-extra libavutil-extra-52

(質問する前に:パッケージングと依存関係の混乱の理由は、ライセンスの問題だけでなく、プロジェクト間政治などの重要な要素があったことを漠然と覚えています。)

2
Volker Siegel

症状が質問と似ているが、コーデックの詳細が異なるように見える場合、vlcの設定が台無しになっている可能性があります。

できることは次のとおりです。

私には、それはエンコーダに関するエラーが他のエラーに続いているように見えます-なぜあなたはそれをエンコーダだと思うのですか?

壊れたvlc構成が原因である可能性があります。

最初のテストでは、試してください

vlc --ignore-config

構成ディレクトリを移動または削除できます。

mv -i ~/.config/vlc ~/dot-config-vlc-old

または、次のコマンドで構成をリセットします。

vlc --reset-config
0
Volker Siegel

最後に、すべてのlibavcodec *およびlibavutil *パッケージを削除することになりました(このサーバーは複数回アップグレードされているため、古いものがあるようです)。

次に、このガイドを使用してlibfdk-aac/ffmpeg/vlcをビルドしました http://ubuntuforums.org/showthread.php?t=2141949

しかし、私のコマンドはvlcマスターまたは2.2ブランチでは機能しません-.tsファイルは書き込まれません。したがって、vlc gitの2.1ブランチを使用しました。

0
foxy82