Académique Documents
Professionnel Documents
Culture Documents
Rischan, Sunni
December, 18, 13
Apologize
We didnt use OpenStack because ..
1. Server just has 2 GB RAM 2. Real Machine more faster than Virtual Machine.
Standalone mode
1. Transcode video files using ffmpeg library in one PC. 2. No Split and concat. 3. Calculate the time processes.
PC Worker 1(x.x.x.160):Ubuntu, Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz, RAM 8 GiB PC Worker 2(X.X.40.44) : Macbook, Intel Core 2 Duo 2.4 GHz, RAM 2 GiB
Storm Arch
Nimbus = JobTracker
Running Storm
We must create topology and then submit the topology for running storm video transcoding & kill the topology for stop it.
File Informations file : storm-video.mp4 duration : 00:07:57.84 resolution : 576x360 size : 9.728 MB
Standalone mode
ffmpeg -i storm-video.mp4 storm-video.mkv Transcode from mp4 to mkv in PC Server :
0m36.936s
Code Explanation:
Transcode Code
Result:
file size before 9.728 MB split in server 0m12.473s 0:00:43 0m6.484s 0:00:00 send to worker transcode in worker send to server concat in server 0m0.456s file size after 4.152 MB note PC Server PC worker 1 (Lab) PC Worker 2 (Dorm) Macbook
0:00:44
1m4.308s
0:00:04
Using Storm
SplitVideo
Main Topology
VideoSpout
Result:
Error, because we use subprocess in python for calling ffmpeg. If we use python libraries for ffmpeg, its deprecated, for concat function. The libraries is too old compared to latest version of ffmpeg We have tried to use java library (xuggler) for calling ffmpeg, but this library is discontinued. Most java libraries for ffmpeg is discontinued or too old.
Conclusion
Storm is not suitable for video transcoding
Storm is for stream data, so we cant use static video If we use stream video, it cant be distributed Its better to use Hadoop, although based on a paper, it doesnt give a good performance
Twitter Topology
Twitter Spout
Twitter Result