ffmpeg or mplayer for avi conversion?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting ffmpeg or mplayer for avi conversion?
# 1  
Old 03-28-2008
ffmpeg or mplayer for avi conversion?

I need to output a summary of a video as an animated gif. Ideally, I would have 8 equally-spaced frames from the video, and play them back one at a time, each for 0.25 seconds. So I'd have a 2 second animated gif.

This is what I have so far:

Code:
#!/bin/bash
mplayer "$@" -vo gif89a:output="$@".gif:fps=1 -vf scale=640:480 -endpos 8 -really-quiet

As you can see, I'm taking eight frames from the first eight seconds of video. What can I use to take eight frames from $timeOfVideo/7 time periods. Note that I'm dividing the time of the video by 7, not 8, so that I will have the first and last frames of the video in the gif.

My second problem is shortening the duration that each frame is shown. Currently, each frame is shown for 1 second. How can I reduce that to 0.25 seconds?

I am starting to think that ffmpeg is a better tool for the job, however, surprisingly I cannot find relevant examples in Google. Can ffmpeg do what I need? Can mplayer, for that matter? Something else?

Thanks in advance.
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. Debian

How to play avi files Raspberry Pi?

Raspberry Pi B 2014-01-07 Raspbian fully up to date. Installed and configured motion for surveillance. It works just fine and creates .avi files and .jpeg. Installed Mplayer trying to run it from desktop was not successful. I did try to do a command line by executing sudo mplayer... (6 Replies)
Discussion started by: oldcity
6 Replies

2. UNIX and Linux Applications

Burn avi to cd with k3b

Is there a way to burn avi to cd with k3b? When I tried the disc became unusable. I tried to open the disc on 2 different computers with no luck. (0 Replies)
Discussion started by: cokedude
0 Replies

3. UNIX and Linux Applications

Help in converting VOB file to AVI

Hello to all in forum, Somebody could help me saying me which command or application can I use to convert correctly a VOB file of more than 5 GB in size. I have the VIDEO_TS folder with the files: - VTS_01 - Stream Information.txt - VTS_01_0.IFO - VTS_01_1.VOB The Stream Information... (4 Replies)
Discussion started by: Ophiuchus
4 Replies

4. UNIX and Linux Applications

fix broken avi index

I need some recommendations on programs to fix broken avi index. Please tell me what your experiences have been with the program. Which programs work and which ones don't work. (1 Reply)
Discussion started by: cokedude
1 Replies

5. Linux

convert avi to cellphone friendly 320x176 mp4 file...ffmpeg to the rescue :)

found a few ffmpeg posts and after a few unsuccessful attempts, I have found a solution :) to encode an avi to to an nokia e71 recognized mp4 format: ffmpeg -y -i inputFILE.avi -acodec aac -ab 72k -s 320x176 -aspect 16:9 -vcodec h264 -b 300k -qcomp 0.6 -qmin 16 -qmax 51 -qdiff 4 -flags +loop... (2 Replies)
Discussion started by: mr_manny
2 Replies

6. UNIX and Linux Applications

Convert .mp4 to .avi

Hello, I need software to convert multimedia files. What is the good software? I was looking for it on the web, but I did not find any special. Thanks... (1 Reply)
Discussion started by: feliks
1 Replies

7. Solaris

Playing AVI in solaris 8

how to play avi file in solaris8 ??... it is not opening in realplayer 7 ..... i also dont have the root login ...plz help !!! (2 Replies)
Discussion started by: coolguyshail
2 Replies

8. UNIX for Advanced & Expert Users

help wanted kernel avi

Hello there! Slightly off topic maybe, but maybe someone can help us. For a videoshow which will be called reality 6.1 we need a video file from a unix kernel that is compiling. Does anyone know how to capture this, or does anyone have such a vid? cheers, iuno (www.iuno.nl) (2 Replies)
Discussion started by: iuno
2 Replies
Login or Register to Ask a Question
lavpipe(1)							MJPEG tools manual							lavpipe(1)

NAME
lavpipe - creates raw YUV streams from pipe list scripts SYNOPSIS
lavpipe [-o num] [-n num] pipe-list DESCRIPTION
lavpipe reads a script file called 'pipe list' that is of a similar structure as the edit lists that can be fed into lav2yuv. For info about the pipe list format see below. The pipe list defines several video sources and filters that are combined by lavpipe to produce a single output YUV stream on stdout (which for example can be compressed and stored to disk via mpeg2enc(1) or yuv2lav(1)). OPTIONS
The command line options are used to output a specific part of the resulting video stream. That means you can tell lavpipe how many frames to skip and how many frames to deliver from that point on. -o num This is the frame offset of the output video. The first num frames of the resulting video simply are neither calculated nor written to stdout. This value defaults to 0. -n num This is the frame count. If the input files or streams defined in the pipe list script are long enough, the output will be of exactly num frames length. A value of 0 means that all frames until the last one as defined in the pipe list will be written out, as long as there's some input (0 is the default). pipe-list This is name of the pipe list file that lavpipe will 'execute'. For information about this file's format see below. -? Display a synopsis of the command syntax. EXAMPLES
lavpipe -o 100 -n 25 film.pli would calculate and output to stdout frames 100 to 124 as defined in film.pli (in PAL this would be the 5th second of the film). lavpipe input.pli | yuv2lav -q80 output.avi would save the movie assembled by lavpipe as a single AVI file. USAGE
In this section the format of lavpipe's input files the pipe list scripts is explained. If you need some examples or a more detailed tuto- rial, please read the mjpegtools(1) manpage's section about CREATING MOVIE TRANSITIONS. and the file README.lavpipe that should be included in the distribution. Also feel free to contact us via the mailing list (see below). A pipe list contains of two parts: the YUV source list and after this, as many sequence descriptions as wanted. It always begins with the following two lines: LAV Pipe List This is the first line in every pipe list script. It is used as a simple test if lavpipe really was given a pipe list script and not your PhD thesis as input. NTSC|PAL This is the second line in every pipe list and can be either PAL or NTSC, depending on what video standard you use. I don't remember if this is used at the moment. Now follows the source list: num This is the number of input commands. lavpipe will read the next num lines and interpret them as input stream commands. command (num times) This is a valid command line with two variables $o and $n that will be replaced by lavpipe with the offset and number of frames that the program has to output. Example: lav2yuv -o $o -f $n input.avi Thus, an example source list could look like this: 2 lav2yuv -o $o -f $n scene1.avi lav2yuv -o $o -f $n scene2.avi after this you can append as many sequence descriptions as needed. Each of them is built up as follows: num The number of frames that this sequence will last. num The number of inputs that will be used in this sequence. This number must of course be less than or equal to the number of inputs that are defined above. idx [ofs] (num times) These are the indices to the sources that are defined at the beginning of the file (first source is 0) with an optional frame offset (i.e. sequence starts with frame number ofs of this input.) - this value defaults to 0. Example: 0 150 command This is a valid command line to a YUV filter tool that reads num input streams and writes one output stream, combining its inputs. Optionally, the filter tool can be given the two $o and $n variables that will be replaced by lavpipe as in the source commands (see above). For further info read README.lavpipe or the documentation for the filter programs (if available). An example filter could look like this: transist.flt -o 0 -O 255 -s $o -n $n -d 50 And if the sequence only has one input that simply should be copied to the output, you can use a dash instead of a command line: - And here's an example for a complete pipe list that implements a transistion from scene1.avi to scene2.avi REMOVE THE COMMENTS AFTER The # LAV Pipe List PAL 2 lav2yuv -o $o -f $n scene1.avi lav2yuv -o $o -f $n scene2.avi 50 # first sequence: 50 frames 1 # contains one input: 0 0 # scene1.avi, offset 0 - # simple output 25 # second sequence: 25 frames 2 # contains two inputs: 0 50 # scene1.avi, offset 50 1 # scene2.avi, offset 0 transist.flt -o 0 -O 255 -s $o -n $n -d 50 # transistion 50 # third sequence: 50 frames 1 # contains one input: 1 25 # scene2.avi, offset 25 - # simple output BUGS
I'm sure there are enough of them. lavpipe often accepts malformed pipe lists and then writes out a video that was all but intended - with- out warning. The mention of $n above is wrong. At one time there were two parameters but now a program is allowed to produce as many frames as it wants. THe author of the program hard coded, for reasons unknown, $n to be 0. NOTES
There are also some serious limitations in the system, such as frame-by-frame processing. But as the goal when writing lavpipe was the sim- plicity of the pipeline, other tools will have to be written to do more interesting tasks. But I want to note that it is very well possible to write a pipe list that combines several files, and then use that pipe list as an input for another pipe list by simply using the lavpipe command in the source list (see above) - this can be already used to do some nice things, if you have some nice filters. Comments are NOT allowed in pipelist files. The comments (text after #) above are for illustration only. AUTHOR
This man page was written by Philipp Zabel. If you have questions, remarks, problems or you just want to contact the developers, the main mailing list for the MJPEG-tools is: mjpeg-users@lists.sourceforge.net For more info, see our website at http://mjpeg.sourceforge.net SEE ALSO
lav2yuv(1), lavplay(1), lavrec(1), mpeg2enc(1), yuv2lav(1), yuvscaler(1) MJPEG Linux Square 2 June 2001 lavpipe(1)