2016年1月8日金曜日

超軽量動画投稿サービスを作ってみた。

先日、このブログで、動画配信サービスの作り方を書いたのですが、本日はその逆の動画投稿サービスの作り方について。

正月にぼーっとしていてふと思ったのです。
世の中のスマホのアプリって、基本的に以下の三つのことしかしていないのではないか。

(1)サーバにデータを上げる
(2)サーバからデータのリストを取得する。
(3)サーバからデータをとってくる。

だから、この三つのことを簡単にできるようにすればどんなサービスでも作れるのではないかと。
ということで実験でハイビジョンとか4Kサイズの動画をスマホから投稿して、投稿した動画をみる超軽量動画投稿サービスを二日間で作ってみました。

なんでバイビジョン動画なのかというと、最近コーデック技術の発達で超高画質高圧縮のmp4ファイルがffmpegで簡単に作れてしまうんです。1分あたり30Mバイトくらいで高画質な動画が送れるんです。本当にびっくり。

作ったサイトはこれ。
http://219.0.242.21/test/test_postfile/

ソースコードはこちら
https://drive.google.com/file/d/0B5M9qMMg3tfQRG94T1NrbEFDdjQ/view?usp=sharing
見てもらえばわかりますが、ソースコードも超簡単。

(1)サーバにデータを上げる、postFile
(2)サーバからデータのリストを取得する、filelist_html
(3)サーバからデータをとってくる、nph-file-stream

gccでこれらのソースをコンパイルして、apacheとかanhttpdとかのhttpdのどっかのディレクトリに適当に置くだけで動画投稿サーバが完成です。


写真や動画の投稿サイトって投稿した動画のサムネイルや、フォーマット変換をしないといけないのですが、このような面倒なことは全部オープンソースのffmpegが全部やってくれます。

もうだれでも個人で簡単に動画投稿サービスを作れちゃうんですね。
これでもうyoutubeとか個人できる!。

実際に商用運用するには何万人もアクセスが集中したり、データが何万と多くなった時に処理を分散させないといけないのですが、それも大して難しくないので、また機会があれば書きたいと思います。

0 件のコメント:

コメントを投稿