
Ubuntu日本語フォーラム

ログインしていません。
Raspberry PI にUbuntu MATE 16.04をインストールして使っています。
動画再生をすると音声より映像のほうが早く進んでしまいます。
映像の中の人物の口の動きと声が合わない状況です。他のSDカードにRaspbianもインストールして使っていますが
そちらは正常に動きます。
どうすれば直せるのでしょうか?
オフライン
解決策は分かりませんが:
動画再生ソフトは何をお使いですか?
音声の出力デバイス(pulse audio? alsa?)はどうなっていますか?
これらが分かれば詳しい方から解答が付くかも。
なお、私は omxplayer を default の設定で使って HDMI ディスプレイのオーディオ出力から音を出していますが、音ズレは起こしていないように感じられます。
(ズレているのかもしれませんが私には知覚できていません。)
オフライン
動画再生ソフトですが、VLCメディアプレーヤーを使っています。また、「ビデオ」アプリも使っています。どちらのアプリを使っても同じように映像と音声がずれてしまいます。
ハードウェアはBCM2835 ALSAというものです。
しかし、スピーカのテストボタンをクリックし、テストをすると音飛びを起こしたりと調子が悪いです。
なぜでしょうか
オフライン
kushi3835 による投稿:
スピーカのテストボタンをクリックし、テストをすると音飛びを起こしたりと調子が悪いです。
これはスクリーン左上のメニューから システム―設定―ハードウェア―サウンド と辿ってハードウェアタブの右下:スピーカーのテストでボタンをクリックした時にfront left, front right と出力されるものですか?私はこのボタンが押された時に API レベルで何が実行されるか存じませんが、いずれにせよ、ここで音飛びするなら問題の原因は動画再生とは無関係なのかもしれません。
これを確かめるため、端末を開いて以下の4項目について実行結果を教えて下さい。
(1) uname -a の結果
(2) aplay -L の結果
(3)
aplay -D default /usr/share/sounds/alsa/Front_Left.wav
aplay -D default /usr/share/sounds/alsa/Front_Right.wav
で音飛びしますか?もし1分程度より長い wav ファイルが有るなら上記コマンドのファイル名をそのファイルに置き換えて実行して確かめたほうがはっきりします。
(4) -D default を -D plughw に替えて、つまり、
aplay -D plughw /usr/share/sounds/alsa/Front_Left.wav
aplay -D plughw /usr/share/sounds/alsa/Front_Right.wav
を(もしあればより長い wave file に対して)実行した場合、音飛びの状況は変わりますか?なお、device or resource busy というエラーメッセージで終了した場合は、他にサウンド出力しているプロセスがないことを確かめて上で 2, 3秒の間隔を空けて何度か、ファイルが再生されるまで、再試行して下さい。
オフライン
uname -aの実行結果:
Linux pi-desktop 4.4.38-v7+ #938 SMP Thu Dec 15 15:22:21 GMT 2016 armv7l armv7l armv7l GNU/Linux
ちなみにpi-desktopとはユーザ名です。
aplay -Lの結果:
default
Playback/recording through the PulseAudio sound server
null
Discard all samples (playback) or generate zero samples (capture)
pulse
PulseAudio Sound Server
sysdefault:CARD=ALSA
bcm2835 ALSA, bcm2835 ALSA
Default Audio Device
dmix:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Direct sample mixing device
dmix:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Direct sample mixing device
dsnoop:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Direct sample snooping device
dsnoop:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Direct sample snooping device
hw:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Direct hardware device without any conversions
hw:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Direct hardware device without any conversions
plughw:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Hardware device with all software conversions
plughw:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Hardware device with all software conversions
↓このコマンドでは音飛びしました。
aplay -D default /usr/share/sounds/alsa/Front_Left.wav
aplay -D default /usr/share/sounds/alsa/Front_Right.wav
↓こちらは音飛びしませんでした。
aplay -D plughw /usr/share/sounds/alsa/Front_Left.wav
aplay -D plughw /usr/share/sounds/alsa/Front_Right.wav
以上が結果です。
オフライン
お使いの firmware と kernel がだいぶ古いのが気になります。
私の環境 (4.14.93-v7+) では default の pulse 経由でも plughw でも音は飛びません。ただ、kernel の version を上げると他の不都合が出る場合もあります(私の場合、なぜか時々、dbus や NetworkManager が起動されなくなってしまいまれに GUI が立ち上がらず CLI ログインとなってしまいます)。他方、 kernel の security hole が開いたままなのは使い方に依っては音飛びよりもはるかに深刻な問題となりえます。
kernel を version up するかどうかはこういったことを総合的に考えて決める必要がります。
今の kernel/firmware のままで済ませる、あるいは kernel を version up しても改善されないなら application 毎に audio 出力を明示的に ALSA/plughw に設定して音が改善されるか試すということになると思います。
私は vlc は先程 install したばかりでよく分かっていないのですが、
ツール―設定からオーディオタブをクリックして出力モジュールを「ALSAオーディオ出力」に、デバイス(これは出力モジュールが「ALSAオーディオ出力」でないと表示されません)を、基板上のイヤホン出力なら
bcm2835 ALSA, bcm2835 ALSA Hardware device with all software conversions
HDMIディスプレイなら
bcm2835 ALSA, bcm2835 IEC958/HDMI Hardware device with all software conversions
にしてウィンドー右下の保存をクリック
で設定されるはずです。
もしこれで改善しなければ申し訳ありませんが私には解決策は分かりません。
オフライン
それを試しても直らなかったのですが、新しく判ったことがあります。
・オーディオデバイスとしてPulseAudioを設定しても、ずれは解消されない。
・動画だけではなく、音楽CD再生でも起きる。
この2つのことが判りました。
オフライン
解決いたしました。
解決方法はかなりシンプルで
sudo rpi-updateで
カーネルをアップデートすることで解決できました。
旧カーネル
4.4.38-v7+ #938 SMP Thu Dec 15 15:22:21 GMT 2016 armv7l armv7l armv7l GNU/Linux
新カーネル
4.19.27-v7+ #1206 SMP Wed Mar 6 14:40:18 GMT 2019 armv7l armv7l armv7l GNU/Linux
どうもありがとうございました。
オフライン