46 lines
1.7 KiB
C#
46 lines
1.7 KiB
C#
using System;
|
|
using Paca.Mobile.Core;
|
|
using Xunit;
|
|
|
|
namespace Paca.Tests.Core;
|
|
|
|
public class TranscodingPresetEngineGateTests
|
|
{
|
|
[Fact]
|
|
public void Gate245_TranscodingPresetEngine_BuildsRemuxArguments_WhenCompatible()
|
|
{
|
|
var args = TranscodingPresetEngine.BuildFfmpegArgs("input.mkv", "output.mp4", TranscodePreset.FastRemux);
|
|
|
|
Assert.Contains("-c:v copy", args);
|
|
Assert.Contains("-c:a copy", args);
|
|
Assert.Contains("-movflags +faststart", args);
|
|
}
|
|
|
|
[Fact]
|
|
public void Gate246_TranscodingPresetEngine_BuildsMobileCompatibilityArguments()
|
|
{
|
|
var args = TranscodingPresetEngine.BuildFfmpegArgs("input.webm", "output.mp4", TranscodePreset.MobileCompatibleH264);
|
|
|
|
Assert.Contains("-c:v libx264", args);
|
|
Assert.Contains("-c:a aac", args);
|
|
Assert.Contains("-movflags +faststart", args);
|
|
}
|
|
|
|
[Fact]
|
|
public void Gate247_TranscodingPresetEngine_BuildsAudioExtractionArguments()
|
|
{
|
|
var args = TranscodingPresetEngine.BuildFfmpegArgs("video.mp4", "audio.mp3", TranscodePreset.AudioMp3High);
|
|
|
|
Assert.Contains("-vn", args);
|
|
Assert.Contains("-c:a libmp3lame", args);
|
|
Assert.Contains("-b:a 320k", args);
|
|
}
|
|
|
|
[Fact]
|
|
public void Gate248_TranscodingPresetEngine_EstimatesOutputFilename()
|
|
{
|
|
Assert.Equal("clip.mp3", TranscodingPresetEngine.GetTargetFileName("clip.mkv", TranscodePreset.AudioMp3High));
|
|
Assert.Equal("lecture.mp4", TranscodingPresetEngine.GetTargetFileName("lecture.webm", TranscodePreset.MobileCompatibleH264));
|
|
Assert.Equal("video.mp4", TranscodingPresetEngine.GetTargetFileName("video.mkv", TranscodePreset.FastRemux));
|
|
}
|
|
}
|