A method to flatten generated JSON data into timed CSV events in support of analytic workflows within the ContentAI Platform.
- fix for timing offsets; don't overwrite any output if timing offset indicator
- minor fix for azure_videoindexer parsing, now first video shot can not contain a keyframe ?
- minor fix for gcp_videointelligence_text_detection parsing
- fix for no-output generators
- fix complete output for returned dictionary of data
- add richer documentation for library/api usage
- update output of main parse function to return a dict instead of file listing
- modify generator specification to allow ALL (
*
default) or NONE for outputs
- add parsers for gcp_videointelligence_text_detection, comskip_json, ibm_max_audio_classifier,
- gcp_videointelligence_object_tracking, gcp_videointelligence_people_detection
- improve testing to iterate over known set of data in testing dir
- fix generator/parser retrieve for whole name matches, not partials
- add documentation for new types, explicitly call out person tag_type
- update the dsai_activity_emotions parser to return tag type emotion (matching that of other AWS, Azure parsers)
- update azure_videoindexer for tag_type in detected brands (was speech, now video)
- add unit-testing to package build
- add command-line / parser input as complement to contentai-driven ENV variables
- fix bugs around specification of result path or specific generator
- fix issue about constant reference
- fix run_local.sh script for extra run param config
- fix querying for local files in non-contentai environments (regression since 1.1.0)
- inclusion of other constants for compatibility with other packages
- refactor/rename of parser classes to mandate a filename output prefix (e.g.
flatten_
) - add
dsai_activity_emotions
parser (a clone ofdsai_activity_classifier
)
- remove applications, fork to new metatata-database source, to be posted at a pypi database package
- name update for
dsai_moderation_image
extractor
- hotfix for build distribution
- fix for content creation in streamlit/browsing app
- deployed extractor (docker fix) for updated namespace
- docs update, testing fixes, version bump for publication
- rename to
contentai-metadata-flatten
and publish to pypi as a package!
- update documentation for Metadata Browser and Inventory Discovery app
- add ability to parse input CSVs but not segment into shot
- move to a single NLP library (spacy) for applications, using large model (with vectors)
- add new dash/plotly driven quality check application
- update to optimize the pull of asset keys
- upgrade to use new contentai extractor package
- update parser logic for safer key and data retrieval
- upgrade to use new contentai extractor package
- update parser logic for safer key and data retrieval
- small tweaks/normalization of rounding factor for extractors
- correct emotion souce type for azure
- refactor app location for primary streamlit browser - fix mode discovery for modules with specific UX interface
- update file listing to show data bundle files as well
- refactor utilities script for reuse in other apps
- update to parse new version of dsai_places
- add new parser for detectron2 extractor
- add static file serving to streamlit app, inspired by this streamlit issue discussion
- modify some pages to point to downloadable tables (with button click)
- create new download page/mode that lists the generated and source files
- minor refactor of app's docker image for better caching in local creation and testing
- add
dsai_moderation_text
parser, updatedsai_moderation
parser for version robustness - add min threshold (0.05) to both moderation detectors
- add recursion to file-based discovery method for processed assets - unify read of JSON and text files with internalaized function call in extractor base class
- fix some extractors to use single name reference
self.EXTRACTOR
- fix transcript parsing in
azure_videoindexer
component - add speaker differentiation as an identity block in
azure_videoindexer
(similar toaws_transcribe
)
- add timeline viewing to the
event_table
mode of streamlit app
- fixes to main streamlit app for partial extractors (e.g. missing identity, sparse brand)
- add parser for
dsai_moderation
- add parser for
dsai_activity_classifier
- fix bug for faulty rejection of
flatten_aws_transcribe
results
- add parsers for
pyscenedetect
,dsai_sceneboundary
,aws_transcribe
,yolo3
,aws_rekognition_video_text_detect
- add speaker identity (from speech) to
gcp_videointelligence_speech_transcription
- add
type
field (maps totag_type
) to output generated bywbTimeTaggedTmetadata
generator - add hashing against data (e.g.box
) within JSON metadata generator
- add parsers for
dsai_yt8m
(youtube8M or mediapipe)
- add parsers for
dsai_activity_slowfast
(activity) anddsai_places
(scene/settings) - add source_type sub-field to
event_table
browsing mode
- add
manifest
option to application for multiple assets - fix app docker file for placement/generation of code with a specific user ID
- fix CI/CD integration for auto launch
- fix app explorer bugs (derive 'words' from transcript/keywords if none)
- hotfix for missing data in
dsai_metadata
parser
- slight refactor of how parsers are discovered, to allow search by name or type (for use as package)
- fix package import for contentai local file
- switch tag_type of
ocr
totranscript
andocr
for source_type (azure_videoindexer
)
- adding music parser
dsai_musicnn
for different audio regions
- convert to package for other modules to install
- switch document to RST from MD
- add primitive testing capabilities (to be filled)
- added truncation/trim of events before zero mark if time offset is negative
- re-brand extractor as
dsai_metadata_flatten
for ownership consistency
- create new set of generator class objects for varying output generator
- add new
generator
input for limiting output to a single type
- rename
rekognition_face_collection
toaws_rekognition_face_collection
for consistency
- split documentation and changes
- add new
cae_metadata
type of parser - modify
source_type
of detected faces inazure_videoindexer
toface
- modify to add new
extractor
input for limit to scanning (skips sub-dir check)
- adding CI/CD script for gitlab
- validate usage as a flattening service
- modify
source_type
foraws_rekognition_video_celebs
toface
- adding
face_attributes
visualization mode for exploration of face data - fix face processing to split out to
tag_type
asface
with richer subtags
- add labeling component to application (for video/image inspection)
- fix shot duration computeation in application (do not overwrite original event duration)
- add text-search for scanning named entities, words from transcript
- fix bugs in
gcp_videointelligence_logo_recognition
(timing) andaws_rekognition_video_faces
(face emotions) - add new detection of
timing.txt
for integration of multiple results and their potential time offsets - added
verbose
flag to input of main parser - rename
rekognition_face_collection
for consistency with other parsers
- split app modules into different visualization modes (
overview
,event_table
,brand_expansion
)brand_expansion
uses kNN search to expand from shots with brands to similar shots and returns those brandsevent_table
allows specific exploration of identity (e.g. celebrities) and brands witih image/video playback- NOTE The new application requires
scikit-learn
to perform live indexing of features
- dramatically improved frame targeting (time offset) for event instances (video) in application
- split main function into sepearate auto-discovered modules
- add new user collection detection parser
rekognition_face_collection
(custom face collections)
- fixes for gcp moderation flattening
- fixes for app rendering (switch most graphs to scatter plot)
- make all charts interactive again
- fix for time zone/browser challenge in rendering
- fixes for
azure_videoindexer
parser - add sentiment and emotion summary
- rework graph generation and add bran/entity search capability
- add new
azure_videoindexer
parser - switch flattened reference from
logo
tobrand
;explicit
tomoderation
- add parsing library
pytimeparse
for simpler ingest - fix bug to delete old data bundle if reference files are available
- add new
time_offset
parameter to environment/run configuration - fix bug for reusing/rewriting existing files
- add output prefix
flatten_
to all generated CSVs to avoid collision with other extractor input
- fix docker image for nlp tasks, fix stop word aggregation
- adding video playback (and image preview) via inline command-line execution of ffmpeg in application
- create new Dockerfile.app for all-in-one explorer app creation
- argument input capabilities for exploration app
- sort histograms in exploration app by count not alphabet
- browsing bugfixes for exploration application
- added new streamlit code for data
explorer interface
- be sure to install extra packages if using this app and starting from scratch (e.g. new flattened files)
- if you’re working from a cached model, you can also drop it in from a friend
- schema change for verb/action consistency
time_start
->time_begin
- add additional row field
tag_type
to describe type of tag (see generated-insights) - add processing type
gcp_videointelligence_logo_recognition
- allow compression as a requirement/input for generated files
(
compressed
as input)
- add initial package, requirements, docker image
- add basic readme for usage example
- processes types
gcp_videointelligence_label
,gcp_videointelligence_shot_change
,gcp_videointelligence_explicit_content
,gcp_videointelligence_speech_transcription
,aws_rekognition_video_content_moderation
,aws_rekognition_video_celebs
,aws_rekognition_video_labels
,aws_rekognition_video_faces
,aws_rekognition_video_person_tracking
,