Twitter 放出來的 Vireo,一套 Open Source 授權的 Video Processing Library

Twitter 放出 Vireo,一套以 MIT License 釋出的 Video Processing Library:「Introducing Vireo: A Lightweight and Versatile Video Processing Library」。專案庫在 GitHubtwitter/vireo 可以取得。

C++ 寫的,另外也已經提供 Scala 的接口,這應該是讓 Twitter 的人可以方便使用:

Vireo is a lightweight and versatile video processing library that powers our video transcoding service, deep learning recognition systems and more. It is written in C++11 and built with functional programming principles. It also optionally comes with Scala wrappers that enable us to build scalable video processing applications within our backend services.

在 Tools 的部份也可以看到很多功能,像是:

thumbnails: extracts keyframes from the input video and saves them as JPG images

viddiff: checks if two video files are functionally identical or not (does not compare data that does not affect the playback behavior)

另外要注意的是,預設不會將 GPL 的套件納入編譯,需要指定 --enable-gpl 才會編進去:

The following libraries are disabled by default. To enable GPL licensed components, they have to be present in your system and --enable-gpl flag have to be explicitly passed to configure

看起來主要就是最常見的那包... (libavformat / libavcodec / libavutil / libswscale / libx264)

Spark Summit 2013 第一天心得...

在舊金山參加 Spark Summit 2013,結論:

  • 所有用 Spark 的公司或是單位都有共通的原因而改用 Spark:效能。其他提到的 feature 都不是真正一定要用 Spark 的原因。換 Spark 後可以多用這些 feature 是加分,但沒有也 ok,重點還是在效能。
  • 會發現幾乎所有人都用 Scala,對其他語言的支援大多都還在發展。比較驚訝的是大家完全不想提 Java... Python 倒是還提過幾次 XD

所以只拿 Spark 當 MR-framework 也是很夠值得用的,如果要用 Streaming (Real-time processing) 的話,效能提升會更明顯。

然後,不要想用其他程式語言,乖乖的用 Scala 吧...

另外 Hadoop Streaming 跟 Spark Streaming 講的是不一樣的東西,在會場上講 Streaming 一般都講 Real-time processing,這點在會場的時候差點轉不過來 :o