Skip to content

Commit cce7d46

Browse files
authored
Merge pull request #320 from kieranjol/multi-reeler
seq2ffv1/rawcooked - Multi reel image sequence support
2 parents 62b4cca + e9942fc commit cce7d46

File tree

6 files changed

+232
-90
lines changed

6 files changed

+232
-90
lines changed

MANIFEST.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
include 26_XYZ-22_Rec709.cube
2+
include film_scan_aip_documentation.txt

film_scan_aip_documentation.txt

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
v1.1 Image Sequence AIP
2+
This textfile - Generic description of the features of the Archival Information Package.
3+
Changelog: v1.1 - temporary manifests removed from logs_directory.
4+
5+
parent_directory - either OE (oe##### - Object_Entry Spectrum Collections Management( Identifier or Accession Number (aaa####)
6+
├── uuid_directory - this directory contains the AIP. The identifier is for the entire representation/package.
7+
│   ├── logs - logs that are generated via IFIscripts. This can include process logs for FFmpeg/rawcooked and other tools.
8+
│   │   └── uuid_sip_log.log - the most important log - this is a rolling log for all processes that IFIscripts will execute.
9+
│   ├── metadata - for AV objects - mediainfo and mediatrace XML files. For non-AV objects, Siegfried/PRONOM and EXIFTOOL JSON reports. Once the package is accessioned, there will be a Digital Forensics XML minus the hashes. This will also contain PBCore/Technical metadata CSV and IFI Filmographic CSV in the accessioned package.
10+
│   │   └── supplemental - For normalised objects, checksum manifests, mediainfo, mediatrace and Digital Forensics XML regarding the source object.
11+
│   └── objects - the actual focus of preservation.
12+
└── uuid_directory_manifest.md5 - MD5 manifest for entire package.
13+
└── uuid_directory_manifest-sha512.txt - This will only be generated at the accessioning phase. SHA512 manifest for the entire package.
14+
15+
Example tree structure and explanation for a film scan normalised to FFV1/Matroska via seq2ffv1.py.
16+
Additional files appear when the accession/batchaccession process runs.
17+
18+
oe0001 | parent_directory
19+
├── da990f5e-9846-4a8c-9792-3ee677d50591 |uuid_directory
20+
│   ├── logs | directory for logs generated via IFIscripts
21+
│   │   ├── da990f5e-9846-4a8c-9792-3ee677d50591_reel3.mkv_rawcooked.log | rawcooked_log via ffmpeg
22+
│   │   └── da990f5e-9846-4a8c-9792-3ee677d50591_sip_log.log | central log for all IFIscripts processes
23+
│   ├── metadata | directory for metadata
24+
│ │ ├── aaa0001_pbcore.csv | ONLY APPEARS WITH ACCESSION.py/BATCHACCESSION.py - CSV containing metadata ready for ingest into IFI technical database. Loosely based on PBCore, with many custom IFI legacy fields.
25+
│   │   ├── AF12345_filmographic.csv | ONLY APPEARS WITH ACCESSION.py/BATCHACCESSION.py - CSV containing descriptive metadata ready for ingest into IFI Filmographic/descriptive database. Loosely based on the original FIAF cataloguing guidelines.
26+
│   │   ├── da990f5e-9846-4a8c-9792-3ee677d50591_dfxml.xml | ONLY APPEARS WITH ACCESSION.py/BATCHACCESSION.py - file system metadata in Digital Forensics XML format for all files within the package.
27+
│   │   ├── da990f5e-9846-4a8c-9792-3ee677d50591_reel1.mkv_mediainfo.xml | technical metadata in XML format via mediainfo
28+
│   │   ├── da990f5e-9846-4a8c-9792-3ee677d50591_reel1.mkv_mediatrace.xml | granular technical metadata in XML format via mediainfo
29+
│   │   ├── da990f5e-9846-4a8c-9792-3ee677d50591_reel2.mkv_mediainfo.xml | technical metadata in XML format via mediainfo
30+
│   │   ├── da990f5e-9846-4a8c-9792-3ee677d50591_reel2.mkv_mediatrace.xml granular technical metadata in XML format via mediainfo
31+
│   │   ├── da990f5e-9846-4a8c-9792-3ee677d50591_reel3.mkv_mediainfo.xml | technical metadata in XML format via mediainfo
32+
│   │   ├── da990f5e-9846-4a8c-9792-3ee677d50591_reel3.mkv_mediatrace.xml | granular technical metadata in XML format via mediainfo
33+
│   │   └── supplemental | directory for metadata for the source object, prior to normalisation
34+
│   │   ├── da990f5e-9846-4a8c-9792-3ee677d50591_source_dfxml.xml | file system metadata in Digital Forensics XML format for the source DPX sequence.
35+
│   │   ├── da990f5e-9846-4a8c-9792-3ee677d50591_source_mediainfo.xml | technical metadata in XML format for the source DPX sequence.
36+
│   │   ├── da990f5e-9846-4a8c-9792-3ee677d50591_source_mediatrace.xml | granulartechnical metadata in XML format for the source DPX sequence.
37+
│   │   └── multi_reel_manifest-md5.txt | md5 checksum manifest for the source DPX sequence
38+
│   └── objects | directory for the preservation
39+
│   ├── da990f5e-9846-4a8c-9792-3ee677d50591_reel1.mkv | FFV1/Matroska normalisation of image sequence.
40+
│   ├── da990f5e-9846-4a8c-9792-3ee677d50591_reel2.mkv | FFV1/Matroska normalisation of image sequence.
41+
│   └── da990f5e-9846-4a8c-9792-3ee677d50591_reel3.mkv | FFV1/Matroska normalisation of image sequence.
42+
├── da990f5e-9846-4a8c-9792-3ee677d50591_manifest.md5 | MD5 checksum manifest for the whole package.
43+
└── da990f5e-9846-4a8c-9792-3ee677d50591_manifest-sha512.txt | ONLY APPEARS WITH ACCESSION.py/BATCHACCESSION.py SHA512 checksum manifest for the whole package.
44+
45+

ififuncs.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -581,6 +581,18 @@ def get_image_sequence_files(directory):
581581
return 'none'
582582
return images
583583

584+
def check_multi_reel(directory):
585+
# This function accepts a directory as input. It checks if there are
586+
# subdirectories that contain image sequences.
587+
image_sequences = []
588+
for dirs in os.listdir(directory):
589+
full_path = (os.path.join(directory, dirs))
590+
if os.path.isdir(full_path):
591+
if get_image_sequence_files(full_path) is not 'none':
592+
image_sequences.append(full_path)
593+
return sorted (image_sequences)
594+
595+
584596
def get_ffmpeg_friendly_name(images):
585597
'''
586598
Parses image sequence filenames so that they are easily passed to ffmpeg.

0 commit comments

Comments
 (0)