diff options
-rw-r--r-- | DOCS/German/mplayer.1 | 5 | ||||
-rw-r--r-- | DOCS/mplayer.1 | 5 | ||||
-rw-r--r-- | cfg-mplayer.h | 1 | ||||
-rw-r--r-- | mplayer.c | 30 |
4 files changed, 41 insertions, 0 deletions
diff --git a/DOCS/German/mplayer.1 b/DOCS/German/mplayer.1 index 1d553849d6..a09232a043 100644 --- a/DOCS/German/mplayer.1 +++ b/DOCS/German/mplayer.1 @@ -937,6 +937,11 @@ Zeigt eine kurze Zusammenfassung der Optionen. .B \-hardframedrop (siehe auch \-framedrop Option) Intensiveres Framedropping (unterbricht die Dekodierung). Führt zu Bildverzerrungen! .TP +.B \-identify +Zeigt die Dateiparameter in einem leicht weiter zu verarbeitendem Format an. +Das Script TOOLS/midentify unterdrückt andere Ausgaben von MPlayer und führt ein +Shellescaping der Dateinamen durch. +.TP .B \-include <Konfigurationsdatei> Gibt eine Konfigurationsdatei an, welche nach der normalen ausgewertet werden soll. .TP diff --git a/DOCS/mplayer.1 b/DOCS/mplayer.1 index 3389d74d40..463f8f869b 100644 --- a/DOCS/mplayer.1 +++ b/DOCS/mplayer.1 @@ -217,6 +217,11 @@ Show short summary of options. More intense frame dropping (breaks decoding). Leads to image distortion! .TP +.B \-identify +Show file parameters in easy parsable format. The wrapper script +TOOLS/midentify suppresses the other mplayer output and (hopefully) +shellescapes the filenames. +.TP .B \-input <commands> This option can be used to configure certain parts of the input system. Paths are relative to ~/\:.mplayer/. diff --git a/cfg-mplayer.h b/cfg-mplayer.h index 5479e1de32..bf113b27bf 100644 --- a/cfg-mplayer.h +++ b/cfg-mplayer.h @@ -378,6 +378,7 @@ static config_t mplayer_opts[]={ #include "cfg-common.h" #undef MAIN_CONF + {"identify", &identify, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL}, {"quiet", &quiet, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL}, {"noquiet", &quiet, CONF_TYPE_FLAG, CONF_GLOBAL, 1, 0, NULL}, {"verbose", &verbose, CONF_TYPE_INT, CONF_RANGE|CONF_GLOBAL, 0, 100, NULL}, @@ -67,6 +67,7 @@ int slave_mode=0; int verbose=0; +int identify=0; static int quiet=0; #define ABS(x) (((x)>=0)?(x):(-(x))) @@ -1148,6 +1149,35 @@ if(sh_audio){ mp_msg(MSGT_CPLAYER,MSGL_INFO,"==========================================================================\n"); } +if(identify) { + mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_FILENAME=%s\n", filename); + if (sh_video) { + /* Assume FOURCC if all bytes >= 0x20 (' ') */ + if (sh_video->format >= 0x20202020) + mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_VIDEO_FORMAT=%.4s\n", &sh_video->format); + else + mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_VIDEO_FORMAT=%d\n", sh_video->format); + mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_VIDEO_BITRATE=%d\n", sh_video->i_bps*8); + mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_VIDEO_WIDTH=%d\n", sh_video->disp_w); + mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_VIDEO_HEIGHT=%d\n", sh_video->disp_h); + mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_VIDEO_FPS=%5.3f\n", sh_video->fps); + mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_VIDEO_ASPECT=%1.2f\n", sh_video->aspect); + } + if (sh_audio) { + if (sh_audio->codec) + mp_msg(MSGT_GLOBAL,MSGL_INFO, "ID_AUDIO_CODEC=%s\n", sh_audio->codec->name); + /* Assume FOURCC if all bytes >= 0x20 (' ') */ + if (sh_audio->format >= 0x20202020) + mp_msg(MSGT_GLOBAL,MSGL_INFO, "ID_AUDIO_FORMAT=%.4s\n", &sh_audio->format); + else + mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_AUDIO_FORMAT=%d\n", sh_audio->format); + mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_AUDIO_BITRATE=%d\n", sh_audio->i_bps*8); + mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_AUDIO_RATE=%d\n", sh_audio->samplerate); + mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_AUDIO_NCH=%d\n", sh_audio->channels); + } + goto goto_next_file; +} + if(!sh_video) goto main; // audio-only //================== Init VIDEO (codec & libvo) ========================== |