Golang 始めました。

https://tour.golang.org

年末年始やったこと

rtmp クライアント作る

RTMP仕様

https://www.adobe.com/jp/devnet/rtmp.html

Amazon IVSのストリームを解析してGOで取得

.m3u8 ファイルの中は、解像度とBandwidth別にストリームのURLが記載されてる。このストリームURLも拡張子は、.m3u8(子ストリームと呼称)

各子ストリームは、2秒感覚で区切られた極々短いts(mpeg_ts)ストリーム。

このストリームが時間とともに更新されてく。

EXT_X_STREAM_INFO, EXT_PREFETCH セクションで、ストリームの状態を判断できる。

それぞれの子ストリームから、ffmpeg で いろいろできる。(Video, Audio分割とか)
たとえば、Audioだけ切り出すコマンドは以下。


ffmpeg hoge.ts -vn –codec pcm_s16le -ac 1 -map 0:0 -ar 16000 output.wav