Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
さぁ、深夜ラジオを聴こう!
Search
poccariswet
December 06, 2017
Technology
0
98
さぁ、深夜ラジオを聴こう!
深夜ラジオ(特にbananamoonGOLD)が大好きな僕が、goでradikoから録音するCLIを作った話
poccariswet
December 06, 2017
Tweet
Share
More Decks by poccariswet
See All by poccariswet
rust for web app
poccariswet
2
350
APNG maker on wasm
poccariswet
1
180
past and future
poccariswet
0
65
ncursesを学ぼう
poccariswet
0
74
shorterql
poccariswet
0
80
i_and_go
poccariswet
0
54
editor
poccariswet
0
91
Aizu-Go
poccariswet
1
150
Other Decks in Technology
See All in Technology
AIエージェントで90秒の広告動画を制作!台本・音声・映像・編集をつなぐAWS最新アーキテクチャの実践
nasuvitz
0
180
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
170
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
400
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
64k
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
580
slog.Handlerのよくある実装ミス
sakiengineer
4
230
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.6k
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
150
「Linux」という言葉が指すもの
sat
PRO
4
140
Rustから学ぶ 非同期処理の仕組み
skanehira
1
140
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
12
4.8k
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
440
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Statistics for Hackers
jakevdp
799
220k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Site-Speed That Sticks
csswizardry
10
820
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Code Review Best Practice
trishagee
70
19k
Transcript
さぁ!深夜ラジオを聴こう!
自己紹介! 名前: soeyu 学部: 2年 言語: Golang 趣味: サッカー、深夜ラジオ(bananamoonGOLD...etc)を聞くこと!!
None
とにかく!
最高
今回やったこと!!
ラジオを録音する CLI
なんで??
自己紹介! 名前: 添田 有佑 学部: 2年 言語: Golang 趣味: サッカー、深夜ラジオ(bananamoonGOLD...etc)を聞くこと!!
自己紹介! 名前: 添田 有佑 学部: 2年 言語: Golang 趣味: サッカー、深夜ラジオ(bananamoonGOLD...etc)を聞くこと!!
None
None
None
どうやって??
None
流れ
クライアント取得 ↓ ログイン(プレミアム会員)の認証 ↓ 認証トークンの取得 ↓ 認証キーの抽出 ↓ 番組表のxmlファイルの取得 ↓
M3U8ファイルの取得 ↓ M3U8ファイルからaacファイルの生成 ↓ aacファイルのconcat (ffmpegを使う)
・複数のメディアファイルのパスをプレーンテキスト(テキストファイ ル)で記述した、マルチメディアプレイリストのファイルフォーマット M3U8ファイルって??
None
ffmpeg(エフエフエムペグ)は動画と音声を記録、変換、再生するためのフリーソフトウェ ア 今回は音声ファイル(aac)をつなぎ合わせるために使いました。 こんな感じで↑ ffmpegとは??
demo
感想 ・はじめffmpegでaacファイルをconcatするときに、”Invalid data found when processing input”という処理時のエラーが出てよくわからなかったけど、一度ffmpegで aacファイル ー>aacファイル をしたらうまくいった。
・大好きなbananamoonGOLDをどこでも、いつでも聞けるようになって嬉しい! ・まだまだ改善点や拡張(live streamingなどなど)ができると思ったので、頑張りたい!
Reference ・http://d.hatena.ne.jp/nyanonon/touch/20161211 ・https://ja.wikipedia.org/wiki/M3U ・https://hori-ryota.com/blog/ffmpeg-mp4-concatenate/ ・http://blog.sarabande.jp/post/90736041568 ・https://github.com/soh335/radicast/blob/master/radiko.go