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
100
さぁ、深夜ラジオを聴こう!
深夜ラジオ(特にbananamoonGOLD)が大好きな僕が、goでradikoから録音するCLIを作った話
poccariswet
December 06, 2017
Tweet
Share
More Decks by poccariswet
See All by poccariswet
rust for web app
poccariswet
2
360
APNG maker on wasm
poccariswet
1
190
past and future
poccariswet
0
71
ncursesを学ぼう
poccariswet
0
75
shorterql
poccariswet
0
83
i_and_go
poccariswet
0
55
editor
poccariswet
0
91
Aizu-Go
poccariswet
1
150
Other Decks in Technology
See All in Technology
AIエージェントによるエンタープライズ向けスライド検索!
shibuiwilliam
1
270
「データ無い! 腹立つ! 推論する!」から 「データ無い! 腹立つ! データを作る」へ チームでデータを作り、育てられるようにするまで / How can we create, use, and maintain data ourselves?
moznion
7
4.1k
What's the recommended Flutter architecture
aakira
3
1.5k
ある編集者のこれまでとこれから —— 開発者コミュニティと歩んだ四半世紀
inao
4
2.5k
AI時代におけるドメイン駆動設計 入門 / Introduction to Domain-Driven Design in the AI Era
fendo181
0
680
AIと自動化がもたらす業務効率化の実例: 反社チェック等の調査・業務プロセス自動化
enpipi
0
420
CDKの魔法を少し解いてみる ― synth・build・diffで覗くIaCの裏側 ―
takahumi27
1
150
自己的售票系統自己做!
eddie
0
440
Flutterコントリビューションのススメ
d_r_1009
1
380
今、MySQLのバックアップを作り直すとしたら何がどう良いのかを考える旅
yoku0825
0
280
旧から新へ: 大規模ウェブクローラの Perl から Go への移行 / YAPC::Fukuoka 2025
motemen
3
860
お試しで oxlint を導入してみる #vuefes_aftertalk
bengo4com
2
1.5k
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
470k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Thoughts on Productivity
jonyablonski
73
4.9k
Fireside Chat
paigeccino
41
3.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.1k
Six Lessons from altMBA
skipperchong
29
4.1k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Bash Introduction
62gerente
615
210k
Code Review Best Practice
trishagee
72
19k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
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