= Media detail browser = The package contains a UI for browsing media files and showing details of the files. = Browsing = - in the preview hook of the file browser we run discover and update the details - if one has grillo installed we could use grillo sources in addition to local files - there should be a "open url" menu entry in addition = Details = - show container, video-tracks, audio-track, subtitle-trackes, metadata and parsing messages - auto-play after updating the details have a menu command to turn auto-play off - offer several commands in addition (see below) example output from commandline tool: > gst-discoverer -v /home/ensonic/Musik/xotox-hypnocat.mp3 Topology: audio: audio/mpeg, mpegversion=(int)1, mpegaudioversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)2, parsed=(boolean)true Codec: audio/mpeg, mpegversion=(int)1, mpegaudioversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)2, parsed=(boolean)true Additional info: None Channels: 2 Sample rate: 44100 Depth: 16 Bitrate: 128000 Max bitrate: 0 Tags: taglist, audio-codec=(string)"MPEG\ 1\ Audio\,\ Layer\ 3\ \(MP3\)", has-crc=(boolean)false, channel-mode=(string)stereo, bitrate=(uint)128000; Duration: 0:04:00.039125000 == compare == - dup detail pane and allow to pick a new file - show differing entries in red - add a narrow vertical bar between the two details panes and mark blocks with a delta red - diffing one (broken) file against several known working files would be nice - it would build ranges for the group of files (e.g. for the video width) - it would highlight fields that the are different to any of the working files == analyse == - play the file by using fakesinks and gather statistics: - bitrate profiles for each a/mediainfo/v track - media specific: - audio: volume profile - video: contrast profile - show disconts as vertical bars == structural view/hex view == - make parsing elements post structural messages (if enabled via property) - message would contain: - stream offset in bytes - block identifier (e.g. fourcc) - human readable description (if available) - flags (e.g. if the block is used or skipped) - indentation depth - we would need a way to indicate that e.g. h264parse would be indented below the containing container block - a structured hex view would be nice (somehow align the parse tree with the hexdump) == unsorted == - handle chapters - tag lists - if there is a "language-code" in the tags (or subtitles?) use flag icons - deluge installs some under: /usr/share/pyshared/deluge/data/mediainfo/pixmaps/flags/ - handle album art in tag lists - geo-tags: map-widget?, link to google-maps? - artist: links to {last.fm,wikipedia} - show level meters for audio == deep scan mode == - update fields when playing - listen for duration messages on the bus - get bit-rate over time - specify window size, get min,max,avg bitrate for each window - gst-mi can draw them as a graph - get key-frame statistics - number of keyframes - min,max,avg keyframe intervall - raw data statistics - audio: level, ... - video: histogram, ... = TODO for discoverer = - add deep-scan mode (see above) - get duration per stream - this would need individual queries on the demuxer src pads - or duration as part of per stream tags