Skip to content

Posts

ffmpegで複数言語の字幕を埋め込む

movie.mp4に日本語字幕jpn.vttと英語字幕eng.vttを埋め込んだout.mp4を作成するコマンド。

ffmpeg -i 'movie.mp4' -i 'jpn.vtt' -i 'eng.vtt' \
-map 0:v -map 0:a -map 1 -map 2 \
-c:v copy -c:a copy -c:s mov_text \
-metadata:s:s:0 language=jpn \
-metadata:s:s:1 language=eng \
out.mp4

SAM入門

SAM使ったらいい感じにLambdaできそうなので、やってみる。

Installing the AWS SAM CLI - AWS Serverless Application Model からインストーラーをダウンロードして、インストール。

VS Codeのターミナルからsamが実行できない(コマンドプロンプトからだとできる)。

いきなり躓いてやる気が。。

とりあえず、Windows版をアンインストールして、WSL2でLinux版をインストール。

Read more

Lambdaのデプロイ

AWSにLambdaをデプロイする方法、いくつかあると思うのだけれど、最近の主流は何だろう。

デプロイにも2段階あると思って、0→1のLambda自体作成するときと、それ以降の更新と。

初回はCloudFormationとかTerraformとか?

SAM使ったら最初もそれ以降もまとめていける?CDKは??

うーん、面倒。。

Read more

GoとLambda

昨日、API GW+Lambdaの可能性について調べたとき、aws-lambda-go-api-proxy というものを見つけた。

awslabs/aws-lambda-go-api-proxy: lambda-go-api-proxy makes it easy to port APIs written with Go frameworks such as Gin (https://gin-gonic.github.io/gin/ ) to AWS Lambda and Amazon API Gateway.

良さそうだけど、PRが結構たまっているなーと思い、よく見てみると

Deprecation in favor of Lambda Web Adapter · Issue #143 · awslabs/aws-lambda-go-api-proxy

とのことで

awslabs/aws-lambda-web-adapter: Run web applications on AWS Lambda

の使用を勧められていた。

Read more

コンテナ動かす場所

APIコンテナ動かすのにどのインスタンスタイプが良いのか。

ECS+Fargateも良さそうだけど、動かしっぱなしの用途だとEC2とそんなに料金も変わらないかな。

App Runnerがゼロスケールできれば一番手間がなさそうだけど、最低1つは動いてるっぽい。

API GW+Lambdaだと、使わないときは料金抑えられそうだけど、構成が複雑になりそう(印象)。

Read more

profileリポジトリ

Managing your profile README - GitHub Docs

昔リポジトリ作って、反映されないじゃんって放置してた。

久しぶりに見てみたらShare to profileボタンがあって、押したら有効化された。 見落としていたのかなぁ。。

の2つを導入してみた。

Most Used Languagesを見て、Goが意外と低かった。もっと使おう。

Pythonで非同期処理

今の作りだと、翻訳や英語再生の間、待たされる気がするので、翻訳APIから先は非同期で実行できないか調べてみた。

asyncioをimportして、関数定義にasyncつけて、メイン処理はasyncio.runで呼び出し、非同期処理をawaitで呼び出せばいけるっぽい。

Read more