技術書典7に初めて執筆側として参加した話こんにちは、@kz_moritaです。行われた技術書典に初めて本を執筆して出版しました。貴重な経験ができてよかったなぁと思います。どんなことをやったのか簡単にまとめておきます。本自体は、会社の有志が集まったごった煮本となります。用いてサイト構築する方法、Bitriseの活用方法、さらに採用の極意に当たるまで色々なジャンルの内容が集まっていたと思います。「iOSにおけるHLS動画のダウンロード」という内容を書きました。HLS形式の動画はその仕様上マニフェストファイルと細かい動画セグメントファイルに分かれていて単純なファイルダウンロードとは少し異なった方法を取らなければなりません。公式のサンプルコードと照らし合わせながら解説していく内容です。ページ数にして約30P。この量でもひぃひぃ言いながらなんとか書き上げたので、一人で100Pを超えるような本を書く人の凄さが身にしみてわかりました。次回は単著も挑戦してみたいなとも思いましたが、厳しい道のりになりそうです。技術書典自体は何回か参加していて、その度に色々な濃い知識を得られる場であり毎年(年2回)とても楽しみにしているイベントの1つです。毎回とても楽しく参加しているのですが、技術書典が終わると毎回「次こそは出版側として参加したい」と思ってました。いうのも、自分が尊敬するエンジニア像の1つが本を出版しているようなすごいアウトプットを出している人というものだったので、技術書を書くことに対してはずっと憧れがありました。そんな時に、今回会社の同僚の方が一緒に執筆する人を募集していたのでこれはチャンスだぞと思って立候補しました。これが今回執筆するにあたった経緯になります。いざ本を書こうとしたときにまず考えなければいけないのが本のテーマだと思います。何を書こうかすごく迷っていましたが、業務でiOSと動画周りの実装や調査をすることが多かったためそのことについて書くことになりました。個人的に動画コンテンツはこれからどんどん増えてくるだろうなと思っていますし、動画関連の実装を行う機会もこれから増えそうだなーと思っています。今回扱ったHLS動画のダウンロードについてはあまりブログなどで触れられていることが少なかったためこのテーマを選ぶことになりました。テーマが決まればあとは、ひたすら執筆をする感じです。実際に業務で実装は経験していたことですが、いざ文章にしてみると自分が理解していなかった箇所が浮き彫りになったり、説明が難しい箇所があったりしました。都度調べながら書き進めていきましたが、これにより理解をより深めることができました。あとは、図を用意したり、ソースコードの解説を追加したりといったことをして、最後に公正作業を行ったりしていました。大体期間にして、1ヶ月間くらいだったと思います。当日は、一般参加列に並んで11:00くらいに池袋サンシャインシティにつきました。今回は6人での合同しだったため、二人がサークルチケットで先に入りその他の人は一般参加者の方同様並びました。当日は売り子も交代でやったりしていました。これまで買う専門だったので、売り手側に回っているのはとても新鮮でした。今回出版してみて感じたことは、やってよかった!、次回も出版したいということです。自分の文章が紙の本となっているのに感動しましたし、その本をお金を払って購入してくださる方がいるということにもすごく感動して嬉しかったです。これで自分の書いた内容がどなたか参考になっていたりしたらもっとうれしいですね。アウトプットをしようということで始めたこのブログですが、本の執筆というまた違った形でアウトプットできたことが本当によかったなぁと感じてます。次の技術書典も本を出せるように頑張りたいと思います。今回参加された方、運営の方々、本当にお疲れ様でした!そしてありがとうございました。2019年9月15日hls.jsの通信をhookして復号鍵をAPI経由でリクエストするこんにちは、kz_moritaです。HLS動画を暗号化する際に、外部のDRMサービスを使用せずに動画の閲覧権限管理を行いたかったので、動画の復号鍵をAPI経由で取得できるようなシステムについて考えてみました。今回はHLSのプレイリストファイルのURLがバレても、サービスが提供する動画プレイヤー以外では動画を再生できないといったものを想定しています。APIで認証情報をチェックできるという前提のもと、以下のような構成を考えています。動画再生までの手順としては以下のような感じです。