Isaac Connor
|
518270a9ac
|
Must set keyframe and codec_type of zm_packet
|
2021-01-27 12:50:17 -05:00 |
Isaac Connor
|
1ca93c4211
|
accept packets with image as video
|
2021-01-27 12:49:54 -05:00 |
Isaac Connor
|
6df865cd08
|
spacing
|
2021-01-27 12:49:37 -05:00 |
Isaac Connor
|
d741f4ba04
|
accept packets with image data
|
2021-01-27 12:49:27 -05:00 |
Isaac Connor
|
e28c724742
|
fix return values of Prime, Pre and PostCapture
|
2021-01-27 12:07:35 -05:00 |
Isaac Connor
|
be893fe9e4
|
Since we loop in here, need to lock the packetqueue
|
2021-01-27 11:48:32 -05:00 |
Isaac Connor
|
bbba0f679b
|
Don't need to set timebase. Continue supporting old ffmpeg
|
2021-01-27 11:48:32 -05:00 |
Isaac Connor
|
f3ea237af1
|
Fix build without RTSP
|
2021-01-27 10:50:07 -05:00 |
Isaac Connor
|
ef3440e5b8
|
Fix including rtsp server code
|
2021-01-27 10:08:42 -05:00 |
Isaac Connor
|
905912a8dd
|
Don't need to checkInitialized in event stream. We don't assign a monitor and don't need to connect to it
|
2021-01-27 10:07:57 -05:00 |
Isaac Connor
|
d594fbcd49
|
Some fixes for unused code (will be used in future)
|
2021-01-26 18:29:34 -05:00 |
Isaac Connor
|
27011ab49b
|
Fix bulid without liveMedia
|
2021-01-26 18:29:02 -05:00 |
Isaac Connor
|
42abe5c917
|
include hwcontext in zm_ffmpeg.h so that it gets included where needed
|
2021-01-26 18:28:11 -05:00 |
Isaac Connor
|
4dcce4ac95
|
Merge branch 'rtsp_server'
|
2021-01-26 14:22:10 -05:00 |
Isaac Connor
|
bfaed28cff
|
use config.min_rtsp_port to determine if we start up the rtsp server. Move the sleep on failure to capture down below shutting everything down.
|
2021-01-26 14:20:03 -05:00 |
Isaac Connor
|
33f934b9ab
|
Use config.min_rtsp_port instead of hard coded base port
|
2021-01-26 14:14:29 -05:00 |
Isaac Connor
|
4159baac06
|
Use 10 seconds of queue instead of a fixed packet count. Audio generates more frames than video so they get way out of sync.
|
2021-01-26 14:14:05 -05:00 |
Isaac Connor
|
7e11d28031
|
Remove duplicated debug
|
2021-01-26 12:25:11 -05:00 |
Isaac Connor
|
a209d493ef
|
Handle null video_in_ctx. Better debug. Always flush codecs
|
2021-01-26 12:24:43 -05:00 |
Isaac Connor
|
e73e6aaabc
|
check for terminating before locking packetqueue. Handle when pre_event_count==0
|
2021-01-26 12:23:44 -05:00 |
Isaac Connor
|
e4831909d6
|
get_packet can return null if we are terminating
|
2021-01-26 12:22:26 -05:00 |
Isaac Connor
|
7cc21b0d0b
|
Always load AvFrame to RGBA
|
2021-01-26 12:22:07 -05:00 |
Isaac Connor
|
e226618300
|
better debug of video/audio frames
|
2021-01-26 12:21:51 -05:00 |
Isaac Connor
|
cd9b3fb1f6
|
add static Mode_Strings
|
2021-01-26 12:21:21 -05:00 |
Isaac Connor
|
0ecbe29ac0
|
Handle no frame/duration information more gracefully
|
2021-01-26 12:20:55 -05:00 |
Isaac Connor
|
e10d15fa91
|
Only write db entries for video frames but do write them even if no decoded image
|
2021-01-26 12:20:32 -05:00 |
Isaac Connor
|
f731a5dc8f
|
Add StreamMode_Strings for printing out mode
|
2021-01-26 09:50:41 -05:00 |
Isaac Connor
|
835cc8076e
|
Cleanup constructor, using initializers. Pass in CodecContexts as well. We need them for timebases. Fixes passthrough timestamps.
|
2021-01-25 18:50:35 -05:00 |
Isaac Connor
|
6394c620ad
|
add stream index to debug
|
2021-01-25 13:23:57 -05:00 |
Isaac Connor
|
a0df09dcaa
|
Have to check for lock on video keyframe as well
|
2021-01-25 12:07:56 -05:00 |
Isaac Connor
|
baf39b0d4f
|
add adts_source
|
2021-01-24 20:16:54 -05:00 |
Isaac Connor
|
8a1686076a
|
break long line
|
2021-01-22 20:24:29 -05:00 |
Isaac Connor
|
7feb252f81
|
code style
|
2021-01-22 20:24:12 -05:00 |
Isaac Connor
|
9d2598da13
|
cleanup and add AAC support. Also stop source threads
|
2021-01-22 20:23:30 -05:00 |
Isaac Connor
|
afc7c86eac
|
add AAC support
|
2021-01-22 20:22:50 -05:00 |
Isaac Connor
|
2561a07d86
|
provide a simple SDP line
|
2021-01-22 20:21:28 -05:00 |
Isaac Connor
|
d03e5fbe20
|
cleanup
|
2021-01-22 19:29:19 -05:00 |
Isaac Connor
|
71ebae27eb
|
Use codecpar instead of codec which is deprecated
|
2021-01-22 19:29:01 -05:00 |
Isaac Connor
|
c7b8d7bda9
|
get rid of useThread. We will always have a thread
|
2021-01-22 19:26:00 -05:00 |
Isaac Connor
|
afd57ec307
|
Add a base extractFrame that just treats the entire buffer as a frame
|
2021-01-22 19:25:38 -05:00 |
Isaac Connor
|
c94e2c0f13
|
cleanup
|
2021-01-22 19:24:27 -05:00 |
Isaac Connor
|
08165c06df
|
Add audio details to zm_dump_codecpar
|
2021-01-22 19:24:15 -05:00 |
Isaac Connor
|
1a400be11c
|
add zm_rtsp_server_adts_source.cpp to build
|
2021-01-22 19:23:36 -05:00 |
Isaac Connor
|
ea8f264724
|
Merge branch 'release-1.34'
|
2021-01-22 15:54:06 -05:00 |
Terry Sanders
|
c21e02e3c7
|
Fixed issue where mysql_free_result can get called twice when a vaild username with an incorrect password is used.
|
2021-01-22 12:23:38 -05:00 |
Isaac Connor
|
f9fc10b394
|
When not capturing don't try to create mmap. Fixes #3112
|
2021-01-22 12:23:13 -05:00 |
Isaac Connor
|
f1686cfe9a
|
When not capturing don't try to create mmap. Fixes #3112
|
2021-01-22 12:11:43 -05:00 |
Isaac Connor
|
01ec57f902
|
remove test for negative pts. Negative pts is ok. Have been running this in master for a while with no negative effects.
|
2021-01-22 12:07:47 -05:00 |
Isaac Connor
|
a30a473981
|
fix passing in audiostream
|
2021-01-21 10:27:15 -05:00 |
Isaac Connor
|
b8eac366b7
|
pts is an int
|
2021-01-21 10:27:02 -05:00 |
Isaac Connor
|
d0380fb89b
|
cleanup, start roughing in audio stream support
|
2021-01-21 10:26:46 -05:00 |
Isaac Connor
|
44245a9a4f
|
spacing typos
|
2021-01-21 10:25:26 -05:00 |
Isaac Connor
|
8a9111d0b3
|
spacing
|
2021-01-21 10:25:09 -05:00 |
Isaac Connor
|
35c72b32dd
|
Cleanup. Remove stats stuff. Code now works so remove other options. Re-implement extractFrame as it was broken. It would skip shortmarkers.
|
2021-01-21 10:23:30 -05:00 |
Isaac Connor
|
66c78e5a9b
|
Merge branch 'zma_to_thread' into rtsp_server
|
2021-01-19 13:43:25 -05:00 |
Terry Sanders
|
ef006ca407
|
Fixed issue where mysql_free_result can get called twice when a vaild username with an incorrect password is used.
|
2021-01-19 14:47:11 +00:00 |
Isaac Connor
|
b1b72ec85b
|
Improve debugging. Add parenthesis to fix test for end. I think the * dereference is not being applied at the right time.
|
2021-01-19 09:46:08 -05:00 |
Isaac Connor
|
256080abb1
|
Fix crash of Reload() due to Load() clearing shared_data and mem_ptr. Load() shouldn't do these kinds of initialisations.
|
2021-01-19 09:44:53 -05:00 |
Isaac Connor
|
fec3dc763f
|
Cleanups. Apply crf to encoding to fix encoding video
|
2021-01-15 17:02:26 -05:00 |
Isaac Connor
|
430d64ba67
|
create fix_deprecated_pix_fmt function to adjust deprecated pixfmts
|
2021-01-15 17:01:59 -05:00 |
Isaac Connor
|
0f7c46e2cc
|
Merge branch 'master' into zma_to_thread
|
2021-01-15 14:56:00 -05:00 |
Isaac Connor
|
0f276887ad
|
When can't connect to monitor send an image saying so
|
2021-01-15 14:43:44 -05:00 |
Isaac Connor
|
0a0c99ce7a
|
fix double free of mysql result
|
2021-01-15 14:43:31 -05:00 |
Isaac Connor
|
23305be8bf
|
break lone lines. Move sendTextFrame to public so that we can use it to send error message in image form.
|
2021-01-15 14:43:07 -05:00 |
Isaac Connor
|
3d234427e0
|
initialize packetqueue, analysis_it, storage and videostore in Monitor constructor initializer. Only delete packetqeuue if it has been created.
|
2021-01-15 14:42:30 -05:00 |
Isaac Connor
|
68b0f7e1b5
|
initialize packetqueue, analysis_it, storage and videostore in Monitor constructor initializer. Only delete packetqeuue if it has been created.
|
2021-01-15 14:42:26 -05:00 |
Isaac Connor
|
27e10c2ed9
|
cleanup encoding code. Update logging
|
2021-01-15 11:55:46 -05:00 |
Isaac Connor
|
10e56df53c
|
analysis_limit > cpature fps: only log a warning if we have actually been capturing for a while. If doing passthrough, need to start continuous event from last keyframe
|
2021-01-15 11:54:36 -05:00 |
Isaac Connor
|
83c60b7317
|
Make the error message clearer by actually printing the time.
|
2021-01-15 11:53:25 -05:00 |
hax0kartik
|
6845c2cab4
|
Fix padding issue in timestamp code
|
2021-01-15 11:46:30 +05:30 |
Isaac Connor
|
e530a51af7
|
WHen ret=0 is not failure, not success. Don't log error. Return the return code instead of -1
|
2021-01-14 10:31:55 -05:00 |
Isaac Connor
|
f44f920bf2
|
spacing
|
2021-01-14 10:31:29 -05:00 |
Isaac Connor
|
ef2f126eaa
|
Merge branch 'master' into zma_to_thread
|
2021-01-12 14:37:25 -05:00 |
Isaac Connor
|
e496679efd
|
Set transaction isolation level to READ COMMITTED so that concurrent event inserts don't deadlock
|
2021-01-12 14:19:04 -05:00 |
Isaac Connor
|
3423d8ed05
|
Only delete packets up to the next video keyframe. Don't be too aggressive
|
2021-01-12 14:13:12 -05:00 |
Isaac Connor
|
5b7fc210fe
|
Only use direct to rgb0 when image colours are 4
|
2021-01-12 14:12:09 -05:00 |
Isaac Connor
|
164a0f5a44
|
Need to use get_packet so that packets getting written to event are locked. Because queuePacket might delete them.
|
2021-01-12 14:11:47 -05:00 |
Isaac Connor
|
04c02dd1ef
|
Spacing
|
2021-01-12 14:11:06 -05:00 |
Isaac Connor
|
e706b4ba33
|
Hitting beginning of queue can happen on stream startup. So in that case make it a debug. Once the stream has been going for a while there should always be enough packets in the queue so make it a warning
|
2021-01-11 17:18:14 -05:00 |
Isaac Connor
|
605319a290
|
Remove old LOG line
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
b2c5860062
|
dumpPacket when addPacket
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
649114ed39
|
further disable rtsp_server
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
f7be54fe11
|
Add detecting target pixfmt and if rgb0 is supported, use it to do the transfer direct to the Image.
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
e8d06f702c
|
Handle signal loss, improve debugging
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
f3c4bb0027
|
Add AVBufferRef setup when Populating AVFrame from Image. This allows hwtranfer to work because it relies on AVBuffer AVFrame. Please note that we don't want AVBuffer to free the buffer so we pass an empty function to it.
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
9fb8e51ff2
|
Set imagePixFormat everywhere. Add PopulateFrame which creates and AVFrame pointing to the image's buffer. Will do this with proper refcounting eventually
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
9740b635dd
|
Fix missing comma
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
67f4359242
|
clean up code giving warning when no starttime is given
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
9cad82e916
|
include kleyframe status in zm_dump_video_frame
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
1ec2198d2b
|
remove unused var temp
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
fdf9975deb
|
break long line
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
c958a2c00b
|
Code style
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
46a8bb22fb
|
get camera if we havn't already. Don't delete the timestamp in shared zmpackets because it is just a pointer to shmem. Set it to null instead so that ~ZMpacket doesn't try to free it
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
b6b92115d1
|
allocate our own CodecContext for decoding. Reusing the existing one doesn't work for hwaccel. Add hwaccel flags to let it use Constrained Baseline for Baseline profile streams. Try without specified device if hwdevice_ctx_create fails.
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
497b91f7c6
|
disable rtsp_server
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
ebe3a9b6a7
|
Must notify before waiting in destructor. Fix leaks
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
09264a52ff
|
use zm_av_send_packet_receive_frame and fixup hwaccel support
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
13d7e612e3
|
improve hwaccel support
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
34009ca59b
|
remove unused directbuffer
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
97dff2fb28
|
Open/CLose RTSP with analysis thread when opening and closing monitor. We have to have successfully PrimeCapture before adding streams to RTSP Server and need to shut it down when closing the monitor because the packetqueue goes away
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
1316c6ea86
|
Update codec opening to properly handle passthrough
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
894ad11816
|
change outputFd which is unused to stream_id which is the stream_id to concern ourselves with when getting packets from the packetqueue. Add more tests for zm_terminate. Add testing for AV_CODEC_ID instead of v4l2 PIX_FMT to determine stream type
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
514e0d2e93
|
remove analysis_it and correctly manage external iterators. Fix testing for ability to remove packets from packetqueue. Fix some cases where the order of testing zm_terminate and packet locking is important
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
9187b08b7a
|
add missing and mix order of Packet initializers
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
b3ca0ac2d9
|
add missing and mix order of Packet initializers
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
65fc5bf478
|
move code from Load for purpose==ANALYSIS because it will never run. Analysis is a thread now and must assume that PrimeCapture has already succeeded.
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
824cbb7879
|
spacing and NULL=>nullptr
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
f842e9e2ed
|
NULL=>nullptr
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
02f65cec4d
|
Don't need to get_ref_image anymore. It will block waiting for a capture packet and the ref image will be set by capture thread
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
432bb338e8
|
Rename H264PASSTHROUGH to just PASSTHROUGH. Add an analysis_it to the Monitor object as it will no longer exist in the packetqueue
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
da7a50c92d
|
Rename H264PASSTHROUGH to just PASSTHROUGH. Start with last_signal set to true so that we don't have a signal change event on startup. Use new generic packetqueue functions
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
22ae83a0d6
|
Rename H264PASSTHROUGH to just PASSTHROUGH
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
705959d1ec
|
Set codec_type in zm_packet
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
510cbd8b19
|
Add AVPacket parsing queue and other files for rtsp_server
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
3f5bc97e6e
|
continue roughing in rtsp server. Fix not adding session to rtspServer.
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
92ac012324
|
Add rtsp_server files to CMakeLists.txt
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
60fa3f9ec1
|
cleanup. Add h264_vaapi codec support
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
0cc123a460
|
small cleanup in logging
|
2021-01-11 13:46:50 -05:00 |
Isaac Connor
|
fe7007cc2b
|
Remove old LOG line
|
2021-01-11 13:45:37 -05:00 |
Isaac Connor
|
62ffc20c98
|
dumpPacket when addPacket
|
2021-01-11 13:45:21 -05:00 |
Isaac Connor
|
2fe325efe7
|
further disable rtsp_server
|
2021-01-11 13:38:22 -05:00 |
Isaac Connor
|
1b1438bf7a
|
Add detecting target pixfmt and if rgb0 is supported, use it to do the transfer direct to the Image.
|
2021-01-11 13:36:51 -05:00 |
Isaac Connor
|
e1f6f5984d
|
Handle signal loss, improve debugging
|
2021-01-11 13:35:48 -05:00 |
Isaac Connor
|
70090f7edc
|
Add AVBufferRef setup when Populating AVFrame from Image. This allows hwtranfer to work because it relies on AVBuffer AVFrame. Please note that we don't want AVBuffer to free the buffer so we pass an empty function to it.
|
2021-01-11 13:35:23 -05:00 |
Isaac Connor
|
f625734c82
|
Set imagePixFormat everywhere. Add PopulateFrame which creates and AVFrame pointing to the image's buffer. Will do this with proper refcounting eventually
|
2021-01-11 11:57:34 -05:00 |
Isaac Connor
|
29255d1528
|
Fix missing comma
|
2021-01-11 11:15:22 -05:00 |
Isaac Connor
|
ab9583cbdf
|
clean up code giving warning when no starttime is given
|
2021-01-11 10:06:54 -05:00 |
Isaac Connor
|
dd4685ecf2
|
include kleyframe status in zm_dump_video_frame
|
2021-01-10 19:13:02 -05:00 |
Isaac Connor
|
4b90eb992d
|
remove unused var temp
|
2021-01-08 16:45:16 -05:00 |
Isaac Connor
|
9e353a8837
|
break long line
|
2021-01-08 16:45:03 -05:00 |
Isaac Connor
|
c0a2286dee
|
Code style
|
2021-01-08 15:49:21 -05:00 |
Isaac Connor
|
a6aefcf477
|
get camera if we havn't already. Don't delete the timestamp in shared zmpackets because it is just a pointer to shmem. Set it to null instead so that ~ZMpacket doesn't try to free it
|
2021-01-08 15:49:09 -05:00 |
Isaac Connor
|
736b14327e
|
allocate our own CodecContext for decoding. Reusing the existing one doesn't work for hwaccel. Add hwaccel flags to let it use Constrained Baseline for Baseline profile streams. Try without specified device if hwdevice_ctx_create fails.
|
2021-01-08 15:48:01 -05:00 |
Isaac Connor
|
81d6f8c1ee
|
disable rtsp_server
|
2021-01-07 15:13:02 -05:00 |
Isaac Connor
|
c70e2ccfc2
|
Must notify before waiting in destructor. Fix leaks
|
2021-01-07 15:12:44 -05:00 |
Isaac Connor
|
514201c7b2
|
use zm_av_send_packet_receive_frame and fixup hwaccel support
|
2021-01-07 15:12:27 -05:00 |
Isaac Connor
|
f729034e9f
|
improve hwaccel support
|
2021-01-07 15:11:46 -05:00 |
Isaac Connor
|
655e54db17
|
remove unused directbuffer
|
2021-01-07 09:50:45 -05:00 |
Isaac Connor
|
595bb2f565
|
Open/CLose RTSP with analysis thread when opening and closing monitor. We have to have successfully PrimeCapture before adding streams to RTSP Server and need to shut it down when closing the monitor because the packetqueue goes away
|
2021-01-07 09:47:53 -05:00 |
Isaac Connor
|
c6d15f193a
|
Update codec opening to properly handle passthrough
|
2021-01-07 09:46:35 -05:00 |
Isaac Connor
|
5cca440bee
|
change outputFd which is unused to stream_id which is the stream_id to concern ourselves with when getting packets from the packetqueue. Add more tests for zm_terminate. Add testing for AV_CODEC_ID instead of v4l2 PIX_FMT to determine stream type
|
2021-01-07 09:46:06 -05:00 |
Isaac Connor
|
abc402878b
|
remove analysis_it and correctly manage external iterators. Fix testing for ability to remove packets from packetqueue. Fix some cases where the order of testing zm_terminate and packet locking is important
|
2021-01-07 09:43:53 -05:00 |
Isaac Connor
|
3b8266a6f0
|
add missing and mix order of Packet initializers
|
2021-01-07 09:41:08 -05:00 |
Isaac Connor
|
0d450f4f85
|
add missing and mix order of Packet initializers
|
2021-01-07 09:41:02 -05:00 |
Isaac Connor
|
ff3bc981de
|
move code from Load for purpose==ANALYSIS because it will never run. Analysis is a thread now and must assume that PrimeCapture has already succeeded.
|
2021-01-07 09:40:24 -05:00 |
Isaac Connor
|
7afaf00202
|
spacing and NULL=>nullptr
|
2021-01-07 09:36:54 -05:00 |
Isaac Connor
|
e30f0245ef
|
NULL=>nullptr
|
2021-01-07 09:36:33 -05:00 |
Isaac Connor
|
c9641063ca
|
Don't need to get_ref_image anymore. It will block waiting for a capture packet and the ref image will be set by capture thread
|
2021-01-07 09:36:18 -05:00 |
Isaac Connor
|
315dccdaec
|
Rename H264PASSTHROUGH to just PASSTHROUGH. Add an analysis_it to the Monitor object as it will no longer exist in the packetqueue
|
2021-01-06 11:32:09 -05:00 |
Isaac Connor
|
e93a895f28
|
Rename H264PASSTHROUGH to just PASSTHROUGH. Start with last_signal set to true so that we don't have a signal change event on startup. Use new generic packetqueue functions
|
2021-01-06 11:31:31 -05:00 |