Isaac Connor
bbcd1846e7
Fix hang caused by using %d instead of PRIu64 in formatting string
2019-12-29 12:44:30 -05:00
Andrew Bauer
00cedc92d2
fix typo
2019-12-28 08:37:16 -06:00
Isaac Connor
16a73d6d5a
don't seek back when not neccesary
2019-12-13 18:12:33 -05:00
Isaac Connor
5fcd6361bc
fix segfault reading frames for .mp4 in zms
2019-12-13 17:47:18 -05:00
Isaac Connor
0947c3ef24
Merge branch 'master' of github.com:ZoneMinder/zoneminder
2019-11-30 15:37:09 -05:00
Isaac Connor
927165a934
debug the recording_started timestamp and warning when we can't fine a frame before the requested time
2019-11-30 15:37:05 -05:00
Isaac Connor
00b67ec352
Merge pull request #2768 from selvanair/fix-video-start
...
Correct video buffer length when analysis and capture fps differ
2019-11-30 14:53:22 -05:00
Isaac Connor
d1458108f4
Add dimensions wrong check. Add bytes count
2019-11-20 12:43:17 -05:00
Selva Nair
5260563ec4
Update frame deltas in the database to be relative to the video start time
...
Currenltly the frames written to database have delta time measured
from the event start time. As these deltas are also used to generate
any frame on the fly from the recorded video, these should be relative
to the video start time.
Adjust by subtracting the offset of the video start from event start.
Done when the event is closed.
If video is not stored, this has no effect.
Signed-off-by: Selva Nair <selva.nair@gmail.com>
2019-11-15 21:55:40 -05:00
Selva Nair
dd31279ca3
Fix the recorded video start time
...
The event start time already includes the duration of the
pre_event frames. Do not back track the video by a further
pre_event_count.
Signed-off-by: Selva Nair <selva.nair@gmail.com>
2019-11-15 21:55:40 -05:00
Selva Nair
2e7fad68d1
Properly compute video buffer length when analysis fps is set
...
Currently the number of video frames kept in the buffer is set as the
pre_event_count. This falls short when the capture fps is larger
than the analysis fps. Fix by computing the retained video duration
as pre_event_count/analysis_fps
No change if analysis fps is not set.
Signed-off-by: Selva Nair <selva.nair@gmail.com>
2019-11-15 21:55:40 -05:00
Isaac Connor
fdf5150a16
fix build on jessie
2019-11-13 13:51:22 -05:00
Isaac Connor
46991f04e6
better debugging when fail to sws_scale
2019-11-01 09:24:22 -04:00
Isaac Connor
21df2c6ac7
Always write snapshot.jpg and alarm.jpg instead of only when using video storage
2019-10-30 16:25:09 -04:00
Isaac Connor
35ae81d985
dynamically allocate next_dts and use it in write_packet to store the next dts value. write_interleaved_packet destroys the passed in packet so we need to store next_dts before writing out the packet.
2019-10-23 09:25:16 -04:00
Isaac Connor
76fd32b427
more debug, and ensure that pts != AV_NOPTS_VALUE
2019-10-22 10:01:24 -04:00
Isaac Connor
dfe2f55ebe
More debugging to figure out #2720
2019-10-20 13:50:24 -04:00
Isaac Connor
d9d91c4a8d
Fix #2728 by resetting the frame size before reading from the fifo
2019-10-20 13:32:16 -04:00
Isaac Connor
21dd9b527d
when ipkt->pts is AV_NOPTS_VALUE should still set opkt.pts to AV_NOPTS_VALUE
2019-10-19 17:12:19 -04:00
Isaac Connor
7068769a90
zm_send_packet_receive_frame sends 0 as success
2019-10-18 13:52:07 -04:00
Isaac Connor
6a56de41f0
fix parameter order
2019-10-18 13:39:52 -04:00
Isaac Connor
17a7d02275
fix reversal of in_frame/out_frame in VideoStore destructor
2019-10-18 10:16:18 -04:00
Isaac Connor
60ec545683
fix compile warning due to snprintf into a too small char array
2019-10-18 09:43:25 -04:00
Isaac Connor
a0f021ee12
Handle the case of flushing resampler by sending NULL
2019-10-17 17:37:36 -04:00
Isaac Connor
f938fd83ac
keep track of video_next_dts. Use it when packet dts is AV_NOPTS_VALUE. Also handle EAGAIN in send_packet_get_frame etc
2019-10-16 09:01:59 -04:00
Isaac Connor
d03de98317
remove carriage returns in ffmpeg log lines
2019-10-16 09:00:39 -04:00
Isaac Connor
90d6e11fb9
If we try to write a packet with dts == AV_NOPTS_VALUE, set it to stream->cur_dts. This might at least give us a playable file.
2019-10-11 14:04:51 -04:00
Isaac Connor
3b586a2abe
include stream index and packet queue size in debug message
2019-10-11 13:53:18 -04:00
Isaac Connor
30b5612691
fix case of sql
2019-09-28 12:57:00 -04:00
Isaac Connor
492be7cc33
make last_zoom last_scale last_x and last_y members of the StreamBase object instead of static vars so that we can access them in monitorStream
2019-09-26 13:51:49 -04:00
Isaac Connor
b787682fa9
Fix play from pause when not buffering. When change of zoom, send two paused images so that response is instant. Fix some misplaced line feeds.
2019-09-26 13:51:13 -04:00
Isaac Connor
1dda79af46
remove debug
2019-09-25 12:00:00 -04:00
Isaac Connor
15a1b19b42
spaces
2019-09-23 10:53:21 -04:00
Isaac Connor
83e477e6be
CaptureAndRecord in remote camera rtsp doesn't work. Remove it.
2019-09-23 10:52:57 -04:00
Isaac Connor
ce37fce99c
spacing
2019-09-20 08:19:57 -04:00
Isaac Connor
09533c19af
Fix %d to %s
2019-09-20 08:19:44 -04:00
Isaac Connor
17e00cec94
Fix setting rtsp_transport when rtsp
2019-09-17 14:58:16 -04:00
Isaac Connor
e8e29d62b2
Use dts instead of pts for first values
2019-09-17 12:53:29 -04:00
Isaac Connor
0d347f0cf5
init log early so that we create zmc_m.log instead of undef.log
2019-09-17 11:37:48 -04:00
Isaac Connor
6041616efc
add string_toupper function
2019-09-17 11:37:20 -04:00
Isaac Connor
33aa6abf59
Only open log file if we are going to write to it.
2019-09-17 11:36:57 -04:00
Isaac Connor
ecde0a7ae0
Add a string_toupper function
2019-09-17 11:11:22 -04:00
Isaac Connor
1a94479751
Cleanup/rework. Handle database connection failure. This can happen if we init logging before config reading. Default terminal log level to warning. Cleanup logInit copying the options in order to populate mLogPath from config. We can handle this in the constructor now.
2019-09-17 11:10:59 -04:00
Isaac Connor
9a3765f6aa
spacing and google code style
2019-09-17 10:31:48 -04:00
Isaac Connor
4509c6a239
Don't set rtsp options unless we are using rtsp. Should prevent everyone from reporting the warning about unsupported options. Note that I removed some extra includs that have no business in zm_ffmpeg_camera.
2019-09-17 10:31:31 -04:00
Isaac Connor
c8934dac7f
Remove useless debug
2019-09-17 10:30:00 -04:00
Isaac Connor
cbf9931371
Don't log about calling dbConnect when already connected. We make this call in zm_logger, it is just going to have to be acceptable to call it multiple times.
2019-09-17 10:29:30 -04:00
Isaac Connor
54c14b17d7
Spacing and google code style
2019-09-17 10:28:42 -04:00
Isaac Connor
6925a75831
codec not ready is not an error. Make it a debug
2019-09-15 18:01:38 -04:00
Isaac Connor
0a31a8dab6
Just use pts instead of tracking both first pts and first dts. Should prevent conflicts
2019-09-15 17:53:25 -04:00
Isaac Connor
675cbe8854
code style, add bytes per second read statistic and a code comment about the sleeping
2019-09-14 10:48:39 -04:00
Isaac Connor
306bda86c2
fix sws_get_delay
2019-09-13 21:28:43 -04:00
Isaac Connor
eafa0da06f
fixes, handle when audio codec isn't open in ffmpeg_camera
2019-09-13 16:06:25 -04:00
Isaac Connor
3a5d1ff3ca
Hack in missing bits for ubuntu trusty/libav/avresample
2019-09-13 15:51:35 -04:00
Isaac Connor
5ddd20ed1a
refactor code. Handle resample buffering during encoding instead of when closing file
2019-09-13 14:34:53 -04:00
Isaac Connor
701aa8d924
add flushing the resample buffer to get the remaining samples encoded
2019-09-13 10:55:30 -04:00
Isaac Connor
788b5b480b
hack to make sync work on resample
2019-09-12 17:59:08 -04:00
Isaac Connor
d9d4c6b4ca
fix build
2019-09-12 17:26:19 -04:00
Isaac Connor
0a8aba2b76
rework how pts/dts is handled. We still use video_first_pts, but if the result is negative, normalize it to 0. Also now use audio_next_pts/dts to calculate pts when resampling and re-encoding. I believe this resolves the issues with wrong duration in the audio stream.
2019-09-12 16:52:59 -04:00
Isaac Connor
8fb55cdbff
Add codec name to zm_dump_codec and zm_dump_codecpar add new functions zm_receive_packet
2019-09-12 16:51:33 -04:00
Isaac Connor
6c6b2d7c6f
Fix build
2019-09-09 17:10:40 -04:00
Isaac Connor
097ce5e778
add const to cast
2019-09-09 17:09:01 -04:00
Isaac Connor
792af28c54
return a value from write_packet
2019-09-09 16:55:22 -04:00
Isaac Connor
d5aa95e45f
cpplint fixes
2019-09-09 16:13:32 -04:00
Isaac Connor
d5d4d9d19b
ret should be a heap var, not a member of the object. Somehow this also seems to fix crashing on debian buster. I assume the compiler is confused
2019-09-08 16:10:57 -04:00
Isaac Connor
8215fe1c0f
Some versions off avcodec libs have pkt_pts and pkt_dts but they have been deprecated and weren't of any use anyways
2019-09-08 16:10:20 -04:00
Isaac Connor
85e0a086b3
fixes #2694
2019-09-03 11:55:37 -04:00
Isaac Connor
c80ef0e0ab
spacing
2019-08-28 12:20:03 -04:00
Isaac Connor
bd3395ac98
introduce VideoStore::write_packet to refactor out duplicated code. Add the ability to receive multiple packets from audio encoder per input packet
2019-08-28 12:19:54 -04:00
Isaac Connor
efb8711c02
Merge branch 'master' of github.com:ZoneMinder/zoneminder
2019-08-28 11:43:59 -04:00
Isaac Connor
5f0080ef92
Fix crash when using auth_relay=none
2019-08-28 10:34:30 -04:00
Isaac Connor
64d024b0c0
Fix spacing
2019-08-28 10:33:18 -04:00
Isaac Connor
505a041c88
Don't add a final db frame to the event, because there is no jpg for the frame. I don't know why this code was originally added.
2019-08-28 10:17:23 -04:00
Isaac Connor
59940ab675
report pixformat names instead of just #'s on error
2019-08-28 09:19:57 -04:00
Isaac Connor
39620c01ff
Add rescaling of pkt pts/dts from audio_out_ctx to audio_out_stream
2019-08-26 16:37:32 -04:00
Isaac Connor
b26ed9bf62
Yet more debugging. Also, move pts adjustment to before audio encoding
2019-08-26 16:17:45 -04:00
Isaac Connor
2fe9442257
Fix time_base conversion when flushing audio queue. Add more debugging. COrrect pkt_Duration when resampling audio
2019-08-23 18:17:26 -04:00
Isaac Connor
886a203bf1
Support hwaccel for non-passthrough case as well
2019-08-21 10:11:58 -04:00
Isaac Connor
01e988ffba
remove some redundant debugs. Improve some messages
2019-08-20 14:09:47 -04:00
Isaac Connor
4a82ce83a7
quit a bit earlier when stream is broken.
2019-08-20 11:13:38 -04:00
Isaac Connor
ed190340b9
fix typo
2019-08-19 11:12:47 -04:00
Isaac Connor
369dd03909
remove errant i
2019-08-18 21:32:19 -04:00
Isaac Connor
503cf6cd24
More backticking of SQL
2019-08-17 14:37:19 -04:00
Isaac Connor
efa264e0c7
Fix playing in reverse. Fix not sending first frame. Fix sql problem with backticks. Not being able to open a frame image is now non-fatal.
2019-08-16 10:24:51 -04:00
Isaac Connor
c7b6db9be7
Put backticks around all columns and tables in sql to deal with mysql 8
2019-08-14 16:18:21 -04:00
Isaac Connor
c1984ad7cb
Fix problem calculating mem_size using an int from ImageSize. With camera resolutions going up, width*height*colour could exceed 32bits. So use a guarnteed 53bit type, which fixes the memsize calculations. Fixes #2682
2019-08-11 20:21:37 -04:00
Isaac Connor
5b62c91cc2
Improve some debugging to try to diagnose recent segfault report
2019-08-10 14:46:05 -04:00
Isaac Connor
0cdb43e165
make dump_video_frame a define instead of a function, fix linesize
2019-08-10 14:45:45 -04:00
Isaac Connor
bb6d2631c9
Fix hwaccel compile on pi
2019-08-08 09:26:40 -04:00
Isaac Connor
6a9464044b
Demote warnings about fixing non-monotonic dts to debug
2019-08-02 08:03:02 -04:00
Isaac Connor
14ed777eeb
fix segfault when debbing is turned on for zma
2019-07-31 17:17:54 -04:00
Isaac Connor
90cb5d018a
Fix 2673 ( #2675 )
...
* Change MaxFPS to DECIMAL(5,3) to handle values like 1/60 = 0.017
* When fps < 1 we may need to wait longer than 10s. Also, we cannot sleep for a long time, because we may need to send a keep alive or check the command queue. So limit the sleep to 1s
* Bump version
* Update MaxFPS to Decimal(5,3)
* Fix missing ;
2019-07-31 11:42:38 -04:00
Isaac Connor
48ad8d47fc
Add capture_max_fps to monitor object instead of just calculating the delay.
2019-07-31 11:23:02 -04:00
Isaac Connor
4b89ced889
Warn about waiting more than .5s instead of .1
2019-07-26 12:24:36 -04:00
Isaac Connor
e5c194e9ee
Fix return 403 status code
2019-07-26 12:22:04 -04:00
Isaac Connor
09934ed7f5
Fix sendTextFrame
2019-07-26 12:21:25 -04:00
Isaac Connor
3da12fd141
Add a bunch of debugging
2019-07-26 12:21:15 -04:00
Isaac Connor
0643108ba4
Use fputs instead of fprintf. Spacing and google code style changes
2019-07-26 10:53:48 -04:00
Isaac Connor
1e0c39c632
mostly spacing cleanups. Don't bother setting pkt_duration on resampled frame
2019-07-19 16:28:18 -04:00
Isaac Connor
9a31f8792c
return proper error codes when failed auth or fail permissions
2019-07-19 13:55:35 -04:00
Isaac Connor
f3166663a5
unref hw_device_ctx on Close. I think this should release all the other hwaccel related stuff
2019-07-19 12:51:31 -04:00
Isaac Connor
fcee031785
Merge branch 'master' of github.com:ZoneMinder/zoneminder
2019-07-17 21:10:46 -04:00
Isaac Connor
542d88b6a4
fix compile without HWCONTEXT
2019-07-17 21:10:24 -04:00
Pliable Pixels
a9d01ba3d2
Alarm api ( #2665 )
...
* fixed alarm api to use tokens if present
* clearer debug logs for tokens
* space
2019-07-17 20:38:58 -04:00
Pliable Pixels
2b7610a5ac
fixed ffmpeg log association to zm log levels ( #2664 )
2019-07-17 20:37:27 -04:00
Isaac Connor
75af397223
hwFrame isn't defined unless we have HWCONTEXT_H
2019-07-17 20:33:23 -04:00
Isaac Connor
34c141304d
Merge branch 'master' of github.com:ZoneMinder/zoneminder
2019-07-17 10:07:29 -04:00
Isaac Connor
ef9fe2dbd6
Free up hwFrame, preventing memleak
2019-07-17 10:06:30 -04:00
Pliable Pixels
67168a2387
demote token log ( #2663 )
2019-07-12 14:31:39 -04:00
Isaac Connor
05be9008c7
use FFMPEGInit to initialise ffmpeg instead of doing it ourselves
2019-07-11 17:57:11 -04:00
Isaac Connor
13c91bdf60
Add pts adjustment to the delayed flushed encoder packets
2019-07-11 17:56:53 -04:00
Isaac Connor
288f2f3e8f
Convert zm_dump_frame from a function to a define, this way we get line #'s from where we call zm_dump_frame instead of from the line in zm_ffmpeg where the function was.
2019-07-11 17:56:22 -04:00
Isaac Connor
94cc85aa36
Sorta fix pts on encoded audio packets. Sync is off, but at least it is close
2019-07-07 08:57:22 -04:00
Isaac Connor
0f35d86efb
implement zm_send_frame which sends a frame and receives a packet
2019-07-07 08:56:39 -04:00
Isaac Connor
726e5c6dd5
Merge branch 'master' of github.com:ZoneMinder/zoneminder
2019-07-03 09:50:49 -04:00
Isaac Connor
a9579484b8
gracefully handle failure to config hw pix fmt and debug a bit more
2019-07-03 09:49:53 -04:00
Isaac Connor
5ea5bd9bde
Only do audio_first_pts if we have audio_in_stream
2019-07-02 12:26:33 -04:00
Isaac Connor
4e8ac47060
Use the video_first_pts to set the audio_first_pts
2019-07-02 11:58:22 -04:00
Isaac Connor
2dc60196c5
Code cleanup and cpplint
2019-07-02 11:14:24 -04:00
Isaac Connor
268bc2264b
Merge branch 'storageareas'
2019-07-02 10:19:03 -04:00
Isaac Connor
d972ab6006
add min_section_length test to alarmed events that go unalarmed
2019-06-27 21:50:12 -04:00
Isaac Connor
0ab4f9fce0
More debugging in packetqueue.
2019-06-27 21:49:43 -04:00
Isaac Connor
3bd4486b65
Start event when alarm frames >= alarm_frame_count-1 because it is 1based. Add some debug.
2019-06-27 15:48:10 -04:00
Isaac Connor
ac7d4869de
We need to seek back pre_event_count video frames, not any frames
2019-06-27 15:36:13 -04:00
Daniel Schaefer
158b9438d7
Explicitly link with libdl ( #2649 )
...
Otherwise on some systems linking would fail with
undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
2019-06-27 15:08:29 -04:00
Isaac Connor
dd57fd95ce
Clean up cruft from videostore api. Fix packetqueue clear_unwanted_packets to take a pre_event_count and take it into consideration when finding the right spot in the queue to start recording.
2019-06-27 11:11:14 -04:00
Isaac Connor
6ed29a3d56
Google code style, ifdef out all the extra includs that shouldn't be in the .h
2019-06-27 10:29:47 -04:00
Isaac Connor
6a87ae0fa7
fix compile warning by copying two bytes, which will grab the \0 after the \n
2019-06-27 10:24:51 -04:00
Isaac Connor
763fe16a04
Google code style, merge some fprintf's
2019-06-27 10:20:23 -04:00
Isaac Connor
0686f487ac
%s => %d for error count
2019-06-27 04:18:25 -04:00
Isaac Connor
d26286a170
fix test for hwtransfer needed
2019-06-27 03:40:18 -04:00
Isaac Connor
2a65b339c1
init hw_pix_fmt in constructor
2019-06-25 22:19:09 -04:00
Isaac Connor
86e8b58561
move hw_device_ctx under ifdef for HWCONTEXT_H
2019-06-25 22:06:00 -04:00
Isaac Connor
7389bbcb25
better debug in selecting hw_format, add CUDA, add setting device for hwaccel
2019-06-25 21:47:19 -04:00
Isaac Connor
a44631a59d
rough in support for ffmpeg 3.4
2019-06-25 16:35:07 -04:00
Isaac Connor
5ab4414b11
Only include hwaccel support if LIBAVUTIL_HWCONTEXT_H is deifned
2019-06-25 15:58:55 -04:00
Isaac Connor
679b6b1b2d
remove old qsv code
2019-06-25 15:47:23 -04:00
Isaac Connor
46f3aabc25
Merge branch 'hwdecode' into storageareas
2019-06-25 15:35:56 -04:00
Isaac Connor
86c4051c44
handle zm_receive_frame returning AVERROR instead of boolean
2019-06-25 15:34:36 -04:00
Isaac Connor
434bbce954
Add loading decoder_hwaccel in Monitor
2019-06-25 15:34:17 -04:00
Isaac Connor
d0abd16494
add passing hwaccel name and device. use av_make_error_string(ret).c_str() to reduce code and increase consistency
2019-06-25 15:34:01 -04:00
Isaac Connor
cf7f3e8a88
add passing hwaccel name and device. use av_make_error_string(ret).c_str() to reduce code and increase consistency
2019-06-25 15:33:54 -04:00
Isaac Connor
6a87d9a875
change zm_receive_frame to return AVERROR instead of boolean
2019-06-25 15:32:47 -04:00
Isaac Connor
2cbcaeebbc
clean out old hwdecode stuff. refactor common code out
2019-06-25 14:11:59 -04:00
Isaac Connor
bfb7238edb
Merge branch 'master' into hwdecode
2019-06-25 09:09:57 -04:00
Isaac Connor
c3135accbb
Make events close on a section length time boundary only if event_close_mode == CLOSE_TIME. When an alarm happens in event_close_mode==ALARM, close the continuous event regardless of the # of pre-event frames in the event. Add some debugging
2019-06-24 21:11:52 -04:00
Isaac Connor
246b4cb9d1
working hwdecode
2019-06-24 17:22:59 -04:00
Isaac Connor
2d80283844
simplify some logic in Analyze and prevent segfault when we close continuous event to start alarm event
2019-06-24 13:13:46 -04:00
Isaac Connor
9a353d0b6d
don't set frame size
2019-06-24 11:44:21 -04:00
Isaac Connor
44e4d93445
Merge branch 'master' into storageareas
2019-06-24 11:35:36 -04:00