Commit graph

78 commits

Author SHA1 Message Date
Malte Rosenbjerg
b31c8da7ae Fix tags container null ref exception 2023-10-05 08:58:50 +02:00
Malte Rosenbjerg
54e216d3e0 Bump nuget version and cleanup 2023-02-21 18:27:26 +01:00
Malte Rosenbjerg
3837edee8c Init (#389)
Former-commit-id: 4ec200528c
2023-02-04 23:42:13 +01:00
pklaes
737eea3a98 fix: Switch source for rotation property from 'tags/rotate' to 'side_data_list/rotation' (incl. test case) (#388)
Former-commit-id: d051cd06d2
2023-02-04 22:17:39 +01:00
Malte Rosenbjerg
693acabac4 Cleanup after splitting into two packages (#386)
* Move PosterWithAudio to FFMpegCore

* Reduce windows only tests

* Update Directory.Build.props

* Create .editorconfig

* More cleanup

* Enable implicit usings

* Remove unused method

* Apply dotnet format

* Fix unused variable in AudioGateArgument

* Fix boolean conditions in AudioGateArgument

* Merge boolean conditions into pattern

* Use target-typed new

* Add linting to CI

* Add CUDA to HardwareAccelerationDevice enum

* Increase timeout for Video_Join_Image_Sequence

* Adjust Video_Join_Image_Sequence timeout

* Fix expected seconds in Video_Join_Image_Sequence

* Increase timeout for Video_TranscodeToMemory due to macos agents

Former-commit-id: f9f7161686
2023-02-02 21:19:45 +01:00
Tom Bogle
7dfefbdfdb Added ability to retrieve bit depth from media streams for lossless encodings (#359)
* Added ability to retrieve bit depth from media streams for lossless encodings

* Shortened sample AIFF file used in tests

Former-commit-id: db7e1e4995
2023-02-01 08:09:16 +01:00
keg247
1dd2685aff Add SampleAspectRatio property to VideoStream
Former-commit-id: 02de377093
2023-01-31 22:41:57 +01:00
jeroenvanderschoot
c2db2a35a1 Add Uri support for Frame Analysis,
skipped Stream support as this cannot support MP4's with moov atom in the end of the file, and input pipes do not support seek.


Former-commit-id: 31b93b3ed6
2023-01-31 20:39:00 +01:00
Malte Rosenbjerg
766bec2112 Cleanup
Former-commit-id: 476c8f33c0
2023-01-29 23:01:26 +01:00
Malte Rosenbjerg
c35372f5d9 Merge branch 'master' into patch-3
Former-commit-id: b8298d90b3
2022-04-05 21:35:58 +02:00
Malte Rosenbjerg
cfbecdfa9c Handle null dictionaries
Former-commit-id: 1c851dc3ff
2022-03-24 21:15:28 +01:00
Malte Rosenbjerg
f9d9458ebb Remove duplicated property
Former-commit-id: c817381139
2022-03-24 21:14:00 +01:00
Malte Rosenbjerg
93c2b62a08 Clean warnings
Former-commit-id: 787804c3a2
2022-03-24 20:46:02 +01:00
Malte Rosenbjerg
6a7714a157 Make Tags and Disposition dictionaries case-insensivite #295
Former-commit-id: 90155efe75
2022-03-24 20:45:49 +01:00
Malte Rosenbjerg
549856f619 Make properties on MediaStream classes for deserialization #296
Former-commit-id: fc86a64b9e
2022-03-24 20:37:27 +01:00
Malte Rosenbjerg
c84c68407d Support cancellationtoken on async ffprobe calls #299
Former-commit-id: da251e99ad
2022-03-24 20:34:25 +01:00
Malte Rosenbjerg
21e5b9634f Expose avg_frame_rate as AverageFrameRate on VideoStream #300
Former-commit-id: 2133d31021
2022-03-24 20:27:09 +01:00
Malte Rosenbjerg
18fb77985a Merge branch 'master' into update/update-instances-dependency
Former-commit-id: 1022f88019
2022-03-12 19:07:05 +01:00
Malte Rosenbjerg
52bf2ec4d0 Init
Former-commit-id: 7f8bd24058
2022-03-12 19:06:46 +01:00
Notheisz57
eec2c3b375 Update FFProbe.cs
Pass FFOptions argument in call to GlobalFFOptions.GetFFProbeBinaryPath

Former-commit-id: 1d2c0f760b
2022-01-29 19:29:45 -08:00
Jonas Kamsker
f06131a10f Added errordata to analysis
Former-commit-id: 3324cbb528
2022-01-12 01:03:51 +01:00
Jonas Kamsker
974c984d6c Update FFProbeAnalysis.cs
Former-commit-id: 07470ec153
2022-01-12 01:01:40 +01:00
Alex Zhukov
4608b590e1 parse ffprobes -show_packets output
Former-commit-id: 239e2aef42
2021-11-08 06:28:16 -08:00
Malte Rosenbjerg
079760d044 Support for specyfying process working directory through FFOptions (#272)
Former-commit-id: c2d28055c1
2021-11-01 18:13:23 +01:00
Rich Gerber
f47e64789b Change Int32 to long for BitRate
Former-commit-id: b8fefc6a0d
2021-10-26 11:47:46 -07:00
Malte Rosenbjerg
3ea68c4fb8 Merge branch 'master' into pr/255
Former-commit-id: 2b7cd6f7ca
2021-10-21 20:40:25 +02:00
Malte Rosenbjerg
75fa1db64f Minor improvements
Former-commit-id: 79bc918917
2021-10-21 20:36:54 +02:00
Konstantin Samburov
9f3debb9f1 Fix throwing exception for AnalyseAsync if ExitCode not 0.
Former-commit-id: 9ff82337f6
2021-10-11 12:25:41 +09:00
Andrew Morgan
dbccc116fe Adding support for ffprobe show frames
Former-commit-id: 93131a7cd0
2021-09-24 10:23:59 +01:00
alex6dj
2b6a74dd7e Use boolean instead on generic int for disposition state value
Former-commit-id: d79bbaef97
2021-09-07 12:48:05 -04:00
alex6dj
57e2585f52 Get extra disposition data in MediaStream
Former-commit-id: 41ec1a10dd
2021-09-06 23:08:36 -04:00
Warrick Wilson
cbd33fd553 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.
Former-commit-id: ac2b358fad
2021-08-09 14:52:39 -05:00
alex6dj
bd7dcf9edd Basic ffprobe subtitle support
Former-commit-id: f80d1fa3a6
2021-07-31 15:34:47 -04:00
Malte Rosenbjerg
33ab024a60 Improve ffprobe exceptions
Former-commit-id: 27fb37700c
2021-07-16 01:02:38 +02:00
cephei
2f66d24fa5 support specific StandardOutputEncoding & StandardErrorEncoding for ffprobe
Former-commit-id: ab82e3cc0f
2021-07-08 20:17:09 +08:00
Malte Rosenbjerg
263645f83b Fix tests
Former-commit-id: 1d6517796f
2021-03-15 23:43:22 +01:00
Malte Rosenbjerg
8817b4c765 Merge branch 'master' into master
Former-commit-id: 5a2ebcf0f3
2021-03-15 23:20:27 +01:00
Malte Rosenbjerg
e1f319e074 Move MediaAnalysis parsing helper methods to static class
Former-commit-id: 8a314f02ae
2021-03-15 23:17:56 +01:00
Malte Rosenbjerg
7457168c44 Cleanup
Former-commit-id: df0205fb11
2021-03-07 00:26:08 +01:00
Malte Rosenbjerg
b3032a4ab2 Add ConfigureAwait(false)
Former-commit-id: a12c322de9
2021-03-06 23:05:38 +01:00
Malte Rosenbjerg
77e2403902 Init
Former-commit-id: 4f28983972
2021-03-05 18:06:40 +01:00
crypton
83c9478007 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


Former-commit-id: 35ca34c0b0
2021-02-06 16:50:12 -08:00
Malte Rosenbjerg
08c898b56d Return null when no format detected during analysis
Former-commit-id: 66cdb302ef
2021-02-03 23:20:12 +01:00
hey-red
e9ac0951ee Add tags on media stream and format
Former-commit-id: f603163e25
2021-01-29 16:03:59 +03:00
Malte Rosenbjerg
76a977bcd6 Include ffprobe std output in exception
Former-commit-id: f648a4b234
2020-12-08 23:30:10 +01:00
Malte Rosenbjerg
c691dba8e8 Init
Former-commit-id: 8b45a6b680
2020-12-03 20:47:20 +01:00
Malte Rosenbjerg
717d61dd07 Update dependencies and add StreamPipeSink constructor
Former-commit-id: 5ba2ed97cf
2020-11-25 16:15:16 +01:00
Malte Rosenbjerg
b0e3d157d3 Cleanup
Former-commit-id: 6b1e411bfe
2020-10-27 00:49:28 +01:00
Malte Rosenbjerg
c49225af58 Check for existence before analysing with ffprobe
Former-commit-id: 61387fa5be
2020-10-25 17:12:16 +01:00
Malte Rosenbjerg
9434715fba New API
Former-commit-id: 010e9947e9
2020-10-24 22:31:54 +02:00