Detect broken video files with mplayer and bash in the current directory

for i in *.flv *.mkv *.avi; do mplayer -ao null -vo null -ss 0 -endpos 1 >/dev/null "$i" 2> >(grep -qi error && echo >&2 "$i seems bad"); done
If you want avoid to be annoyed when playing your favourite video files with your video player, first run this command to stash wrong files (and test tricks to play these wrong files).
Sample Output
# annoying and the video file won't play :
$ mplayer file.mkv
...
[h264 @ 0x6ad23b85af8e6]no frame!
Error while decoding frame!
...
# so test my command before

0
By: sputnick
2013-08-20 22:23:11

These Might Interest You

  • Rebuild flv files that are broken (can't seek). This method probably works for other video/audio formats that can become broken in the same way.


    4
    ffmpeg -i broken.flv -acodec copy -vcodec copy fixed.flv
    recursiverse · 2010-05-08 20:31:37 0
  • I know this has been beaten to death but finding video files using mime types and printing the "hours of video" for each directory is (IMHO) easier to parse than just a single total. Output is in minutes. Among the other niceties is that it omits printing of non-video files/folders PS: Barely managed to fit it within the 255 character limit :D Show Sample Output


    0
    for item in *;do echo -n "$item - ";find "$item" -type f -print0 | xargs -0 file -iNf - | grep video | cut -d: -f1 | xargs -d'\n' /usr/share/doc/mplayer/examples/midentify | grep ID_LENGTH | awk -F= '{sum+=$2} END {print(sum/60)}'; done | grep -v ' - 0$'
    jnash · 2009-11-19 06:28:15 0
  • Many sites with Flash video players will download video files to /tmp on Linux, with temporary filenames like "FlashbGTHm4". These will often play in mplayer, totem, or other movie playing software. You must first navigate to a video page, let it start loading, and then pause playback.


    1
    mplayer $(ls -t /tmp/Flash*|head -1)
    mulad · 2009-02-19 04:38:40 3
  • Detect video size automatically , usually the flv video from youtube , dailymotion are in the /tmp directory . Just launch a video player or an ls -lh on it to find the one you want to convert. Show Sample Output


    0
    mencoder input.flv -ovc lavc -oac mp3lame -o output.avi
    eastwind · 2009-12-01 10:42:11 1

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands



Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: