HelloWorld
こんにちは、みんな。
唐突ですが、俺はすごいことがしたい。
誰だってそうだろうと思います。当然俺もそうです。
自己承認欲求がガンガン満たされて行く偉業を成し遂げたい。
というわけで、オープンソースの動画編集ソフトを作りたいと思います。
モチベ維持とあわよくば情報提供者が欲しいという理由からブログを始めました。基本的に1週間ごとに進捗報告をしていきたいと思います。
俺は文系大学生なので、ゴミです。俺の知識はプログラミング始めたての高校生ぐらいだと思っていてください。認識と見通しはクソ以下です。
とりあえず、さらっと動画像処理に関する情報を集めてみました。ので、そのまとめ。
使用言語について、
動画像処理の学習にはPythonがハードル低くてええよと聞きました。
しかし、処理にはc++,javaが早いらしい。javaを使ってるjavieというソフトがすでにあること、そして、速度も諸説ある。あとD言語なんてのもあってCAFEditor(aviutlの後継を目指してるらしい動画編集ソフト)はD言語ベースだとか。でも、仕様が変わるらしいということと動画像処理の資料が少なそうなので、c++を使うぞ。
まずプログラミングの部品を集めて公開したものをライブラリと呼びます。
そのライブラリの中で動画像処理に関する有名な物が二つ。
元の動画像があってそれに対する処理(モーショントラッキングとか)、はopencv
動画像の描画自体をやるのがopengl
これらの二つを用いて動画編集ソフトを作っていこうかなと思っています。まずこれが第一段階。
次にやはり動画編集には速さを追求していきたいので、並列化?処理が必要だと考えます。
opencl、cuda、halideあたりが関係ある単語なのではと思います。
これが第二段階。
第一段階に五年をかけて、第二段階で五年、合計10年ぐらいかけてやっていけたらな、と思います。
今のところで勉強する順番を考えておくと
1.opencv
2.opengl
の順番になるかと思います。
c++そのものとかそもそもソフトのビルドの仕方だとか、
そういうのは並列で勉強しながらって感じで。
具体的なソフトの仕様としては
ノードベース、タイムラインベースのいいとこ取りみたいにしたいな
基本タイムラインベースで、ビデオクリップをクリックするとノードが表示されるウィンドウにくっついた処理が表示される的な、みたいな。
ノードは突起つけてどこから引っ張るのか分かりやすくしたいよね
後はさaviutl使用者が多いことを考慮してなんとか分かりやすUIにしたいな。
色々、思うところは多くて、どうなるかもよくわかんねえけど
頑張るぞ。