Commit graph

66 commits

Author SHA1 Message Date
Malte Rosenbjerg
1c851dc3ff Handle null dictionaries 2022-03-24 21:15:28 +01:00
Malte Rosenbjerg
c817381139 Remove duplicated property 2022-03-24 21:14:00 +01:00
Malte Rosenbjerg
787804c3a2 Clean warnings 2022-03-24 20:46:02 +01:00
Malte Rosenbjerg
90155efe75 Make Tags and Disposition dictionaries case-insensivite #295 2022-03-24 20:45:49 +01:00
Malte Rosenbjerg
fc86a64b9e Make properties on MediaStream classes for deserialization #296 2022-03-24 20:37:27 +01:00
Malte Rosenbjerg
da251e99ad Support cancellationtoken on async ffprobe calls #299 2022-03-24 20:34:25 +01:00
Malte Rosenbjerg
2133d31021 Expose avg_frame_rate as AverageFrameRate on VideoStream #300 2022-03-24 20:27:09 +01:00
Malte Rosenbjerg
1022f88019 Merge branch 'master' into update/update-instances-dependency 2022-03-12 19:07:05 +01:00
Malte Rosenbjerg
7f8bd24058 Init 2022-03-12 19:06:46 +01:00
Notheisz57
1d2c0f760b
Update FFProbe.cs
Pass FFOptions argument in call to GlobalFFOptions.GetFFProbeBinaryPath
2022-01-29 19:29:45 -08:00
Alex Zhukov
239e2aef42 parse ffprobes -show_packets output 2021-11-08 06:28:16 -08:00
Malte Rosenbjerg
c2d28055c1 Support for specyfying process working directory through FFOptions (#272) 2021-11-01 18:13:23 +01:00
Rich Gerber
b8fefc6a0d Change Int32 to long for BitRate 2021-10-26 11:47:46 -07:00
Malte Rosenbjerg
2b7cd6f7ca Merge branch 'master' into pr/255 2021-10-21 20:40:25 +02:00
Malte Rosenbjerg
79bc918917 Minor improvements 2021-10-21 20:36:54 +02:00
Konstantin Samburov
9ff82337f6 Fix throwing exception for AnalyseAsync if ExitCode not 0. 2021-10-11 12:25:41 +09:00
Andrew Morgan
93131a7cd0 Adding support for ffprobe show frames 2021-09-24 10:23:59 +01:00
alex6dj
d79bbaef97 Use boolean instead on generic int for disposition state value 2021-09-07 12:48:05 -04:00
alex6dj
41ec1a10dd Get extra disposition data in MediaStream 2021-09-06 23:08:36 -04:00
Warrick Wilson
ac2b358fad Added CodecTag and CodecTagString properties to info derived from an FFProbe.Analyse() call. This allows for specific codecs to be identified to check compatibility with hardware limitations. 2021-08-09 14:52:39 -05:00
alex6dj
f80d1fa3a6 Basic ffprobe subtitle support 2021-07-31 15:34:47 -04:00
Malte Rosenbjerg
27fb37700c Improve ffprobe exceptions 2021-07-16 01:02:38 +02:00
cephei
ab82e3cc0f support specific StandardOutputEncoding & StandardErrorEncoding for ffprobe 2021-07-08 20:17:09 +08:00
Malte Rosenbjerg
1d6517796f Fix tests 2021-03-15 23:43:22 +01:00
Malte Rosenbjerg
5a2ebcf0f3
Merge branch 'master' into master 2021-03-15 23:20:27 +01:00
Malte Rosenbjerg
8a314f02ae Move MediaAnalysis parsing helper methods to static class 2021-03-15 23:17:56 +01:00
Malte Rosenbjerg
df0205fb11 Cleanup 2021-03-07 00:26:08 +01:00
Malte Rosenbjerg
a12c322de9 Add ConfigureAwait(false) 2021-03-06 23:05:38 +01:00
Malte Rosenbjerg
4f28983972 Init 2021-03-05 18:06:40 +01:00
crypton
35ca34c0b0 ffprobe duration parsing
- on large recordings (e.g. radio transmissions), ffprobe might return number of hours which is too large for TimeSpan.Parse (exception: The TimeSpan string '149:07:50.911750' could not be parsed because at least one of the numeric components is out of range or contains too many digits.)
- use regex groups to extract components (hours/minutes/seconds/millis) then parse/create new timespan from that
- NOTICE: this will discard microseconds provided by ffprobe, not sure if this is significant
- ffprobe has inconsitencies with how it represents millisecond component. Sometimes it may return just `82` for 820 milliseconds, so padding with 0s is required on the left. Likewise, sometimes it might return microseconds past milliseconds (first 3 significant figures); this is currently discarded
- Added InternalsVisibleTo to help with unit testing *just* the duration parsing function
2021-02-06 16:50:12 -08:00
Malte Rosenbjerg
66cdb302ef Return null when no format detected during analysis 2021-02-03 23:20:12 +01:00
hey-red
f603163e25 Add tags on media stream and format 2021-01-29 16:03:59 +03:00
Malte Rosenbjerg
f648a4b234 Include ffprobe std output in exception 2020-12-08 23:30:10 +01:00
Malte Rosenbjerg
8b45a6b680 Init 2020-12-03 20:47:20 +01:00
Malte Rosenbjerg
5ba2ed97cf Update dependencies and add StreamPipeSink constructor 2020-11-25 16:15:16 +01:00
Malte Rosenbjerg
6b1e411bfe Cleanup 2020-10-27 00:49:28 +01:00
Malte Rosenbjerg
61387fa5be Check for existence before analysing with ffprobe 2020-10-25 17:12:16 +01:00
Malte Rosenbjerg
010e9947e9 New API 2020-10-24 22:31:54 +02:00
Malte Rosenbjerg
0136d49edf Check ffmpeg/ffprobe availability #75 2020-10-24 22:18:16 +02:00
Malte Rosenbjerg
78919dcdcf Merge branch 'master' of https://github.com/rosenbjerg/FFMpegCore 2020-08-27 16:38:10 +02:00
Malte Rosenbjerg
32e7f16979 Add creation-time getter property 2020-08-27 16:38:07 +02:00
Rafael Carvalho
1c79e139fd Update MediaAnalysis's access modifier to internal 2020-08-12 17:22:32 +12:00
Rafael Carvalho
37a04a37cd Update existing references to use IMediaAnalysis 2020-08-12 17:22:10 +12:00
Rafael Carvalho
725c8b31ee Implement IMediaAnalysis in MediaAnalysis class 2020-08-12 17:18:10 +12:00
Rafael Carvalho
8c77ce0cdf Add IMediaAnalysis interface 2020-08-12 17:17:34 +12:00
Malte Rosenbjerg
0c19874be3 Make tags more flexible (dictionary) 2020-08-11 00:46:08 +02:00
Malte Rosenbjerg
8576154d3f Clean unused using directives 2020-07-20 15:26:34 +02:00
Malte Rosenbjerg
29d8829d48 Fix warnings 2020-07-13 23:56:12 +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
f3c99dffb6 Fix NullRefException in ParseFormat 2020-06-21 21:23:16 +02:00