(Translated by https://www.hiragana.jp/)
GitHub - tsukumijima/LED-Movie-Player: 動画・音声を読み込んで LED マトリクスパネル上で再生させるラズパイ用ソフト
Skip to content

動画どうが音声おんせいんで LED マトリクスパネルじょう再生さいせいさせるラズパイようソフト

License

Notifications You must be signed in to change notification settings

tsukumijima/LED-Movie-Player

Repository files navigation

LED-Movie-Player

動画どうが音声おんせいんで LED マトリクスパネルじょう再生さいせいさせるラズパイようソフト
https://qiita.com/cstoku/items/eb17d111225d3e35ec61記事きじじょうのコードより改造かいぞう)です。

必要ひつようなものや配線はいせんとうこちら記事きじ参考さんこうにしてください。

どうこりぶつ

  • led-movie-player … Raspberry Pi 3 B+ うえでビルドした実行じっこうファイル
    • 基本きほんてきに Linux では実行じっこうファイルに拡張子かくちょうしきません
    • Raspberry Pi 3 B+ にてビルドしています
      • 機種きしゅではうごかないかもしれません・ビルドすること推奨すいしょうします(後述こうじゅつ
  • led-movie-player.cc … ソース( C++ )ファイル
    • 表示ひょうじ再生さいせい部分ぶぶんのコードを前述ぜんじゅつ記事きじよりおりしています
  • led-movie-convert … YouTube とう動画どうがやラズパイじょう動画どうが変換へんかんして LED-Movie-Player で再生さいせい出来でき形式けいしきにするソフト
    • 中身なかみはバッチファイルです(後述こうじゅつ
  • Makefile … ビルド手順てじゅんとう記述きじゅつしたスクリプトファイル
  • README.md … このファイル
  • sample/ … LEDでながせるサイズにエンコードしたサンプルの mp4 と mp3 をれてあります
    • 再生さいせいさせる場合ばあい一式いっしき /home/pi/movieplayer/ にコピーしてください
  • matrix/ … rpi-rgb-lex-matrix を submodule として使つかっています

ビルド手順てじゅん

一応いちおうビルドみのファイルもどうこりしていますが、出来できるだけビルドすることを推奨すいしょうします

  1. あらかじ必要ひつようなパッケージ(ライブラリ)をインストールしておきましょう
    • sudo apt update -y && sudo apt upgrade -y
    • sudo apt install -y python3 python3-pip ffmpeg gcc g++ make libopencv-dev libsdl1.2-dev libsdl2-dev libsdl-mixer1.2-dev libsdl2-mixer-dev
    • sudo pip3 install youtube-dl
  2. led-movie-player ディレクトリに移動いどうしたあと、
    • git submodule init
    • git submodule update
    • 実行じっこうすると submodule がダウンロードされるので、正常せいじょうにビルドできるようになるはずです。
  3. make でビルドします
    • make
    • ビルドに失敗しっぱいする場合ばあい、ライブラリがうまくインストール出来できていない可能かのうせいがあります
  4. make install でパスのとおった場所ばしょにインストールします
    • sudo make install
    • ちゃんと sudo をつけましょう
  5. その、デフォルトではラズパイの bcm2835 サウンドカードを無効むこうする必要ひつようがあります(ハードウェアパルスの生成せいせい必要ひつようなため)
    • そのため、別途べっと USB サウンドカードを購入こうにゅうし、USB サウンドカードで再生さいせいできる(ラズパイ内蔵ないぞうサウンドカードを使つかわない)状態じょうたいにする必要ひつようがあります
    • ハードウェアパルスを生成せいせいせずソフトウェアパルスで再生さいせいすること可能かのうですが、ちらつきが発生はっせいするため推奨すいしょうです
      • ハードウェアパルスを無効むこうして再生さいせいさせたい場合ばあいは、led-movie-player.cc ちゅうの options.disable_hardware_pulsing = false; を options.disable_hardware_pulsing = true; にえ、もう一度いちどビルドしてください
    • 詳細しょうさい手順てじゅんこちら項目こうもく記載きさいしてあります、参考さんこうにしてください

使つかかた

  1. 動画どうが最大さいだい 192 × 108 までにリサイズした .mp4 形式けいしき音声おんせいはサンプリングレート 44100kHzきろへるつ にした .mp3 形式けいしきにし、おなじファイルめいで /home/pi/movieplayer/ に保存ほぞんします
    • LED-Movie-Convert を使つかうと、動画どうが音声おんせい変換へんかん自動じどうできます
    • /home/pi/movieplayer/ 以外いがいくことも可能かのうですが、その場合ばあいは led-movie-player.cc ソースない記述きじゅつ変更へんこうしてください
  2. sudo led-movie-player "[ 拡張子かくちょうしなしファイルめい ]" と入力にゅうりょくして実行じっこうすると、再生さいせいできます
    • 拡張子かくちょうしなしファイルめいは、あらかじめ /home/pi/movieplayer/ にいてあるファイルのものにしてください
      • たとえば /home/pi/movieplayer/ に example.mp4 と example.mp3 をいた場合ばあい、[ 拡張子かくちょうしなしファイルめい ] には "example" をれます
      • ファイルめいにスペースがふくまれる場合ばあいは、"example video" のようにかならず "" でかこうようにしてください
    • sudo をつけないとエラーになります、かならず sudo をつけて root で実行じっこうしてください
    • 最後さいごのコマンド以外いがいはデフォルトで 64 × 64 パネルを 2 直列ちょくれつ接続せつぞくしていること想定そうていして再生さいせいします
      • 解像度かいぞうどことなるパネルの場合ばあいは、led-movie-player.cc ソースない記述きじゅつ( 155 ぎょうあたり)を変更へんこうしてください
    • sudo led-movie-player "[ 拡張子かくちょうしなしファイルめい ]" 0 と入力にゅうりょくして実行じっこうすると、無限むげんループで再生さいせいします
    • sudo led-movie-player "[ 拡張子かくちょうしなしファイルめい ]" [ ループ回数かいすう ] と入力にゅうりょくして実行じっこうすると、引数ひきすう記載きさいされた回数かいすうだけ有限ゆうげんループで再生さいせいします
    • sudo led-movie-player "[ 拡張子かくちょうしなしファイルめい ]" [ ループ回数かいすう ] [ LED パネルのたてはば ] [ LED パネルのよこはば ] [ LED パネルの直列ちょくれつ接続せつぞくすう ] [ LED パネルの並列へいれつ接続せつぞくすう ] と入力にゅうりょくして実行じっこうすると、引数ひきすう記載きさいされたパラメータで再生さいせい実行じっこうします
  3. Ctrl+C をすと中断ちゅうだんできます

使用しようれい

  • 基本きほん:sudo led-movie-player "example"
  • 無限むげんループ:sudo led-movie-player "example" 0
  • 有限ゆうげんループ:sudo led-movie-player "example" 15
  • 引数ひきすうすべ指定してい:sudo led-movie-player "example" 1 64 64 2 1

注意ちゅうい

  • 64 × 64 のパネルを 2 直列ちょくれつにつないだ LED パネルを想定そうていしています
    • 解像度かいぞうどのパネルではうごかないかもしれません
  • 動作どうさ確認かくにんは Raspberry Pi 3 B+ うえの Raspbian でおこなっています
    • もしかすると、のラズパイではそのままのコードではうごかない、ということがあるかもしれません
  • コマンドラインから実行じっこうします( GUI はありません)
    • ラズパイ自体じたい非力ひりきなため、GUI があるとかえって描画びょうがおもくなります
  • ろくに検証けんしょうもしていない自分じぶんようソフトです ほか環境かんきょううごくかはかなり微妙びみょう
  • ソースに変更へんこうくわえた場合ばあい当然とうぜんですが再度さいどビルドしないと変更へんこう反映はんえいされません
  • たまに Ctrl+C をしても動画どうがながつづける場合ばあいがあります(プロセスがうらうごきっぱなしになる)
    • その場合ばあいは、ps aux | grep "led-movie-player.*" | grep -v grep | awk '{ print "sudo kill -9", $2 }' | sh実行じっこうすると LED-Movie-Player を強制きょうせい終了しゅうりょうできます

動画どうが音声おんせいのエンコード

前述ぜんじゅつとおり、LED パネルで再生さいせいさせる動画どうが音声おんせいは、あらかじめ LED-Movie-Player で再生さいせいできる形式けいしき変換へんかんする必要ひつようがあります。

  • 動画どうが
    • .mp4 形式けいしき
    • 最大さいだいでも 192 × 108 にリサイズする
      • 720p とかの動画どうがをそのままむとおもすぎてスロー再生さいせい状態じょうたいになります
      • 160 × 90 のほうおとズレしません
        • 192 × 108 はギリギリです
    • 音声おんせいは mp3 から再生さいせいするのであってもなくても
  • 音声おんせい
    • .mp3 形式けいしき
    • ビットレートを128kbpsにする
      • 192kbps とかでもいけるかもしれませんが一応いちおう
    • サンプルレートをかならず44100kHzきろへるつにする
      • 48000kHzきろへるつ だとおとがバグる…

LED-Movie-Convert を利用りようして、YouTube とう動画どうがやラズパイじょうにある動画どうが自動じどう変換へんかんさせることができます。
出来できるだけこちらを利用りようすることをおすすめします(後述こうじゅつ

手動しゅどうでエンコードする場合ばあい、ffmpeg であらかじ変換へんかんしておきましょう( Windows でもうごくので、PC でエンコードしてラズパイにうつすのもありです)

動画どうがのエンコードコマンドれい: ffmpeg -i "Movie.mp4" -vf scale=192:108 "Movie-led.mp4"
音声おんせいのエンコードコマンドれい: ffmpeg -i "Movie.mp3" -vn -af dynaudnorm -ac 2 -ar 44100 -ab 128k "Movie-led.mp3"

変換へんかんわったら、変換へんかんのファイルをラズパイの /home/pi/movieplayer/ 以下いかにコピーしてください。
前述ぜんじゅつとおり、led-movie-player.cc ソースない記述きじゅつ変更へんこうし、フォルダを変更へんこうすることも可能かのうです

LED-Movie-Convert

注意ちゅうい

  • バッチファイルです (パスのとおった場所ばしょけばコマンド同様どうよう実行じっこうできます)
  • sudo make installするさいについででパスのとおった場所ばしょにインストールされます
  • ラズパイのスペックがひく関係かんけいでエンコードに時間じかんがかかります、気長きながちましょう
  • エンコードちゅう負荷ふか非常ひじょうたかくなるので、エンコードちゅうに LED-Movie-Player で再生さいせいさせようとするとスロー再生さいせいになってしまうことがあります
    • (ラズパイの性能せいのうひくいため LED パネルへの表示ひょうじ処理しょり実際じっさい再生さいせいスピードにかない)

使つかかた

  • だいいち引数ひきすう… ソースもと指定していします ( URL or ファイルパス)
  • だい引数ひきすう… ソースの種類しゅるい選択せんたくします ( URL からダウンロードするなら download 、ファイルパスからなら file )
  • だいさん引数ひきすう… ファイルめい設定せっていします (ファイルめい動画どうがめい or ファイルめいからるなら auto 、それ以外いがいなら拡張子かくちょうしなしのファイルめいれる)
  • だいよん引数ひきすういろどりとコントラストをげるかどうか(げるなら true・げないなら false )
    • アニメなど、いろどり・コントラストのひく動画どうがげたほうがより鮮明せんめいに、より綺麗きれい再生さいせいできます
  • だい引数ひきすう(オプション)… 動画どうがよこはば指定していれい: 160 )
  • だいろく引数ひきすう(オプション)… 動画どうがたかさを指定していれい: 90 )

使用しようれい

謝辞しゃじ

改造かいぞうもと記事きじhttps://qiita.com/cstoku/items/eb17d111225d3e35ec61 )の著者ちょしゃの cstoku さん、素晴すばらしいコードを本当ほんとうにありがとうございます…
わたしだけではまずけないコードでした・表示ひょうじ処理しょりはほぼそのままです)

License

MIT Licence

About

動画どうが音声おんせいんで LED マトリクスパネルじょう再生さいせいさせるラズパイようソフト

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published