0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GitHub にスライドショーをつくらせた

Last updated at Posted at 2022-07-10

キャンペーンとのことで参加してみようと
https://qiita.com/official-campaigns/engineer-festa/2022

初めての Github Actions です。
「何ができるか」から始めます。
よろしくお願いします。

Github Actions でできること

検索して出てくるのは大別して下記2つかと

  1. 外部サービスの API をコールして何かさせる
  2. Github 内で何か処理をする

1. 外部 API 系

これはもう Github Actions がどうのというより、外部サービスがどうのの話と。
それと組み合わせて Github が便利になれば、それが求める結果ではありますが。

2. 内部処理系

Github Actions がどうのの話、
今回は Github Actions の学習のため、こちらで何かやってみようと思います。
どのようなフレームで考えればいいかですが、
ファイルの種類別に Action を考えるのが良いかと思いました。

ファイルの種類 考えられるAction バージョン管理
ソースコード テスト、ビルド、デプロイなど 有効
markdown H1見出しをページ区切りとして pptx をビルド、
SlideShare にデプロイ
有効
複数の画像 スライドショー動画作成 不要
動画 サムネイル画像抽出、コーデック変更 不要
雑多 zip、tar 作成 不要

後ほど反省することになりますが、
今回はこの中から複数の画像からスライドショー動画を作成させてみました。

画像からスライドショーを作らす

設定

学習用と割り切った狭い設定ですが、下記条件で動作する YAML を作成
・画像ファイル:[数字].jpg
・BGMファイル:bgm.mp3
・画像は5秒ごと、よってBGMはファイル数×5秒のものを用意する
・出力ファイル:out.mp4

create-slideshow.yml
name: create-slideshow
on: [push]
jobs:
  check-bats-version:
    runs-on: ubuntu-latest
    steps:
      - name: checkout
        uses: actions/checkout@v3
      - name: install
        run: sudo apt-get install ffmpeg
      - name: create
        run: ffmpeg -y -r 0.2 -i %d.jpg -i bgm.mp3 -vcodec libx264 -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -r 30 out.mp4
      - name: push
        run: |
          git config user.name github-actions
          git config user.email github-actions@github.com
          git add .
          git commit -m "generated"
          git push

結果

動画、できるにはできました。
ミュート解除で音も出るかと思います。
https://github.com/co-labo-hub/slideshow
(あれじゃん、と思ったあなた、子育てご苦労様です)

反省

やってる途中に気づいたのですが、
バージョン管理不要のものを Github にやらせるのは余計な手間がかかるだけだなと。
下記に再掲しますが、検討する表にバージョン管理列が必要だったなと。
よって、markdown から pptx は多少、意味があるのかもと。
(そもそもニーズがなさそうですが)

ファイルの種類 考えられるAction バージョン管理
ソースコード テスト、ビルド、デプロイなど 有効
markdown H1見出しをページ区切りとして pptx をビルド、
SlideShare にデプロイ
有効
複数の画像 スライドショー動画作成 不要
動画 サムネイル画像抽出、コーデック変更 不要
雑多 zip、tar 作成 不要

Github、もっと何かできそうだな、と感じさせられますが
具体的に何をやらせると便利なのか、意外と難しいなと思いました。
折を見てまた検討してみたいなと思います。

参考

参考にしたサイトです。ありがとうございます。

スライドショー作成方法
https://zenn.dev/tatsuyasusukida/articles/ffmpeg-image-audio

エラー"width not divisible by 2"の対処法
https://qiita.com/genchi-jin/items/90078b6ec751fdacbc9e

画像を拝借
https://www.pakutaso.com/category.html

BGMを拝借
https://dova-s.jp/bgm/play15804.html

スライドショーの構成
https://mitene.us/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?