P.S.Will not be released until NACL is supported as part of Chrome extension development
P.S.A .patch file needs to be created for the ffmpeg-0.5 from NACLPort. Bug: Trailing commas in some of the lib file
Setup Steps
##Install NACL
- Download NACL SDK here
unzip nacl_sdk.zip
and run./nacl_sdk list
to check available versions and./nacl_sdk update
to download- set environment variable
NACL_SDK_ROOT=/where/nacl_sdk/is
##Install NACLPort
- Download NACLPort and follow the instruction here
##Install Dependencies through NACLPort
* Export `NACL_PORTS` env variable to point to where you installed nacl ports.
* Run `./deps.sh`.
##Compile and Run
- Run
make
..nexe
and_32.o/_64.o
files should be generated.
- This is the background script.
chrome.webRequest.onBeforeRequest
gets web requests. mediaReqeustsMap holds request metadata.- Message passing, icon animation, triggering notifications.
###popup.html / popup.js
- Display available download entries if available.
- Pass message back to the background script triggering notification windows for download options
###notification.html / notification.js
- Display download options according the original file format.e.g.if the file is .mp4,
mp3
andoriginal
show up as download options - Passing download meta data(URL, vidID, current format and the conversion format,etc) to the NACL transcoder.
###listener.js
- Communication between NACL and client-side js.
###transcoder.cc / transcoder.h
- transcoding(In Progresss) options: MP4->MP3, FLV->MP4/MP3.
- TODO: implement using ffmpeg/libav.
- libav libs need to be patched due to the trailing comma bug.(will see the errors when first time compile, after porting libav from the NACLPort)