mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-26 02:00:33 +00:00
96 lines
3.3 KiB
Text
96 lines
3.3 KiB
Text
= 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
|
|
|