Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
6

Metadata: How to display video length in Bridge

Community Beginner ,
Nov 09, 2019 Nov 09, 2019

I'd like to see video length in Bridge metadata. Windows Explorer shows this. Why can't Bridge? All those metadata fields, and not one for clip length? To me that is an important datum when searching and sorting video clips. Windows also shows frame rate and dimensions right up front.
Left: Bridge
Right: Windows Explorer, same file

AdobeBridge-video-metadata.jpgWindowsExplorer-video-metadata.jpg

TOPICS
How to , Metadata
6.4K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 10, 2019 Nov 10, 2019

Excellant suggestion.

Feature Request will be filed.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 12, 2019 Nov 12, 2019

Hello!

And, in case David does not know, the best place to put a feature request is at: https://feedback.photoshop.com 

Post the link here, so that others can vote!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Nov 11, 2019 Nov 11, 2019

EDIT: Better (still unpolished) script. Only displays properties that are present and fixes error when changing folders.

 

I cobbled together a script which is VERY unpolished and incomplete but should help. It displays a palette with video file info. Each time you click on a single video file, it will show updated metadata.
To add media types, edit line 47. I may work on it some more, testing to see if properties are present in the file and adding more properties.
You can continue development if you want, incorporating more properties (I copied some of the raw data from an mp4 and its commented out at the end.)

Copy/paste this into a PLAIN TEXT EDITOR (not RTF!) and save with a file extension of ".jsx" then copy into Bridge Startup Scripts (Preferences-Startup Scripts->Reveal button.) Relaunch Bridge and select from Tools menu.

 

------------------------------------------------------------------------------------

 

#target bridge
if(BridgeTalk.appName == 'bridge'){
try{
var VideoInfoPalette = new Object; //id object for this script
VideoInfoPalette.built = false;
if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject('lib:AdobeXMPScript');

var VIPcmd = MenuElement.create('command', 'Video Info Palette...', 'at the end of Tools');

VIPcmd.onSelect = function(){
viPalette();
}

function viPalette(){
this.paletteRefs = new Array();
var viWrapper = this;

function addviPalette(doc){
if(VideoInfoPalette.built == false){ //first run
var viScriptPalette = new TabbedPalette(doc, 'Video Info', 'vInfo', 'script', 'center', 'top'); //place in center temporarily
viScriptPalette.setLocation('right'); //move to final position, works around Bridge bug
viWrapper.paletteRefs.push(viScriptPalette);
viPanel = viScriptPalette.content.add('panel', undefined, '');
viPanel.alignment = ['fill', 'fill'];
viPanel.alignChildren = ['fill', 'fill'];
viPanel.txtField = viPanel.add('edittext', undefined, 'Select a video file', {multiline:true, readonly:true}); //default text
viScriptPalette.content.layout.layout(true);
VideoInfoPalette.built = true;
}

viScriptPalette.content.onResize = function(){ //dynamic resizing
var v = this.bounds;
viPanel.bounds = v;
viPanel.txtField.bounds = [v[0] - 10, v[1] - 10, v[2] - 25, v[3] - 35];
this.layout.resize(true);
viScriptPalette.content.layout.layout(true);
}
}

app.eventHandlers.push({handler: viOpenDocument}); //runs on `change in selections

function viOpenDocument(event){
if(event.object instanceof Document && event.type == 'selectionsChanged'){
try{
if(app.document.selectionLength == 1){ //can only show one file at a time
//add new video file extensions to preview those file types
var viList = app.document.getSelection('mp4, mov, avi, mpeg');
}
else{
viPanel.txtField.text = 'Please select a video file to display.';
var viList = [];
}
if(viList.length == 1){ //valid video file
viPanel.txtField.text = 'Video File';
if(viList[0].hasMetadata){ //only process files with metadata
var vfr = viList[0].synchronousMetadata.read('http://ns.adobe.com/xmp/1.0/DynamicMedia/', 'videoFrameRate');
var vfo = viList[0].synchronousMetadata.read('http://ns.adobe.com/xmp/1.0/DynamicMedia/', 'videoFieldOrder');
var vpar = viList[0].synchronousMetadata.read('http://ns.adobe.com/xmp/1.0/DynamicMedia/', 'videoPixelAspectRatio');
var vfs = viList[0].synchronousMetadata.read('http://ns.adobe.com/xmp/1.0/DynamicMedia/', 'xmpDM:videoFrameSize/stDim:w');
var vfh = viList[0].synchronousMetadata.read('http://ns.adobe.com/xmp/1.0/DynamicMedia/', 'xmpDM:videoFrameSize/stDim:h');
var vfd = viList[0].synchronousMetadata.read('http://ns.adobe.com/xmp/1.0/DynamicMedia/', 'xmpDM:duration/xmpDM:value');
var vfsc = viList[0].synchronousMetadata.read('http://ns.adobe.com/xmp/1.0/DynamicMedia/', 'xmpDM:duration/xmpDM:scale');
var vfdur = (eval(vfd) * eval(vfsc));
vfdur = (vfdur/60);
var vfdurmin = Math.floor(vfdur);
var vfdursec = (vfdur - vfdurmin);
vfdursec = (vfdursec * 60);
vfdursec = Math.round(vfdursec);
var viText = '';
if(vfs){
viText = vfs + ' px x ' + vfh + ' px\r';
}
if(vfr){
viText = viText + vfr.toString() + ' fps\r'
}
if(vfo){
viText = viText + vfo.toString() + '\r';
}
if(vpar){
viText = viText + vpar + ' aspect ratio\r';
}
if(vfdurmin || vfdursec){
viText = viText + vfdurmin.toString() + ' min ' + vfdursec.toString() + ' sec';
}
viPanel.txtField.text = viText;
}
}
else{
viPanel.txtField.text = 'Please select a video file to display.';
}
}
catch(e){
alert(e + e.line);
}
return{handled:false};
}
}
for(var i = 0;i < app.documents.length;i++){
addviPalette(app.documents[i]);
}
}
}
catch(e){
alert(e + e.line);
}
}


//~ xmlns:xmpDM="http://ns.adobe.com/xmp/1.0/DynamicMedia/"
//~ <xmpDM:videoFrameRate>29.970030</xmpDM:videoFrameRate>
//~ <xmpDM:videoFieldOrder>Progressive</xmpDM:videoFieldOrder>
//~ <xmpDM:videoPixelAspectRatio>1/1</xmpDM:videoPixelAspectRatio>
//~ <xmpDM:audioSampleRate>44100</xmpDM:audioSampleRate>
//~ <xmpDM:audioSampleType>16Int</xmpDM:audioSampleType>
//~ <xmpDM:audioChannelType>Stereo</xmpDM:audioChannelType>
//~ <xmpDM:startTimeScale>30000</xmpDM:startTimeScale>
//~ <xmpDM:startTimeSampleSize>1001</xmpDM:startTimeSampleSize>
//~ <xmpDM:videoFrameSize rdf:parseType="Resource">
//~ <stDim:w>854</stDim:w>
//~ <stDim:h>480</stDim:h>
//~ <stDim:unit>pixel</stDim:unit>
//~ </xmpDM:videoFrameSize>
//~ <xmpDM:startTimecode rdf:parseType="Resource">
//~ <xmpDM:timeFormat>2997NonDropTimecode</xmpDM:timeFormat>
//~ <xmpDM:timeValue>00:00:00:00</xmpDM:timeValue>
//~ </xmpDM:startTimecode>
//~ <xmpDM:altTimecode rdf:parseType="Resource">
//~ <xmpDM:timeValue>00:00:00:00</xmpDM:timeValue>
//~ <xmpDM:timeFormat>2997NonDropTimecode</xmpDM:timeFormat>
//~ </xmpDM:altTimecode>
//~ <xmpDM:duration rdf:parseType="Resource">
//~ <xmpDM:value>53116218</xmpDM:value>
//~ <xmpDM:scale>1/90000</xmpDM:scale>
//~ </xmpDM:duration>

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Feb 06, 2022 Feb 06, 2022

Hi! Tried installing this in Bridge 2022. I can see the 'Video info' under 'tools', but nothing shows up when invoked...?

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Nov 13, 2019 Nov 13, 2019

I'm going to add a polished-up version of the script palette below to my Utility Script Pack. In-progress now.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jan 17, 2020 Jan 17, 2020

Sounds great! What's the ETA? 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jan 20, 2020 Jan 20, 2020

Its released on Adobe Exchange.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Feb 06, 2022 Feb 06, 2022

Hi, found the package on Exchange (I assume it's 'Utility Script Pack') and installed it.

 

What's the usage for finding out clip duration? The readme says to use the 'Text Preview' element, and the usage for that is: "With the Text Preview panel opened, select any one plain text file in the Bridge browser. The text will be displayed in the panel." On another spot it says to use this extension to view video duration. 

But what exactly is 'the Text Preview panel'? Can't find it anywhere in Tools, or Window, or right-click context...?

 

2022-02-06_14-16-42.jpg

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Feb 06, 2022 Feb 06, 2022

Should mention using latest version of Bridge, windows 10, assume 2022 v. 12.0.0.234

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Feb 06, 2022 Feb 06, 2022

I recommend using my latest releases: https://www.dropbox.com/sh/mg817g9a9ymbasi/AADTmXUVxmFfM58bcyYE7yiwa?dl=0

I broke the video info script out from Text Preview, download Video Info (Misc Scripts->Bridge and Universal Scripts->Video Info.jsx

Install in Bridge Startup Scripts, restart Bridge, Tools->Video Info

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Feb 07, 2022 Feb 07, 2022

Hm: bad argument error?

bad argument.jpg

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Feb 08, 2022 Feb 08, 2022

What kind of file? I have an enumerated list of file types that I support with that script.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Feb 08, 2022 Feb 08, 2022

That's the script line that creates the palette. If you have run it once already, the palette is in the regular list.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Feb 08, 2022 Feb 08, 2022

Ah! Got it. Misunderstood your instructions. So...

Install in Bridge Startup Scripts, restart Bridge, Tools->Video Info

THEN Window-> Video Info Panel.

This will do the trick, thank you!

Still boggling that something so rudimentary is not included in Metadata...

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Feb 08, 2022 Feb 08, 2022

(ability to get clip duration, not a reference that your script itself is rudimentary 🙂

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Feb 08, 2022 Feb 08, 2022

One thing... in line 89:

viList = app.document.getSelection('mp4, mov, avi, mpeg, wmv, mts, mpg, flv');

... mts is a filetype, but when I select a clip in Bridge the Info panel does not update when an MTS file is selected...?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Feb 08, 2022 Feb 08, 2022

That enumeration is for file extension. Bridge doesn't have another way of specifying file type besides MIME type which wouldn't apply here. If its a .mts file, any metadata should be read and processed.

And yes this should all be built in. The script isn't that complex and Bridge obviously already has video support. Adobe doesn't listen to ideas.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Feb 08, 2022 Feb 08, 2022

Hmm... so I wonder if it's a case of the .mts files I use (from a Sony a7s) doesn't encode clip duration in the metadata? Any other reason why it might not show up? I tried adding MTS to the file types (my files are capitalized, aren't lower case .mts), thought that might have something to do with it... but it doesn't. I do note that what metadata there is in Bridge for mts files, it's missing some other info that mp4 has (ie. width, height). So the data simply might not be there, I guess... C'mon Adobe... seriously... (and thank you Lumi)

 

mts mp4.jpg

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Feb 08, 2022 Feb 08, 2022

Yeah you'd have to do some testing to see what is actually encoded in the metadata. Try looking at them with a free video editor (DaVinci Resolve should support pretty much any video file.)

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 18, 2021 Aug 18, 2021

I just updated the latest version of Bridge, and it STILL does not include length of videos two years after I raised the issue.

 

There are nearly 100 pieces of metadata when I click on a video file, but not the two most useful pieces of information: the length and the format (i.e., 4K, 1080p, 720p etc).

 

This makes Bridge basically useless for my needs, since I want to manage thousands of video clips as a bridge to Premiere Pro. I like the ranking and color coding, but cannot use Bridge without these key pieces of information.

 

Windows Explorer is more useful than Bridge. That info and more is right up front on the file details pane:

davidc93692666_0-1629348946234.png

Dave

 

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Aug 19, 2021 Aug 19, 2021

Post a feature request here:

https://feedback.photoshop.com/

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 24, 2021 Aug 24, 2021

Hi, I would rather suggest to post in Bridge's uservoice, for instance this post about metadata: https://adobebridge.uservoice.com/forums/905323-feature-request/suggestions/37998634-video-metadata

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Feb 06, 2022 Feb 06, 2022

Just adding my (inconsequential) voice; how is this not native? I mean really, I can find out the Intellectual Genre of a clip; the ages of models and the Lat/Long of a clip in the metadata, but I can't see the CLIP DURATION? Seriously Adobe?

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Apr 05, 2022 Apr 05, 2022

Hello Adobe?  Are you listening?  Where is the most basic form of file information?  VIDEO FILE LENGTH!  What is the challenge?    Bridge offers a ton of usuless metadata fields but misses the most basic form of file comunication, a video file's length.  When can we expect this to appear?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines