go get github.com/opencoconut/coconutgo
Use the API Request Builder to generate a config file that match your specific workflow.
Example of coconut.conf
:
var s3 = s3://accesskey:secretkey@mybucket
set webhook = http://mysite.com/webhook/coconut
-> mp4 = $s3/videos/video.mp4
-> webm = $s3/videos/video.webm
-> jpg:300x = $s3/previews/thumbs_#num#.jpg, number=3
Here is the Go code to submit the config file:
package main
import (
"fmt"
"github.com/opencoconut/coconutgo"
)
func main() {
config := coconut.Config{
Conf: "coconut.conf",
Source: "http://yoursite.com/media/video.mp4",
Vars: coconut.Vars{"vid": "1234"},
}
if job, err := coconut.NewJob(config, "api-key"); err != nil {
fmt.Println("Error:", err)
} else {
fmt.Println("Job created:", job.Id)
}
}
You can also create a job without a config file. To do that you will need to give every settings in the method parameters. Here is the exact same job but without a config file:
vid := "1234"
s3 := "s3://accesskey:secretkey@mybucket"
config := coconut.Config{
Vars: coconut.Vars{
"vid": vid,
"s3": s3,
},
Source: "http://yoursite.com/media/video.mp4",
Webhook: "http://mysite.com/webhook/coconut?videoId=$vid",
Outputs: coconut.Outputs{
"mp4": "$s3/videos/video_$vid.mp4",
"webm": "$s3/videos/video_$vid.webm",
"jpg:300x": "$s3/previews/thumbs_#num#.jpg, number=3",
}
}
if job, err := coconut.NewJob(config, "api-key"); err != nil {
fmt.Println("Error:", err)
} else {
fmt.Println("Job created:", job.Id)
}
Note that you can use the environment variable COCONUT_API_KEY
to set your API key.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Released under the MIT license.
- Coconut website: http://coconut.co
- API documentation: http://coconut.co/docs
- Contact: [email protected]
- Twitter: @OpenCoconut