Commit Graph

1102 Commits

Author SHA1 Message Date
Maksim Shabunin
001a2c5195
Merge pull request #23606 from mshabunin:fix-ffmpeg-packet-limit
videoio/FFmpeg: increased packet read attempt limit, allow configuring it

resolves #9455
related #3225

* Use different counters for wrong packets recieved by demuxer and errors from decoder
* Allow modifying these counters via environment variables `OPENCV_FFMPEG_READ_ATTEMPTS`/`OPENCV_FFMPEG_DECODE_ATTEMPTS`
* Added logging when reading breaks at one of error limits

Notes:
* I've been able to reproduce original issue with a video file with 14 total streams (video + audio + subtitles), at some point in the video only packets from the last stream are being sent by the demuxer, thus exceeding our limit. For my specific video total number of packets from wrong stream was about 2700. I've chosen 4096 as default value.
* Default limit of decoding attempts is quite low, because I'm not sure in which cases it can be exceeded (network stream?). I tried to read 8k video from the disk, but it did not cause break at decode point.
2023-05-16 14:31:04 +03:00
vovka643
d6dc91b4d4 Added depricated_backends list. Added new information masseges. It needs to inform user, when he tries to use depricated or not uses backend 2023-05-05 14:22:18 +03:00
kallaballa
a2be9e9fc1 Log a debug message if a capture backend is generally available but isn't capabable of a capture mode. 2023-05-04 19:18:58 +03:00
cudawarped
871f931e95 VideoCapture: apply bitstream filter to all h264/5 raw streams 2023-04-25 13:52:28 +03:00
Alexander Smorkalov
b68aa12572
Merge pull request #23375 from mshabunin:fix-v4l-verify
cmake: fix V4L config verification conflict with OBSENSOR
2023-04-18 13:05:04 +03:00
gottagofaster236
d30830d0a6 Use NV12 instead of YUY2 for OBS Virtual Camera. 2023-04-09 01:56:03 +02:00
gottagofaster236
b4e3359448 Fix OBS Virtual Camera capture. 2023-04-05 08:04:35 +02:00
Alexander Smorkalov
f5fd3e7d65
Merge pull request #23367 from LaurentBerger:msmf_doc
Note for MSMF in doc
2023-03-24 17:16:52 +03:00
Alexander Smorkalov
d3cc507380 Added reference to Media Foundation. 2023-03-23 16:58:22 +03:00
ippei.i
a60408cda5
Merge pull request #23300 from ippei-i:CAP_PROP_AUTO_WB-and-CAP_PROP_WHITE_BALANCE_BLUE_U_support_in_CAP_DSHOW
Support VideoCapture CAP_PROP_AUTO_WB and CV_CAP_PROP_WHITE_BALANCE_BLUE_U for DShow

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [OK] I agree to contribute to the project under Apache 2 License.
- [OK] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [OK] The PR is proposed to the proper branch
- [OK] There is a reference to the original bug report and related work
https://github.com/opencv/opencv/issues/19621
https://github.com/opencv/opencv/issues/21408

### Before apply this pull request console output.

before AWB setting
CAP_PROP_WHITE_BALANCE_BLUE_U: 2000
CAP_PROP_AUTO_WB: -1

after AWB disable setting
CAP_PROP_WHITE_BALANCE_BLUE_U: 2000
CAP_PROP_AUTO_WB: -1

after AWB enable setting
CAP_PROP_WHITE_BALANCE_BLUE_U: 2000
CAP_PROP_AUTO_WB: -1

after Manual WB(and Disable AWB) setting
CAP_PROP_WHITE_BALANCE_BLUE_U: 2000
CAP_PROP_AUTO_WB: -1

### After apply this pull request console output.

before AWB setting
CAP_PROP_WHITE_BALANCE_BLUE_U: 2000
CAP_PROP_AUTO_WB: 0

after AWB disable setting
CAP_PROP_WHITE_BALANCE_BLUE_U: 4000
CAP_PROP_AUTO_WB: 0

after AWB enable setting
CAP_PROP_WHITE_BALANCE_BLUE_U: 4000
CAP_PROP_AUTO_WB: 1

after Manual WB(and Disable AWB) setting
CAP_PROP_WHITE_BALANCE_BLUE_U: 2000
CAP_PROP_AUTO_WB: 0

### Test Code
[OpenCvVideoCapTest.zip](https://github.com/opencv/opencv/files/10825399/OpenCvVideoCapTest.zip)
2023-03-21 14:29:24 +03:00
Maksim Shabunin
aef1fc087d cmake: fix V4L config verification conflict with OBSENSOR 2023-03-19 10:58:47 +03:00
unknown
a2e04718ec te for MSMF in doc 2023-03-17 13:36:47 +01:00
Alexander Alekhin
0052d46b8e Merge pull request #23237 from hzcyf:feature/orbbec_femto_mega_support 2023-03-01 07:13:22 +00:00
Alexander Alekhin
bdff0949bb dnn(tflite): add 3rdparty flatbuffers with pre-generated schema 2023-02-21 16:06:19 +00:00
hzcyf
325fe7e663 add support for Orbbec Femto Mega RGB-D camera 2023-02-11 16:22:35 +08:00
Maksim Shabunin
e4acd74e87 Fix some clang 14 warnings 2023-02-07 01:19:00 +03:00
Lilo Huang
cb7fe597a5
Merge pull request #23172 from lilohuang:master
Adding HEVC/H265 FourCC support to MSMF video writer

* Adding HEVC/H265 fourcc to MSMF video writer

Adding HEVC/H265 fourcc to MSMF video writer. I have verified it with my own video input stream, and it works well on my workstation.

* Update video io testing

* Adding macro fence to get rid of compiler error

H265/HEVC encoder is only available in Windows or later. https://learn.microsoft.com/en-us/windows/win32/medfound/h-265---hevc-video-encoder

* Update test_video_io.cpp
2023-01-25 04:49:08 +00:00
Maksim Shabunin
c1e5c16ff3 Backport C-API cleanup (imgproc) from 5.x 2023-01-16 23:29:50 +03:00
Alexander Alekhin
36815fe3f3 videoio(test): skip unstable Media.audio test 2023-01-09 10:06:10 +00:00
Alexander Alekhin
dbd4a0e5e6 videoio(ffmpeg): update tests with new Windows wrapper 2022-12-26 02:32:11 +00:00
Maxim Milashchenko
62b3a20da5
Merge pull request #22930 from MaximMilashchenko:gstreamer_support
Support one-time audio video reading

* stream switching functionality

* audio+video pipeline with switch stream functionality

* audio video sync

* fixed sync

* removed switch swtream functionality

* changed test for gstreamer audio

* fixed error

* fixed error

* fixed issue

* fixed issue

* fixed error

* fixed error

* fixed error
2022-12-23 10:15:22 +00:00
Alexander Alekhin
8676d19dc3 videoio(ffmpeg): limit number of default threads 2022-12-22 04:45:29 +00:00
Alexander Alekhin
f4b23de9dd videoio(v4l): initialize variables 2022-12-21 03:28:09 +00:00
Alexander Smorkalov
9f201a8ebe
Merge pull request #22979 from alalek:fix_videio_test_limit_threads
videoio(test): reduce number of test threads
2022-12-19 10:01:43 +03:00
Alexander Alekhin
420db56ffd Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2022-12-18 02:17:17 +00:00
Alexander Alekhin
cdaf4c7321 videoio(test): reduce number of test threads 2022-12-18 00:02:07 +00:00
hzc
47fb79bd8c
Merge pull request #22936 from hzcyf:orbbec_new_cam_support
videoio: add Orbbec Gemini 2 and Astra 2 camera support

### Test Result

| OS | Compiler | Camera | Result |
|-----|-----------|---------|--------|
|Windows11| (VS2022)MSVC17.3|Orbbec Gemini 2|Pass|
|Windows11| (VS2022)MSVC17.3|Orbbec Astra 2|Pass|
|Ubuntu22.04|GCC9.2|Orbbec Gemini 2|Pass|
|Ubuntu22.04|GCC9.2|Orbbec Astra 2|Pass|

### Pull Request Readiness Checklist
- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] The feature is well documented and sample code can be built with the project CMake
2022-12-16 12:23:12 +03:00
Alexander Smorkalov
3f22f4727c
Merge pull request #22919 from asmorkalov:as/gstreamer_read_timeout
Address https://github.com/opencv/opencv/issues/22868
Used the same defaults as it's done for FFmpeg

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake


```
force_builders=Custom
build_image:Custom=gstreamer:16.04
buildworker:Custom=linux-1
```
2022-12-15 12:53:22 +03:00
Alexander Alekhin
04c3a534af Merge pull request #22958 from asmorkalov:as/ffmpeg_missing_include 2022-12-14 21:16:07 +00:00
Sergei Shutov
8bd17163c7
Merge pull request #22939 from stopmosk:21826-python-bindings-for-videocapturewaitany
Add Python bindings for VideoCapture::waitAny #21826

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
2022-12-14 22:15:02 +03:00
Alexander Smorkalov
189e1b228d Fix missing FFmpeg include needed for av_get_pix_fmt_name 2022-12-14 13:09:37 +03:00
Vadim Levin
727feda935 fix: AVFoundation inconsistent camera indices 2022-12-12 17:15:46 +03:00
Alexander Alekhin
39087fecdc
Merge pull request #22942 from alalek:videoio_test_update_hw_checks
* videoio(test): update PSNR check for H264/265

* videoio(test): reduce size for ffmpeg tests on 32-bit platforms
2022-12-12 12:38:14 +00:00
Alexander Alekhin
24d7eb0ca5 videoio(test): test skip due to non-updated FFmpeg wrapper 2022-12-08 17:18:29 +00:00
Maksim Shabunin
6ad216576d videoio/FFmpeg: added CV_16UC1 read/write support 2022-12-07 12:12:31 +03:00
Maksim Shabunin
5862b50217 videoio: fixed FFmpeg plugin build 2022-12-01 20:26:08 +03:00
Alexander Smorkalov
1192779d05
Merge pull request #22792 from tailsu:sd/avfoundation-orientation-meta
Add support for CAP_PROP_ORIENTATION_AUTO to AVFoundation backend
2022-11-30 14:25:09 +03:00
Stefan Dragnev
a462f49b99 add support for CAP_PROP_ORIENTATION_AUTO to AVFoundation backend
* extract rotateFrame as free function, rename to applyMetadataRotation
* LegacyCapture::get() always return 0, if cap is null
2022-11-25 17:25:13 +01:00
Amir Hassan
da4ac6b7ef
Merge pull request #22706 from kallaballa:libavdevice_for_ffmpeg_v4l2
Introduce libavdevice to make v4l2 available to the ffmpeg backend

* introduce libavdevice to make v4l2 available to the ffmpeg backend

* downgrade the min required libavdevice version to 53.2.0

* make libavdevice optional

* create OCV_OPTION OPENCV_FFMPEG_ENABLE_LIBAVDEVICE and add definition through ocv_add_external_target

* move OCV_OPTION 'OPENCV_FFMPEG_ENABLE_LIBAVDEVICE' to detect_ffmpeg.cmake
2022-11-11 22:28:02 +00:00
Alexander Smorkalov
f644634aa6
Merge pull request #22702 from kallaballa:ffmpeg_environment_variables
Dump the values of OPENCV_FFMPEG_CAPTURE_OPTIONS and OPENCV_FFMPEG_WRITER_OPTIONS to debug log
2022-10-27 12:18:52 +03:00
kallaballa
547f4c2c5a print a debug message if the environment variables OPENCV_FFMPEG_CAPTURE_OPTIONS and OPENCV_FFMPEG_WRITER_OPTIONS are set 2022-10-27 00:27:17 +02:00
Alexander Smorkalov
a6fadfe1c2 libav for jetson tk1 does not provide libavutil/display.h. 2022-10-25 10:21:20 +03:00
Hashem Zavvari
6eb34716b8
Merge pull request #22635 from hzawary:4.x
Setting CAP_PROP_AUTO_EXPOSURE on VideoCapture with backend DSHOW does not change anything. Now with this implementation the property can be used with value 1 for availability.
2022-10-18 11:13:08 +03:00
Alexander Alekhin
762481411d Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2022-10-15 16:44:47 +00:00
Alexander Smorkalov
0ac67ee8d9
Merge pull request #22343 from komakai:android_cam_polling
Poll for frame data if acquisition fails after OnCaptureCompleted
2022-09-19 08:51:13 +03:00
Alexander Alekhin
66b3155a48 Merge pull request #22332 from komakai:android-cam-stride 2022-09-18 14:26:11 +00:00
Giles Payne
b3adffe437 Android Camera: poll for frame data if acquisition fails after OnCaptureCompleted 2022-09-18 13:41:36 +09:00
Alexander Smorkalov
a6017ac550
Merge pull request #22145 from danopdev:issues-22141
Fixed  time value obtained on some frames at the end of the video #22141
2022-09-15 19:18:58 +03:00
Alexander Smorkalov
48e50a7674 Extended video timestamp test to cover fix for the issue #22141. 2022-09-15 18:03:23 +03:00
Dan
122250b554 fix #22490 2022-09-15 13:24:18 +02:00