CouncilDataProject / cdp-backend

Data storage utilities and processing pipelines used by CDP instances.
https://councildataproject.org/cdp-backend
Mozilla Public License 2.0
22 stars 26 forks source link

Remove Unneccessary Re-Encode If Video Is Already H264 #234

Closed whargrove closed 1 year ago

whargrove commented 1 year ago

Link to Relevant Issue

This pull request resolves #233

Description of Changes

Context: In clip_and_reformat_video if the video is already mp4/h264 encoded, the ffmpeg stream will re-encode the clipped portion (if clipping is present) or in the worst case re-encode the whole video again as h264.

This PR modifies the behavior of clip_and_reformat_video such that…

… then ffmpeg stream will use ffmpeg's StreamCopy codec to copy the video/audio streams to the output file instead of decoding and encoding the input and output streams respectively. According to ffmpeg: "it is very fast and there is no quality loss."

This change should result in a significant decrease in Event Gather pipeline runtime for data sources that already provide mp4/h264 encoded videos.

codecov[bot] commented 1 year ago

Codecov Report

Merging #234 (54603d9) into main (6c1c1ff) will increase coverage by 0.27%. The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #234      +/-   ##
==========================================
+ Coverage   71.67%   71.95%   +0.27%     
==========================================
  Files          50       50              
  Lines        3329     3362      +33     
==========================================
+ Hits         2386     2419      +33     
  Misses        943      943              
Impacted Files Coverage Δ
cdp_backend/tests/utils/test_file_utils.py 100.00% <100.00%> (ø)
cdp_backend/utils/file_utils.py 89.38% <100.00%> (+1.08%) :arrow_up:
evamaxfield commented 1 year ago

Seems good to me! Will merge and cut a new rc release ASAP