xjinfo - extract an A/V file information

xjinfo is a small command-line utility that comes with xjadeo. Its purpose it to retrieve information about audio/video files in a standard way: either CSV, XML or simplified human readable text. A DTD for the XML is available from the repository.

xjinfo uses ffmpeg's libavformat to determine the information. Basically it can read any format ffmpeg supports (ffmpeg -formats).

usage: xjinfo [Options] <video-file>
Options:
  -h   display this help and exit
  -V   print version information and exit
  -x   print XML (default).
  -t   print duration of file in seconds.
  -v   dump human readable video stream information.
  -c   dump comma separated video stream information.
       one line for each video stream:
        file-duration,file-fps,stream-fps,width,height,codec,colorspace
       Units: file-len: sec; fps: 1/sec; w&h: pixels; codec+fmt: text

Example Output:

  • “Human readable”:

00:04:37.4 - fps:25.00 w:352 h:264 #mpeg1video,yuv420p

  • Comma separated value:

277,90000.00,25.00,352,264,1:1,mpeg1video,yuv420p

  • “duration only” (in seconds):

277

  • XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE av PUBLIC "-//ffmpeg//AV file info//EN" "http://xjadeo.svn.sourceforge.net/viewvc/*checkout*/xjadeo/trunk/src/xjadeo/avinfo.dtd" >
<av>
  <xmlversion>0.2</xmlversion>
  <filename>/home/rgareus/tmp/spwide.mpg</filename>
  <length>277</length>
  <duration>277440000</duration>
  <avtimebase>1000000</avtimebase>
  <time>00:04:37.4</time>
  <bitrate>1275452</bitrate>
  <size>44232696</size>
  <startoffset>185044</startoffset>
  <title></title>
  <copyright></copyright>
  <author></author>
  <album></album>
  <comment></comment>
  <genre></genre>
 <muxrate>0</muxrate>
  <streams>2</streams>
  <video>Video: mpeg1video, yuv420p, 352x264, 999 kb/s</video>
  <stream id="0" type="video">
    <codec>mpeg1video</codec>
    <duration>24969600</duration>
    <timebase>
      <numerator>1</numerator>
      <denominator>90000</denominator>
    </timebase>
    <timerate>90000.00</timerate>
    <bitrate>999600</bitrate>
    <formatid>0x1e0</formatid>
    <width>352</width>
    <height>264</height>
    <sampleaspect>
      <numerator>1</numerator>
      <denominator>1</denominator>
    </sampleaspect>
    <framerate>25.00</framerate>
    <pixelformat>yuv420p</pixelformat>
  </stream>
  <audio>Audio: mp2, 44100 Hz, stereo, 224 kb/s</audio>
  <stream id="1" type="audio">
    <codec>mp2</codec>
    <duration>24937273</duration>
    <timebase>
      <numerator>1</numerator>
      <denominator>90000</denominator>
    </timebase>
    <timerate>90000.00</timerate>
    <bitrate>224000</bitrate>
    <formatid>0x1c0</formatid>
    <channels>2</channels>
    <samplerate>44100</samplerate>
  </stream>
</av>
 
oss/xjadeo/xjinfo.txt · Last modified: 09.02.2010 13:47 by rgareus