VSCodeの環境設定などをちょこちょこブログに書いているのでここにリンクをまとめておく。
MacのPDFリーダー。デフォルトは目次のexpand時のツリービューのスクロールがおかしいので、 長いドキュメント(主にC++本)を読むのに辛いので他を物色。
編集とかの機能のせいで目的のメニューを探しづらいとかが嫌なので、出来たら注釈とかも無しでただ読むのに最適化したのが欲しい。
目次の項目の上をホバーさせるとpreviewが出てめちゃ邪魔なのが辛い。他はまぁ我慢出来なくも無いのだが。 あと課金の促しが結構邪魔。
目次のビューが無い。
今の所良さそうか。
gifでAppStoreで検索して一番上に出てきたPicGIF Liteはなんか凄い速いのしか作れなくて使い方が分からなかった。 その次にダウンロードしたGifskiは使い方も分かりやすくやりたい事が出来たのでこれで行く事にする。
仕事効率化!MacとWindows間のファイル共有テクニック 3 選
Sambaが最初から入っているっぽいな。
>いまいちだったのでMac側でsshdを有効にしてscpした。
システム環境設定>共有>リモートログイン
でチェックは全部はずした状態でリモートログインだけチェックしてscpする。
arp -a
が簡単だが十分。
Contents/Resources/Keyboardの下にxmlがある。
ClipboardActionTransformations.xml に追加してしまえば良いか? Command+Wをクローズにするのは出来たが、Command+TabをCtrl+TabにするのとCommand+QをWindows+Qにする方法がわからないな。ぐぬぬ。
定期実行はMacではlaunchdとlaunchctlというのを使う。
実行時にはpathなどが通ってないのでlaunchctl setenvというのを使う。
launchctl setenv PATH /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
launchctl setenv NODE_PATH /usr/local/lib/node_modules
iOS開発に入門する - なーんだ、ただの水たまりじゃないか にも書いた内容だが、 最近はGetting Startedとか無くなっちゃっててSwiftUIに飛ばされるっぽいので(マジか…)
Free WMV AVI Converterを使っている。
毎回わからなくなるのでメモする。
XCode の Instrumentsのworking directoryの設定は、 上のタスクバーの中のexeっぽいアイコンからEdit XXXを選んで、一番下のtext areaがそれ。
YouTubeAPIやTwitchで配信するようなケースで、iOS側はどうなっているかを調べるメモ。
HTTP Live Streaming - Apple Developer Documentation あたりから見るのか?
Author fragmented MPEG-4 content with AVAssetWriter - WWDC20 - Videos - Apple Developer
この一つ手前のエンコーダーのあたりを知りたいのだが、とりあえずの取っ掛かりとして。 このサンプルコードからたどって見つけた。 Writing Fragmented MPEG-4 Files for HTTP Live Streaming - Apple Developer Documentation
この動画はやりたい事とは違いそうだが、情報量が多いのでなかなか良い。
Working with Media in AV Foundation (WWDC11)がみたい動画っぽいが見つからないな。
ただAV Foundation周りを調べると良さそうか。
AVFoundation Overview - Apple Developer
Apple iOS Development: Understanding AV Foundation - YouTube
Playbackの解説と、Editingの解説が詳しい。Editingは役に立ちそう。AVComposition、AVAudioMixなどの解説や時間などがどう表されるかなどの解説。
最後に言及されてたサンプルコード
オーディオというよりはステレオの話だが、サンプルコードは参考になりそう。
Capturing stereo audio from built-in microphones - Apple Developer Documentation
WWDCのこの動画が同じ内容か? Record stereo audio with AVAudioSession - WWDC20 - Videos - Apple Developer
なんかAVAudioRecoderはファイルに書く奴っぽいので、サンプルバッファが取れるのは無いのか? とググっていたらその辺の比較をしているブログを見つけた。 Recording Audio on iOS with Examples - Dolby.io
AVAssetWriterのdelegateの返すsegmentedDataがなんなのか全然分からなくて調べていた所見つけた動画。とても良いのでサブセクションを作る。 AV Foundationでは無くその下のVideo Toolboxを使うらしい。
Direct Access to Video Encoding and Decoding - WWDC14 - Videos - Apple Developer
参照されてる動画で気になったの
ユースケースとして以下を挙げている
6分あたり。
この辺は良く出てくるのでありがたい。
10:00あたりから。15:00あたりからネットワークからCMSampleBufferへのコンバートの話が出てくる。
NetworkからくるH.264ストリームはElementary Streamと呼ばれる形式で、それとファイルに保存されるMPEG-4をベースとしたCMSampleBufferの間には変換が必要となる。
NAL Unitからmp4のCMVideoFormatDescriptionを作るのはCMVideoFormatDescriptorCreateFromH264ParameterSets。
CMSampleBufferを作るのに必要なのは以下の3つ。
この3つを、CMSampleBufferCreateに食わせる。
20:00あたりから、ネットワークのストリームをデコードしてCVPixelBufferにアクセスする例に入る。 これにはVTDecompressSessionを使う。 この中にVideoDecoderが入っているらしい。
29:00あたりからCVPixelBufferを圧縮してネットワークに送る例が始まる。
VTCompressionSessionEncodeFrameでpixelBufferを送るっぽい。
最後に待つのはVTCompressionSessionCompleteFramesらしい。
34:00あたりからElementary Streamへの変換の話がある。 SPSとPPSを最初に送る必要があるが、これはCMVideoFormatDescriptionGetH264ParameterSetAtIndexというそのものずばりの関数がある。
次にNAL Unitの変換。I Frameなどは先頭に4バイトのlengthが入っているので、これを00 00 01の3 byteの開始コードに変換する必要がある。
使うか分からないメモを置いておく