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
120
さぁ、深夜ラジオを聴こう!
深夜ラジオ(特にbananamoonGOLD)が大好きな僕が、goでradikoから録音するCLIを作った話
poccariswet
December 06, 2017
Tweet
Share
More Decks by poccariswet
See All by poccariswet
rust for web app
poccariswet
2
370
APNG maker on wasm
poccariswet
1
200
past and future
poccariswet
0
83
ncursesを学ぼう
poccariswet
0
80
shorterql
poccariswet
0
95
i_and_go
poccariswet
0
69
editor
poccariswet
0
100
Aizu-Go
poccariswet
1
170
Other Decks in Technology
See All in Technology
バクラクのSREにおけるAgentic AIへの挑戦/Our Journey with Agentic AI
taddy_919
2
1k
オンプレとGoogle Cloudを安全に繋ぐための、セキュア通信の勘所
waiwai2111
3
1.1k
プロジェクトマネジメントをチームに宿す -ゼロからはじめるチームプロジェクトマネジメントは活動1年未満のチームの教科書です- / 20260304 Shigeki Morizane
shift_evolve
PRO
1
110
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.1k
管理者向けGitHub Enterpriseの運用Tips紹介: 人にもAIにも優しいプラットフォームづくり
yuriemori
0
110
パネルディスカッション資料 (at Tableau Now! - 2026-02-26)
yoshitakaarakawa
0
1.1k
Webアクセシビリティ技術と実装の実際
tomokusaba
0
210
技術的負債の泥沼から組織を救う3つの転換点
nwiizo
7
2.1k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
AIエンジニア Devin と歩む、自律型運用プロセスの構築
a2ito
0
680
Digitization部 紹介資料
sansan33
PRO
1
7k
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
99
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
460
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
エンジニアに許された特別な時間の終わり
watany
106
240k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
60
51k
The Cult of Friendly URLs
andyhume
79
6.8k
Building Adaptive Systems
keathley
44
2.9k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
140
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
290
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