Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Okayama.なんか #5 : Okayama.Process

Okayama.なんか #5 : Okayama.Process

2025年6月1日に開催されたOkayama.なんか #5 : Okayama.Processで登壇した資料。
「大型イベントの大量セッション動画編集をエクシェル芸で効率化、爆速公開した話」

Avatar for Takeshi FURUSATO

Takeshi FURUSATO

June 01, 2025
Tweet

More Decks by Takeshi FURUSATO

Other Decks in Technology

Transcript

  1. 株式会社DIGITALJET プログラマー AWS Samurai 2022 JAWS-UG Okayama コアメンバー JP_Stripes Okayama

    コアメンバー Okayama WordPress Meetup オーガナイザー SORACOM UG Okayama コアメンバー 自称めんツナかんかんエバンジェリスト 古里 武士 Takeshi Furusato #okanan
  2. 本日のゴール ここでのエクシェル芸とは、 、 、 「Excel(スプレッドシート) ✕ Shell生成芸」 ですw Excel(スプレッドシート) のセル参照を使って、Shellコマ

    ンドを生成して作業の効率化をしてみましょうー。 ※ちなみに逸般的な「エクシェル芸」とはExcelファイルをShellコマンドでゴリゴリに改 変・加工する芸のことを指し、本件とは異なる場合があります。ご注意ください。 #okanan
  3. ▪JAWS FESTA 2025 in Kanazawa 日時:2025/10/11(土) 10:00- ?? https://jawsfesta2025.jaws-ug.jp/ まだ非公開ですけど、

    、 、 ▪JAWS-UG Okayama 2025 日時:2025/08/30(土) 13:00-17:00 場所:ここ!(倉敷物語館 2F 会議室) 【宣伝】JAWS-UG イベント #okanan
  4. JAWS DAYS 2021、2022 コロナ禍、対面イベントができないなか、フルオンライン で開催 4トラックのオンラインセッションをリアルタイム配信 ※OBS+Amazon IVS+AWS Elemental MediaLive

    ※StreamYard+Amazon IVS 1つのコミュニケーションスペースによる企画 1つのハンズオントラック https://jawsdays2021.jaws-ug.jp https://jawsdays2022.jaws-ug.jp #okanan
  5. JAWS PANKRATION 24 時間オンライングローバルイベント JAWS-UG 支 部 だ け で

    な く 、 世 界 中 の AWS HERO 、 AWS Community Builder、AWS User Group Leader、その他 AWS タイトルホルダーに、AWS 内の方を招待して、各国の AWS に関 するカルチャーや AWS に関するテクニカルトークなど様々なセッ ションを開催 ※OBS+Amazon IVS+AWS Elemental MediaLive https://jawspankration2021.jaws-ug.jp https://jawspankration2024.jaws-ug.jp #okanan
  6. 各セッションの開始時刻・終了時刻を入れたらOK 長さセル: =H4-G4 コマンドセル: ="ffmpeg -ss "&TEXT(G4,"HH:mm:ss")&" -t "& TEXT(I4,"HH:mm:ss")

    &" -i "&$C$1&" -c copy "&F4 誰でも編集ができるように #okanan ffmpeg -ss 00:32:16 -t 00:19:26 -i ../tracka.mp4 -c copy A00.mp4
  7. JAWS DAYS 2024の録画構成 #okanan 映像: 1). 背景画像を用意 2). 左下はa)後方カメラ 3).

    中央はb)スクリーン映像 音声: b)スクリーン映像の音声 ※マイク(登壇者)音声
  8. とりあえず。 。 。 #okanan TODO: DaVinci Resolveの いい感じの画像をいれる。 どうやって編集する??? →動画編集ソフト(DaVinci

    Resolve)で切って合成する? 他の動画編集得意そうな実行委員にお願いしようとしたら 「44本かー、とりあえず編集完了は、夏頃っすねー」 😱😱😱😱😱😱😱😱😱😱😱😱😱😱😱😱
  9. ①a)後方カメラの映像を切り出し、音声は削除 ②b).スクリーン映像を切り出し ③背景と上記①②を合成、上記①と②はサイズを調整 ④ついでにイントロ動画をつける みんな大好きffmepg #okanan ffmpeg -ss [開始時刻] -t

    [抽出時間] -i [入力ファイル] -vcodec copy -an [出力ファイル] ffmpeg -ss [開始時刻] -t [抽出時間] -i [入力ファイル] -vcodec copy -acodec copy [出力ファイル] ffmpeg -i [背景画像] -i [上記①動画ファイル] -i [上記②動画ファイル] -filter_complex " [1]scale=-1:270[ov1];[2]scale=1300:726[ov2];[0][ov1]overlay=45:632[bg1];[bg1] [ov2]overlay=574:176" -acodec copy -r 30 [出力ファイル] ffmpeg -f concat -i ./join_intro.txt -vcodec copy -acodec copy [出力ファイル]
  10. 背景と合成、サイズを調整 ffmpeg -i ./background-image.png -i ./work/sp.mp4 -i ./work/sc.mp4 -filter_complex "[1]scale=-1:270[ov1];

    [2]scale=1300:726[ov2];[0][ov1]overlay=45:632[bg1];[bg1][ov2]overlay=574:176" -acodec copy -r 30 ./work/main.mp4 #okanan -i ./background-image.png:入力0:背景画像 -i ./work/sp.mp4:入力1:登壇者映像(後方カメラ) -i ./work/sc.mp4:入力2:スライド映像 -filter_complex:後述 -acodec copy :音声も再エンコードせずコピー -r 30:フレームレートを30fpsに設定 出力ファイル:./work/main.mp4に保存
  11. 背景と合成、サイズを調整 -filter_complex " [1]scale=-1:270[ov1]; [2]scale=1300:726[ov2]; [0][ov1]overlay=45:632[bg1]; [bg1][ov2]overlay=574:176" #okanan 入力1(sp.mp4)を 高さ270px

    にスケーリング、幅はアスペクト比維持→[ov1] 入力2(sc.mp4)を 幅1300、高さ726 に強制スケーリング→[ov2] 入力0(背景画像)に、[ov1]を座標(x=45, y=632)に重ねる→[bg1] [bg1] の上に、[ov2]を 座標(x=574, y=176) に重ねる
  12. 文字列操作関数 TEXT(value, format_text) =TEXT(A1, "yyyy-mm-dd") 数値や日付を指定した形式の文字列に変換 CHAR(number) 指定したUnicode番号に対応する文字を返す、CHAR(10) は改行 MID(text,

    start, length) 指定位置から文字列を切り出し LOWER(text) / UPPER(text) / PROPER(text) 小文字/大文字/単語の頭だけ大文字に変換 補足 #okanan
  13. 例えば。 。 。 。 メールやチャットメッセージのテンプレート生成 件名: ="【最重要】"& A2 & "の作業完了"

    本文: ="本日、" & A2 & "の作業が完了しました。" & CHAR(10) & "ご確認くだ さい。" URLやリンクの一括生成(動的なパラメータ付きURLを生成) ="https://example.com/view?id=" & A2 データ整形・変換(SQL生成とか) ="INSERT INTO users (id, name) VALUES (" & A2 & ", '" & B2 & "');" 翻訳・ローカライズ(英語・日本語のペアを生成) =GOOGLETRANSLATE(A2, "ja", "en") 補足 #okanan