diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..4a49128 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,17 @@ +name: CI +on: [push, pull_request] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - name: Prepare FFMpeg + run: sudo apt-get update && sudo apt-get install -y ffmpeg + - name: Setup .NET Core + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 3.1.101 + - name: Build with dotnet + run: dotnet build + - name: Test with dotnet + run: dotnet test diff --git a/.travis.yml b/.travis.yml index a44cb8b..1cb2185 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: csharp mono: none -dotnet: 2.1.300 +dotnet: 3.1 os: - linux - osx diff --git a/FFMpegCore.Test/ArgumentBuilderTest.cs b/FFMpegCore.Test/ArgumentBuilderTest.cs index 68df940..9dd1b9a 100644 --- a/FFMpegCore.Test/ArgumentBuilderTest.cs +++ b/FFMpegCore.Test/ArgumentBuilderTest.cs @@ -53,7 +53,7 @@ public void Builder_BuildString_Scale() public void Builder_BuildString_AudioCodec() { var str = GetArgumentsString(new AudioCodecArgument(AudioCodec.Aac, AudioQuality.Normal)); - Assert.AreEqual(str, "-i \"input.mp4\" -codec:a aac -b:a 128k -strict experimental \"output.mp4\""); + Assert.AreEqual(str, "-i \"input.mp4\" -c:a aac -b:a 128k \"output.mp4\""); } [TestMethod] @@ -204,7 +204,7 @@ public void Builder_BuildString_Codec() { var str = GetArgumentsString(new VideoCodecArgument(VideoCodec.LibX264)); - Assert.AreEqual(str, "-i \"input.mp4\" -codec:v libx264 -pix_fmt yuv420p \"output.mp4\""); + Assert.AreEqual(str, "-i \"input.mp4\" -c:v libx264 -pix_fmt yuv420p \"output.mp4\""); } [TestMethod] @@ -212,7 +212,7 @@ public void Builder_BuildString_Codec_Override() { var str = GetArgumentsString(new VideoCodecArgument(VideoCodec.LibX264), new OverrideArgument()); - Assert.AreEqual(str, "-i \"input.mp4\" -codec:v libx264 -pix_fmt yuv420p -y \"output.mp4\""); + Assert.AreEqual(str, "-i \"input.mp4\" -c:v libx264 -pix_fmt yuv420p -y \"output.mp4\""); } [TestMethod] diff --git a/FFMpegCore.Test/FFMpegCore.Test.csproj b/FFMpegCore.Test/FFMpegCore.Test.csproj index 33df305..8e749dd 100644 --- a/FFMpegCore.Test/FFMpegCore.Test.csproj +++ b/FFMpegCore.Test/FFMpegCore.Test.csproj @@ -1,7 +1,7 @@ - + - netcoreapp2.1 + netcoreapp3.1 false diff --git a/FFMpegCore.Test/ffmpeg.config.json b/FFMpegCore.Test/ffmpeg.config.json index 12322b0..b9c9a56 100644 --- a/FFMpegCore.Test/ffmpeg.config.json +++ b/FFMpegCore.Test/ffmpeg.config.json @@ -1,3 +1,3 @@ { - "RootDirectory": "C:\\ProgramData\\chocolatey\\lib\\ffmpeg\\tools\\ffmpeg\\bin\\" + "RootDirectory": "" } \ No newline at end of file diff --git a/FFMpegCore/FFMPEG/Argument/ArgumentStringifier.cs b/FFMpegCore/FFMPEG/Argument/ArgumentStringifier.cs index 0a723ef..ee11c03 100644 --- a/FFMpegCore/FFMPEG/Argument/ArgumentStringifier.cs +++ b/FFMpegCore/FFMPEG/Argument/ArgumentStringifier.cs @@ -24,7 +24,7 @@ internal static string Audio(AudioCodec codec, int bitrate) internal static string Audio(AudioCodec codec) { - return $"-codec:a {codec.ToString().ToLower()} "; + return $"-c:a {codec.ToString().ToLower()} "; } internal static string Audio(AudioQuality bitrate) @@ -34,12 +34,12 @@ internal static string Audio(AudioQuality bitrate) internal static string Audio(int bitrate) { - return $"-b:a {bitrate}k -strict experimental "; + return $"-b:a {bitrate}k "; } internal static string Video(VideoCodec codec, int bitrate = 0) { - var video = $"-codec:v {codec.ToString().ToLower()} -pix_fmt yuv420p "; + var video = $"-c:v {codec.ToString().ToLower()} -pix_fmt yuv420p "; if (bitrate > 0) { diff --git a/FFMpegCore/FFMPEG/FFMpeg.cs b/FFMpegCore/FFMPEG/FFMpeg.cs index 5fe7689..b5b49db 100644 --- a/FFMpegCore/FFMPEG/FFMpeg.cs +++ b/FFMpegCore/FFMPEG/FFMpeg.cs @@ -99,11 +99,9 @@ public Bitmap Snapshot(VideoInfo source, FileInfo output, Size? size = null, Tim Bitmap result; using (var bmp = (Bitmap) Image.FromFile(output.FullName)) { - using (var ms = new MemoryStream()) - { - bmp.Save(ms, ImageFormat.Png); - result = new Bitmap(ms); - } + using var ms = new MemoryStream(); + bmp.Save(ms, ImageFormat.Png); + result = new Bitmap(ms); } if (output.Exists && !persistSnapshotOnFileSystem) @@ -499,13 +497,13 @@ private bool RunProcess(ArgumentContainer container, FileInfo output) Process.Close(); if (File.Exists(output.FullName)) - using (var file = File.Open(output.FullName, FileMode.Open)) + { + using var file = File.Open(output.FullName, FileMode.Open); + if (file.Length == 0) { - if (file.Length == 0) - { - throw new FFMpegException(FFMpegExceptionType.Process, _errorOutput); - } + throw new FFMpegException(FFMpegExceptionType.Process, _errorOutput); } + } else { throw new FFMpegException(FFMpegExceptionType.Process, _errorOutput); diff --git a/FFMpegCore/FFMpegCore.csproj b/FFMpegCore/FFMpegCore.csproj index a72cabc..3fc56cf 100644 --- a/FFMpegCore/FFMpegCore.csproj +++ b/FFMpegCore/FFMpegCore.csproj @@ -129,7 +129,7 @@ - +