Using mplayer to determine length of audio/video file

后端 未结 5 2195
不思量自难忘°
不思量自难忘° 2021-02-14 00:21

The following works very nicely to determine the length of various audio/video files:

mplayer -identify file.ogg 2>/dev/null | grep ID_LENGTH
<
相关标签:
5条回答
  • 2021-02-14 00:21

    There's another FF-way in addition to @codelogic's method, which doesn't exit with an error:

    ffprobe <file>
    

    and look for the duration entry.

    Or grep for it directly in the error stream:

    ffprobe <file> 2> >(grep Duration)
    
    0 讨论(0)
  • 2021-02-14 00:23

    Download your .mp3 file, play it with your Player (ex. Windows Media Player) and the player will show the total time at the end of play.

    0 讨论(0)
  • 2021-02-14 00:33

    The MPlayer source ships with a sample script called midentify, which looks like this:

    #!/bin/sh
    #
    # This is a wrapper around the -identify functionality.
    # It is supposed to escape the output properly, so it can be easily
    # used in shellscripts by 'eval'ing the output of this script.
    #
    # Written by Tobias Diedrich <ranma+mplayer@tdiedrich.de>
    # Licensed under GNU GPL.
    
    if [ -z "$1" ]; then
            echo "Usage: midentify.sh <file> [<file> ...]"
            exit 1
    fi
    
    mplayer -vo null -ao null -frames 0 -identify "$@" 2>/dev/null |
            sed -ne '/^ID_/ {
                              s/[]()|&;<>`'"'"'\\!$" []/\\&/g;p
                            }'
    

    The -frames 0 makes mplayer exit immediately, and the -vo null -ao null prevent it from trying to open any video or audio devices. These options are all documented in man mplayer.

    0 讨论(0)
  • 2021-02-14 00:34

    looks like there are a few other libs available, see time length of an mp3 file

    0 讨论(0)
  • 2021-02-14 00:43

    FFMPEG can give you the same information in a different format (and doesn't attempt playing the file):

    ffmpeg -i <myfile>
    
    0 讨论(0)
提交回复
热议问题