mirror of
https://github.com/xfrr/goffmpeg.git
synced 2025-10-16 13:00:39 +08:00
282 lines
4.5 KiB
Go
Executable File
282 lines
4.5 KiB
Go
Executable File
package test
|
|
|
|
import (
|
|
"os/exec"
|
|
"testing"
|
|
|
|
"github.com/muhammadharis/goffmpeg/transcoder"
|
|
)
|
|
|
|
func TestInputNotFound(t *testing.T) {
|
|
|
|
var inputPath = "/data/testmkv"
|
|
var outputPath = "/data/out/testmp4.mp4"
|
|
|
|
trans := new(transcoder.Transcoder)
|
|
|
|
err := trans.Initialize(inputPath, outputPath)
|
|
if err != nil {
|
|
return
|
|
}
|
|
}
|
|
|
|
func TestTranscoding3GP(t *testing.T) {
|
|
|
|
var inputPath = "/data/test3gp"
|
|
var outputPath = "/data/testmp4.mp4"
|
|
|
|
trans := new(transcoder.Transcoder)
|
|
|
|
err := trans.Initialize(inputPath, outputPath)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
done := trans.Run(false)
|
|
err = <-done
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
}
|
|
|
|
func TestTranscodingAVI(t *testing.T) {
|
|
|
|
var inputPath = "/data/testavi"
|
|
var outputPath = "/data/out/testmp4.mp4"
|
|
|
|
trans := new(transcoder.Transcoder)
|
|
|
|
err := trans.Initialize(inputPath, outputPath)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
done := trans.Run(false)
|
|
err = <-done
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
}
|
|
|
|
func TestTranscodingFLV(t *testing.T) {
|
|
|
|
var inputPath = "/data/testflv"
|
|
var outputPath = "/data/out/testmp4.mp4"
|
|
|
|
trans := new(transcoder.Transcoder)
|
|
|
|
err := trans.Initialize(inputPath, outputPath)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
done := trans.Run(false)
|
|
err = <-done
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
}
|
|
|
|
func TestTranscodingMKV(t *testing.T) {
|
|
|
|
var inputPath = "/data/testmkv"
|
|
var outputPath = "/data/out/testmp4.mp4"
|
|
|
|
trans := new(transcoder.Transcoder)
|
|
|
|
err := trans.Initialize(inputPath, outputPath)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
done := trans.Run(false)
|
|
err = <-done
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
}
|
|
|
|
func TestTranscodingMOV(t *testing.T) {
|
|
|
|
var inputPath = "/data/testmov"
|
|
var outputPath = "/data/out/testmp4.mp4"
|
|
|
|
trans := new(transcoder.Transcoder)
|
|
|
|
err := trans.Initialize(inputPath, outputPath)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
done := trans.Run(false)
|
|
err = <-done
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
}
|
|
|
|
func TestTranscodingMPEG(t *testing.T) {
|
|
|
|
var inputPath = "/data/testmpeg"
|
|
var outputPath = "/data/out/testmp4.mp4"
|
|
|
|
trans := new(transcoder.Transcoder)
|
|
|
|
err := trans.Initialize(inputPath, outputPath)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
done := trans.Run(false)
|
|
err = <-done
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
}
|
|
|
|
func TestTranscodingOGG(t *testing.T) {
|
|
|
|
var inputPath = "/data/testogg"
|
|
var outputPath = "/data/out/testmp4.mp4"
|
|
|
|
trans := new(transcoder.Transcoder)
|
|
|
|
err := trans.Initialize(inputPath, outputPath)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
done := trans.Run(false)
|
|
err = <-done
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
}
|
|
|
|
func TestTranscodingWAV(t *testing.T) {
|
|
|
|
var inputPath = "/data/testwav"
|
|
var outputPath = "/data/out/testmp4.mp4"
|
|
|
|
trans := new(transcoder.Transcoder)
|
|
|
|
err := trans.Initialize(inputPath, outputPath)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
done := trans.Run(false)
|
|
err = <-done
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
}
|
|
|
|
func TestTranscodingWEBM(t *testing.T) {
|
|
|
|
var inputPath = "/data/testwebm"
|
|
var outputPath = "/data/out/testmp4.mp4"
|
|
|
|
trans := new(transcoder.Transcoder)
|
|
|
|
err := trans.Initialize(inputPath, outputPath)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
done := trans.Run(false)
|
|
err = <-done
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
}
|
|
|
|
func TestTranscodingWMV(t *testing.T) {
|
|
|
|
var inputPath = "/data/testwmv"
|
|
var outputPath = "/data/out/testmp4.mp4"
|
|
|
|
trans := new(transcoder.Transcoder)
|
|
|
|
err := trans.Initialize(inputPath, outputPath)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
done := trans.Run(false)
|
|
err = <-done
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
}
|
|
|
|
func TestTranscodingInputPipe(t *testing.T) {
|
|
|
|
// Tests pipe with input mpeg, output mp4 using cat command for pipe-in
|
|
var outputPath = "/data/out/testmp4.mp4"
|
|
|
|
trans := new(transcoder.Transcoder)
|
|
err := trans.InitializeEmptyTranscoder()
|
|
trans.SetOutputPath(outputPath)
|
|
trans.CreateInputPipe(exec.Command("cat", "/data/testmpeg"))
|
|
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
done := trans.Run(false)
|
|
err = <-done
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
}
|
|
|
|
func TestTranscodingProgress(t *testing.T) {
|
|
|
|
var inputPath = "/data/testavi"
|
|
var outputPath = "/data/out/testmp4.mp4"
|
|
|
|
trans := new(transcoder.Transcoder)
|
|
|
|
err := trans.Initialize(inputPath, outputPath)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
done := trans.Run(true)
|
|
for val := range trans.Output() {
|
|
if &val != nil {
|
|
break
|
|
}
|
|
}
|
|
|
|
err = <-done
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
}
|