Commit graph

360 commits

Author SHA1 Message Date
Malte Rosenbjerg
59abdd2343 Add SeekedFileInputArgument and such 2020-07-26 02:45:14 +02:00
Malte Rosenbjerg
8576154d3f Clean unused using directives 2020-07-20 15:26:34 +02:00
Malte Rosenbjerg
c4c02d6d21 Write output messages to debug 2020-07-20 15:26:20 +02:00
Malte Rosenbjerg
06d5d199f8 Upgrade nuget dependencies 2020-07-20 15:25:48 +02:00
Malte Rosenbjerg
29d8829d48 Fix warnings 2020-07-13 23:56:12 +02:00
Malte Rosenbjerg
3785179a87 Merge branch 'master' of https://github.com/rosenbjerg/FFMpegCore 2020-07-13 23:54:49 +02:00
Malte Rosenbjerg
442e69ce1d Base file extension on video container info from ffmpeg 2020-07-13 23:54:46 +02:00
Mike Cochran
24f79fe3c8 Added audio codec profile to AudioStream
Added the audio codec profile and accompanying test.
2020-07-06 16:33:50 -05:00
Malte Rosenbjerg
2320217315 Update FFMpegCore.csproj 2020-06-21 21:23:59 +02:00
Malte Rosenbjerg
f3c99dffb6 Fix NullRefException in ParseFormat 2020-06-21 21:23:16 +02:00
Malte Rosenbjerg
b7b15079eb Parse Format from FFProbe show_format 2020-06-20 14:50:46 +02:00
Malte Rosenbjerg
f0b83a8941 Update FFMpegCore.csproj 2020-06-18 22:23:25 +02:00
Malte Rosenbjerg
19856923c6 .NET Standard 2.0 support 2020-06-18 21:44:45 +02:00
Malte Rosenbjerg
01d4474595 Move to separate files 2020-06-18 21:37:12 +02:00
Malte Rosenbjerg
552b5d811a Move to separate files 2020-06-18 21:36:59 +02:00
Malte Rosenbjerg
4e5d464753 Add demux concat 2020-06-16 07:42:35 +02:00
Malte Rosenbjerg
9be3fc5a07 trim excess fractions of duration tag 2020-06-16 07:42:14 +02:00
Malte Rosenbjerg
257c63b385 Update FFMpegCore.csproj 2020-06-06 15:38:19 +02:00
Hmarik
6b294ff510 Fix null reference exception in ParseAudioStream 2020-06-03 20:06:51 +03:00
Malte Rosenbjerg
a778ccd58f Add overload to Join 2020-05-24 19:27:55 +02:00
Malte Rosenbjerg
ac6b203f39 Fix unit test 2020-05-24 19:17:21 +02:00
Malte Rosenbjerg
39dd390e81 Renaming 2020-05-24 19:17:14 +02:00
jianxingwu
0da0b0c156 PrepareSnapshotSize repair 2020-05-15 17:26:34 +08:00
jianxingwu
738176479d FFMpeg.Join error Invalid output file. File extension should be 'mpegts' required. 2020-05-15 17:03:29 +08:00
jianxingwu
74593461d4 PrepareSnapshotSize error : ratio=source.PrimaryVideoStream.Width / 0
ratio=source.PrimaryVideoStream.Height / 0
2020-05-15 16:58:56 +08:00
Malte Rosenbjerg
82fc6e92c9 Minor adjustment 2020-05-13 00:11:53 +02:00
Malte Rosenbjerg
b2085c4a8b Make process cancellable 2020-05-12 23:52:07 +02:00
Malte Rosenbjerg
ca89cac2f0 Snapshot improvements
completely in-memory is now possible
2020-05-12 22:48:20 +02:00
Malte Rosenbjerg
59f2afd2ca Minor cleanup 2020-05-12 22:47:57 +02:00
Malte Rosenbjerg
708189b837 Change default paths 2020-05-12 21:37:10 +02:00
Malte Rosenbjerg
1dc7524ecd Revert "Cleanup"
This reverts commit d95f687e46.
2020-05-12 21:28:50 +02:00
Malte Rosenbjerg
d95f687e46 Cleanup 2020-05-12 21:05:00 +02:00
Malte Rosenbjerg
3855215000 Default to throwing on errors 2020-05-12 17:55:31 +02:00
Malte Rosenbjerg
97d3d15a1f Merge 2020-05-12 17:32:56 +02:00
Malte Rosenbjerg
d9d42d459d Merge branch 'master' of https://github.com/rosenbjerg/FFMpegCore 2020-05-12 17:31:41 +02:00
Malte Rosenbjerg
da399a69aa Support custom temp dir and cleanup 2020-05-12 17:30:35 +02:00
Malte Rosenbjerg
ba43feb213
Merge branch 'master' into fix/pix_fmt_order 2020-05-12 17:29:24 +02:00
Максим Багрянцев
29fd4a76c0 Fixed color pallette (#58) 2020-05-12 18:26:52 +03:00
Максим Багрянцев
d76a059a36 Removed empty Enums folder from project 2020-05-12 17:55:17 +03:00
Максим Багрянцев
18cc364fff Renamed files 2020-05-12 17:54:39 +03:00
Максим Багрянцев
17fa6aafee Updated PixelFormat namespace 2020-05-12 17:53:52 +03:00
Максим Багрянцев
bbc9305e2b Added Codec, PixelFormat and ContainerFormat classes 2020-05-12 17:44:14 +03:00
Malte Rosenbjerg
f896ec126f Slight renaming 2020-05-11 00:50:49 +02:00
Malte Rosenbjerg
b854d5b43b Pass cancellation token through all input output tasks 2020-05-11 00:34:17 +02:00
Malte Rosenbjerg
48bb95e178 Add missing using for disposable 2020-05-11 00:04:53 +02:00
Malte Rosenbjerg
f22c506f46 Fix tests 2020-05-11 00:02:35 +02:00
Malte Rosenbjerg
52444d439e
Merge pull request #57 from max619/fix/invariant_culture_parsing
Fix FormatException in Media Analysis
2020-05-10 23:57:37 +02:00
Malte Rosenbjerg
673af9b78b QuietArgument -> VerbosityLevelArgument 2020-05-10 23:55:03 +02:00
Malte Rosenbjerg
af77e48f28 QuietArgument -> VerbosityLevelArgument
More options
2020-05-10 23:17:30 +02:00
Malte Rosenbjerg
188f37c9ee Use ToLowerInvariant 2020-05-10 23:16:52 +02:00
Максим Багрянцев
54c30c0e1e Fix FormatException when parsing doubles on systems whith ',' whole and fractional parts separator 2020-05-10 18:55:42 +03:00
Malte Rosenbjerg
8583b02687 Outcomment Format48bppRgb tests for now 2020-05-10 14:15:32 +02:00
Malte Rosenbjerg
8d74a3e0d7 Fixes 2020-05-10 11:31:26 +02:00
Malte Rosenbjerg
72366d573a Cleanup 2020-05-09 17:53:03 +02:00
Malte Rosenbjerg
821044f33d Update nuget info 2020-05-08 13:09:31 +02:00
Malte Rosenbjerg
f50ab577ae Fix tests 2020-05-08 13:01:59 +02:00
Malte Rosenbjerg
ec043ef075 Major refactoring 2020-05-08 11:07:51 +02:00
Malte Rosenbjerg
14ea6b1ae1 Init 2020-05-06 23:34:31 +02:00
Malte Rosenbjerg
4abd656b74 Update NuGet info 2020-05-06 22:16:44 +02:00
Malte Rosenbjerg
494e38c14a Fix tests 2020-05-06 21:15:06 +02:00
Malte Rosenbjerg
fe53609b38
Merge branch 'master' into feature/fluent-api 2020-05-06 20:57:26 +02:00
Max Bagryantsev
2bf113e01a
Merge branch 'master' into feature/piping 2020-05-05 15:14:47 +03:00
Malte Rosenbjerg
90ab2d255f
Merge pull request #52 from WeihanLi/fluent-config
config FFMpegOptions with delegate
2020-05-03 23:39:58 +02:00
Максим Багрянцев
5ad1a3931a RawVideoPipeDataWriter updated 2020-05-02 13:39:48 +03:00
Максим Багрянцев
df63417e11 Changed RawVideoPipeDataWriter StreamFormat, Width, Height to be readonly 2020-05-02 13:33:44 +03:00
Weihan Li
398184225b
Merge branch 'master' into clean-dependency 2020-05-02 18:14:03 +08:00
Weihan Li
302ca6f0be
Merge branch 'master' into fluent-config 2020-05-02 18:13:44 +08:00
Максим Багрянцев
f132a3b731 StreamPipeDataWriter & StreamPipeDataReader using Stream.CopyTo 2020-05-02 13:13:22 +03:00
Максим Багрянцев
b007e9105a Fixed VideoInfo ToString when no File is specified 2020-05-02 13:07:34 +03:00
Максим Багрянцев
ee16064f4c Merge remote-tracking branch 'fork/master' into feature/piping 2020-05-02 13:02:01 +03:00
Максим Багрянцев
b4dcd9ffb1 Added ContainsOnlyOneOf insted of CountExistedKeys 2020-05-02 12:41:47 +03:00
weihanli
d6e6f3f36d clean project dependency 2020-05-02 11:41:51 +08:00
weihanli
2c63f93b59 config FFMpegOptions with delegate 2020-05-02 11:26:54 +08:00
Weihan Li
1688e0d6e4
Merge branch 'master' into features/raw-argument 2020-05-02 11:07:04 +08:00
weihanli
eb521ae908 rename RawArgument to CustomArgument 2020-05-02 11:05:44 +08:00
Malte Rosenbjerg
1f7e663765 Merge branch 'master' of https://github.com/rosenbjerg/FFMpegCore 2020-05-01 10:07:43 +02:00
Malte Rosenbjerg
4b88229f72 Add AudioBitrate as separate Argument 2020-05-01 10:07:40 +02:00
Максим Багрянцев
240c9bb23b Added DrawTextOptions 2020-04-30 15:13:47 +03:00
Максим Багрянцев
d8b2cbe3ca Added Fluent API methods for ArgumentContainer 2020-04-30 14:46:20 +03:00
Максим Багрянцев
883185b5ec Added exit code checking to FFProbe stream methods 2020-04-28 22:43:53 +03:00
Максим Багрянцев
412456857f Updated FFmpeg RunProcess and RunProcessAsyncFunctions 2020-04-28 22:40:00 +03:00
Максим Багрянцев
11edbbea2b Updated FFProbe 2020-04-28 22:39:26 +03:00
Максим Багрянцев
06f5c319ad Changed ForceFormatArgument and VideoCodecArgument to string arguments 2020-04-28 22:36:03 +03:00
Максим Багрянцев
b83479e1b6 Updated Input and Output Pipe arguments. Derived them from PipieArgument 2020-04-28 22:34:04 +03:00
Максим Багрянцев
1d51163a05 Simplified ContainsInputOutput implementation 2020-04-28 18:50:29 +03:00
Максим Багрянцев
6845fe3bc7 Added StreamFormat property to StreamPipeDataWriter 2020-04-28 18:43:54 +03:00
Максим Багрянцев
b7099f6709 Renamed IPipeSource to IpipeDataWriter 2020-04-28 18:42:50 +03:00
Максим Багрянцев
8434ffbba6 Added OutputPipeArgument 2020-04-28 18:39:39 +03:00
Максим Багрянцев
f56ea098a5 FromStream method to Video Info & added comments to FFprobe methods with stream 2020-04-28 15:44:27 +03:00
Максим Багрянцев
cfda0fc9ae Added ffprobe stream input 2020-04-28 15:21:48 +03:00
weihanli
1e24b0bef4 return null when file not exits 2020-04-28 19:40:31 +08:00
weihanli
5643544a3b add RawArgument.cs 2020-04-28 12:31:16 +08:00
Максим Багрянцев
9903e333e6 Added StreamPipeSource 2020-04-27 21:22:05 +03:00
Максим Багрянцев
9a4d200483 Updated RawVideoPipeSource.cs 2020-04-27 19:47:56 +03:00
Максим Багрянцев
6f8c7915f8 Added some summaries 2020-04-27 19:46:58 +03:00
Максим Багрянцев
9431f865e3 Merge remote-tracking branch 'fork/master' into feature/piping 2020-04-27 19:42:56 +03:00
Максим Багрянцев
4f51c3d32f Replaced IInputPipe interface with System.IO.Stream 2020-04-27 19:35:53 +03:00
Максим Багрянцев
13d5e3d191 Added input piping 2020-04-27 19:23:31 +03:00
Malte Rosenbjerg
bc76d830d4 Add AudioSamplingRateArgument 2020-04-15 16:46:28 +02:00
Malte Rosenbjerg
d1a1864aa1 Make output file existence check optional 2020-04-15 00:40:51 +02:00
Malte Rosenbjerg
7406cd0fa2 Minor refactor and add async Convert 2020-03-02 23:48:52 +01:00
Malte Rosenbjerg
55a7e74817 Fix progress and add unit test 2020-03-02 22:50:04 +01:00
Malte Rosenbjerg
081627ef25 Update dependency 2020-03-01 13:06:48 +01:00
Malte Rosenbjerg
cdcecda648 Make output capacity configureable and set higher default
Fixes #42
2020-03-01 12:55:57 +01:00
Malte Rosenbjerg
c0e1742330 Add missing using directive 2020-02-27 22:37:58 +01:00
Malte Rosenbjerg
cdade1e73f Correct valid transpose values 2020-02-27 22:31:32 +01:00
Malte Rosenbjerg
21b35d349e Add transpose argument 2020-02-27 21:48:15 +01:00
Malte Rosenbjerg
35a3f9035f Add more audio codecs 2020-02-27 21:13:18 +01:00
Malte Rosenbjerg
46bc75c6d1 Cleanup 2020-02-27 21:12:48 +01:00
Malte Rosenbjerg
6561d0bec1 Use switch expression 2020-02-27 20:24:20 +01:00
Malte Rosenbjerg
0e2c788796 Remove ArgumentStringifier + cleanup
No reason to split the responsibility
2020-02-27 20:16:17 +01:00
Malte Rosenbjerg
293ac4306a Move to separate file 2020-02-27 18:32:45 +01:00
Malte Rosenbjerg
098917a5da Add vbr support 2020-02-27 18:31:57 +01:00
Malte Rosenbjerg
1badd3ba4c Add more AudioQuality presets (enum) 2020-02-27 18:29:27 +01:00
Malte Rosenbjerg
e688bcc674 Add argument for removing metadata 2020-02-27 18:29:09 +01:00
Malte Rosenbjerg
b806f2bbfb Support for faststart 2020-02-27 18:28:55 +01:00
Malte Rosenbjerg
170aefeb32 Support for crf 2020-02-27 18:28:49 +01:00
Malte Rosenbjerg
ebd9ff0adc Add support for drawtext argument 2020-02-25 23:19:30 +01:00
Malte Rosenbjerg
4ea246ee70 Release branch init 2020-02-21 17:40:03 +01:00
Malte Rosenbjerg
4ea76c847a Prepare nuget info 2020-02-21 17:14:07 +01:00
Malte Rosenbjerg
c41b124588 Merge branch 'master' of https://github.com/rosenbjerg/FFMpegCore 2020-02-20 23:04:54 +01:00
Malte Rosenbjerg
6e67f77c32 Refactoring 2020-02-20 23:04:51 +01:00
Crydsch
a2f09b22f1
Merge branch 'master' into master 2020-02-16 17:23:32 +01:00
Malte Rosenbjerg
16a4726426 Bump versions 2020-02-16 11:08:15 +01:00
Crydsch
5daef17b44 Fix NullReferenceException if no duration exists 2020-02-13 20:58:14 +01:00
Crydsch
0b35935b5d Lift restriction of duration to seconds 2020-02-13 17:36:49 +01:00
Cry dsch
fbd9f3fc89 Fix duration parsing of .mkv and .webm files 2020-02-12 21:37:10 +01:00
Cry dsch
f10c01e667 Merge https://github.com/rosenbjerg/FFMpegCore 2020-02-12 21:31:24 +01:00
Cry dsch
a4c7d87e62 Fix duration parsing of .mkv and .webm files 2020-02-12 21:26:27 +01:00
Malte Rosenbjerg
ecf7a711f4 More cleanup 2020-02-12 20:45:16 +01:00
Malte Rosenbjerg
8ee92a40ab Cleanup begun 2020-02-11 22:45:02 +01:00
Cry dsch
16a70ebd72 Fix progress event output when using the convert(ArgumentContainer) function 2020-02-08 20:29:30 +01:00
Tuğrul Elmas
ec03bfe4a6
Arguments: DurationArgument
#33 

* added format provider to correctly parse the video's duration

* added DurationArgument
2020-01-29 16:33:15 +02:00
Vlad Jerca
acf6b10fab chore: bump version 2020-01-29 13:03:20 +02:00
Tuğrul Elmas
d599592084
FFProbe: add format provider to correctly parse the video's duration
#31
2020-01-29 12:54:30 +02:00
Malte Rosenbjerg
7b9b8afac8
FFProbe: expose async methods
#30
2020-01-29 12:53:36 +02:00
Vlad Jerca
8a8b8a968f chore: bump version 2019-09-30 14:15:24 +03:00
Richkovskiy Lev
b5ae935025 InputArgument: use the AbsolutUri value for URLs
If i want to download video from video server i use this code:
string textLinkVideo = "https://vk.com/video_hls.php?dirs%5B240%5D=https%3A%2F%2Fcs531220.vkuservideo.net%2F5%2Fe15NTMyPzc3MA%2Fvideos%2F&dirs%5B360%5D=https%3A%2F%2Fcs531220.vkuservideo.net%2F5%2Fe15NTMyPzc3MA%2Fvideos%2F&path=5%2Fe15NTMyPzc3MA%2Fvideos%2F&extra=6jU8MLGkIpMxHqpAViGv7wXJofsIDdlwBNfwnjifdOnsHTv8e-h7LsyFJabx26lyLTsNfDBDy4u5H2HU0w9fT6114_FzHvFU2l2A-H9B23gan3k48_L60B68aDHTA_CLGKJEesUqTlEgyLlYoQiQiOg&c_extra=w0ZgeFZ-2ZoxqYTYlfwL5LZA5o2enfF0CqLyrQQVEk2owWZFaD2hfnPrzvLWrQfU81A8u5rCXw_CIe_8TDfITX3Cl12YwhBIfVCR4gmDNPYUbB-2tarthA-mOpY5WK77GAOZHs7gwx65i02-wHjGwIA&video=-7865622_456240009&tag=042ea140e4&c_tag=860d1761765a&hash=848f2afe36a72db4ff&lang_id=0&viewer_id=17403755";
FFMpegModel FFMpegModel = new FFMpegModel();
FFMpegModel.DownloadVideoVk(textLinkVideo, filePath);

With AbsolutePath this method return /video_hls.php
With AbsoluteUri this.method return full url
2019-09-30 00:10:08 +03:00
Vlad Jerca
085fa78bf0 chore: bump version 2019-05-20 11:16:22 +03:00
Vlad Jerca
3448a2044b FFMpegOptions: build paths using the Combine util
#12
2019-05-20 11:00:10 +03:00
Vlad Jerca
22f1f574bd chore bump version 2019-05-11 06:43:46 +03:00
Vlad Jerca
4d75640a16 FFMpegCore: remove binaries from repository (use choco)
- improve binary path detection
2019-05-10 20:25:57 +03:00
Vlad Jerca
f25c8f5525 Chore: Bump version 2019-05-03 16:57:13 +03:00
Joshua Hatzenbuehler
61d455b831 FFMpegCore: use Path.DirectorySeparatorChar instead of \\, for non windows based platform dont use target, for non windows based platform dont use .exe 2019-05-02 10:11:00 -05:00
Vlad Jerca
c3206e218d chore: bump version 2019-04-01 12:59:41 +03:00
Vlad Jerca
3e856845ae FFProbe: improve metadata extraction
#3
2019-04-01 12:56:36 +03:00
Vlad Jerca
5e8bb1c185 Chore: bump version 2019-03-28 01:21:36 +02:00
Kyriakos Ioannou
c2a0c3b942 Modify snapshot method (#4)
* When a snapshot is needeed, it's overkill to create the image on the filesystem, then delete it, and then create the image on the filesystem again. With this feature we can avoid this scenario and actually persist the created image on disk

* Apply requested changes by author. Added unit test for persist snapshot
2019-03-28 00:51:41 +02:00
Vlad Jerca
a0de4c1cf6 FFMpegCore: Rethink options configuration 2019-03-04 23:05:01 +02:00
Vlad Jerca
1c8ab3b1da HotFix: propagate ctor options in child classes 2019-03-03 01:17:35 +02:00
Vlad Jerca
0e95615261 Merge pull request #2 from vladjerca/feature/configure_root_ctor
FFMpegCore:  enable root configuration view ctor
2019-03-01 20:52:06 +02:00
Vlad Jerca
02ac7c5ac0 FFMpegCore: enable root configuration view ctor 2019-03-01 20:45:47 +02:00
Vlad Jerca
7dca87a73f HotFix: invalid progress 2019-02-26 23:39:00 +02:00
Vlad Jerca
eab069dbf0 Chore: bump release version and stop packing binaries 2019-02-26 23:01:04 +02:00
Vlad Jerca
7c36ffc873 FFMpegCore: report progress when converting 2019-02-26 21:59:43 +02:00
Vlad Jerca
aed33a3d5c FFMpegCore: support configuration via ffmpeg.config.json 2019-02-26 21:49:08 +02:00
Vlad Jerca
8272dc9c94 FFMpegCore: move argument implementations to seperate folder 2019-02-26 21:46:48 +02:00
Vlad Jerca
3729d65e24 FFMpegCore: use the argument builder in the ffmpeg methods 2019-02-08 22:41:40 +02:00
Vlad Jerca
c215191bf5 FFMpegCore: port lib to .net standard 2019-02-08 22:41:40 +02:00
Vlad Jerca
b52fbdf53d FFMpeg: add binaries 2019-02-08 22:37:58 +02:00