使ってみたけど、意味が分からん。
PCブラウザ、ブラウザエクステンション、PCアプリ、スマホアプリ、マイナンバーカードを強制的に使わされながら、やっとたどり着いたページに内容というか、意味がない。
👉 「マイナポータル」をApp Storeで
👉 マイナポータル - Google Play のアプリ
👉 マイナポータルAP - Chrome ウェブストア
めんどくさいだけ。
システム作成に税金をいくら使ったのですか。
根本的に問題あるんだろうと思います。
使ってみたけど、意味が分からん。
PCブラウザ、ブラウザエクステンション、PCアプリ、スマホアプリ、マイナンバーカードを強制的に使わされながら、やっとたどり着いたページに内容というか、意味がない。
👉 「マイナポータル」をApp Storeで
👉 マイナポータル - Google Play のアプリ
👉 マイナポータルAP - Chrome ウェブストア
めんどくさいだけ。
システム作成に税金をいくら使ったのですか。
根本的に問題あるんだろうと思います。
Android Studio Electric Eel に更新しました。
KMM プロジェクトテンプレートが消えてます。
以前は、以下のようにありました。
たまらず、kdoctor。
❯ kdoctor
[✓] Operation System
[✓] Java
[✓] Android Studio
[✓] Xcode
[✓] Cocoapods
Conclusion:
✓ Your system is ready for Kotlin Multiplatform Mobile Development!
いけてます。
あれ、どうだったけか。
プラグインが更新時に消えてますね。
JetBrains Marketplace のサイトから Android Studio にプラグインをインストールしてるがどうかを確認できます。
ブラウザ上で右上のボタンからです。
👉 Kotlin Multiplatform Mobile - Android Studio Plugin | Marketplace
または、Android Studio 内、設定のプラグイン画面からインストールします。
インストール後は、Android Studio を再起動すると、KMMテンプレートも表示されるようになります。
しかし、ビルドできません。
JDK 11 を再度設定するといけました。
しかし、iOS側がコケる。
ERROR: JAVA_HOME is set to an invalid directory: /Users/jim/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9014738/Android Studio.app/Contents/jre/Contents/Home
Dolphin の embed JDK のパスが残ってます。
👉 Android Studio Releases List | IntelliJ Platform Plugin SDK
ここか。
Xcode Settings - Location - Custom Paths
JetBrains IDE製品には、JetBrains Runtime(JBR)と呼ばれるIDE自体の実行に使用されるJava実行環境が同梱されています。これは皆さんが書くコードのコンパイルや実行に使用するためのJDKとは(本来)別のものです。https://t.co/DCSAxaK1KA #android #kmm #androidstudio #プログラミング
— chanzmao (@maochanz) January 18, 2023
「縦長で60秒以内」だけで、アップロードして公開できますが、YouTube の推奨する「アスペクト比 9:16」で見やすい画面で公開したいですよね。
ffmpeg で「動画ファイルのアスペクト比の変更」をやってみます。
動画に写ってる映像のアスペクト比はそのままで保持します。
「余白の追加 (pad)」と「切り抜き (crop) 」することで動画ファイルのアスペクト比を 9:16 にする、という話です。
少しやってみたので書いてみます。
以下は、参考になるエントリーです。
👉 Resizing videos with ffmpeg/avconv to fit into static sized player - Super User
👉 video - FFmpeg - scale and pad - Super User
👉 リサイズする scale | ニコラボ
出来上がりのアスペクト比は、9:16 です。
元動画が縦長であれば、
以下のどちらか。
横長であれば、
以下のどちらか。
というかんじで、
「余白の追加 (pad)」や「切り抜き (crop) 」
をします。
分かりやすくするために、「縦長」、「横長」といいましたが、実際は、元動画のアスペクト比が「9:16」を超えるか超えないか、が大事になります。
元動画アスペクト比が 9:16 より縦長の場合
ffmpeg -i input -vf "pad=ih*9/16:ih:-1:-1" output
ffmpeg -i input -vf "crop=iw:iw/(9/16)" output
元動画アスペクト比が 9:16 より横長の場合
ffmpeg -i input -vf "pad=iw:iw/(9/16):-1:-1" output
ffmpeg -i input -vf "crop=ih*9/16:ih" output
pad / crop 共に、中心に合わせています。
元画像のアスペクト比は ffmpeg は認識できるので、そこを判別させます。
pad するか、crop するかは、動画内容の目視判断で。
ffmpeg \
-i input \
-vf "pad='if(lt(iw/ih,9/16),ih*9/16,iw)':'if(lt(iw/ih,9/16),ih,iw/(9/16))':-1:-1" \
output
ffmpeg \
-i input \
-vf "crop='if(lt(iw/ih,9/16),iw,ih*9/16)':'if(lt(iw/ih,9/16),iw/(9/16),ih)'" \
output
もし、画像が大きすぎる場合は,",scale=720:1280"
など追加して、アスペクト比を保持しながら縮小します。
最初のリンクにあるコードでも意図する 9:16 動画 は作成できたのですが、気持ちが悪いので基本的なとこだけ調べてみました。
video filter を以下の形にまとめておけば、出来上がりの width x height を考慮したスクリプトが自在に書けそうです。
-vf "pad='max(iw,ih*(720/1280))':ow/(720/1280):-1:-1,scale=720:1280"
-vf "crop='min(iw,ih*(720/1280))':ow/(720/1280),scale=720:1280"
今後も、公式マニュアルを見ながら、あれこれやってみたいと思います。
👉 pad - Video Filters - FFmpeg Filters Documentation
👉 crop - Video Filters - FFmpeg Filters Documentation
👉 scale - Video Filters - FFmpeg Filters Documentation
👉 Expression Evaluation - FFmpeg Utilities Documentation