On 08 Aug 2015, at 14:46, Robin Lery <robinl...@gmail.com> wrote: > Yes, thank you. I understand now. However I tried doing two pass multiple > output with one input like this: > > ffmpeg -i mi6.mp4 \ > -codec:v libx264 -tune zerolatency -profile:v main -preset medium -b:v > 1000k -maxrate 1000k -bufsize 10000k -s hd720 -threads 0 -pix_fmt yuv420p > -pass 1 -passlogfile unique_id-hd720 -an -f mp4 /dev/null \ > -codec:v libx264 -tune zerolatency -profile:v baseline -level 3.0 > -preset medium -b:v 250k -maxrate 250k -bufsize 2500k -vf > scale="trunc(oh*a/2)*2:360" -threads 0 -pix_fmt yuv420p -movflags > +faststart -pass 1 -passlogfile unique_id-360 -an -f mp4 /dev/null && \ > -codec:v libx264 -tune zerolatency -profile:v main -preset medium -b:v > 1000k -maxrate 1000k -bufsize 10000k -s hd720 -threads 0 -pix_fmt yuv420p > -pass 2 -passlogfile unique_id-hd720 -codec:a libfdk_aac -movflags > +faststart output/mi6-poty-720.mp4 \ > -codec:v libx264 -tune zerolatency -profile:v baseline -level 3.0 > -preset medium -b:v 250k -maxrate 250k -bufsize 2500k -vf > scale="trunc(oh*a/2)*2:360" -threads 0 -pass 2 -passlogfile unique_id-360 > -codec:a libfdk_aac -pix_fmt yuv420p -movflags +faststart > output/mi6-poty-360.mp4 > > > When I run this command first I get this: > > File '/dev/null' already exists. Overwrite ? [y/N] y > > File '/dev/null' already exists. Overwrite ? [y/N] y > > > Afterward there's two file with the specified name, but the file size is 0. > What's going on? former mail talks about /dev/nul NOT /dev/null > > > > On Thu, Aug 6, 2015 at 7:56 PM, Moritz Barsnick <barsn...@gmx.net> wrote: > >> Hi Robin, >> >> On Thu, Aug 06, 2015 at 19:42:39 +0530, Robin Lery wrote: >>> 2nd pass has more frames than 1st pass >> >> Because you didn't do a first pass. ;-) >> >>> So, my concern is how will ffmpeg know which one is the first pass so >> that >>> it can do its pass 2 encoding? >> >> ffmpeg stores its findings from the first pass in a log file, and >> reuses that during its second pass. >> >>> And since many videos will be uploaded simultaneously I can't keep >>> them all at the /dev/null as it will replace one with another. So how >>> can I manage it? >> >> If your Unix system is set up correctly, /dev/null has plenty of space >> for holding _all_ the first pass videos. ;-) (If you don't get the >> joke: Read up on /dev/null.) >> >> The problem will be that the log files will interfere with each other. >> Please do read ffmpeg's fine documentation on 2-pass encoding: >> >> ‘-pass[:stream_specifier] n (output,per-stream)’ >> >> Select the pass number (1 or 2). It is used to do two-pass video >> encoding. The statistics of the video are recorded in the first >> pass into a log file (see also the option -passlogfile), and in the >> second pass that log file is used to generate the video at the >> exact requested bitrate. On pass 1, you may just deactivate audio >> and set output to null, examples for Windows and Unix: >> >> ffmpeg -i foo.mov -c:v libxvid -pass 1 -an -f rawvideo -y NUL >> ffmpeg -i foo.mov -c:v libxvid -pass 1 -an -f rawvideo -y /dev/null >> >> ‘-passlogfile[:stream_specifier] prefix (output,per-stream)’ >> >> Set two-pass log file name prefix to prefix, the default file name >> prefix is “ffmpeg2pass”. The complete file name will be >> ‘PREFIX-N.log’, where N is a number specific to the output stream >> >> This means if you do parallel encoding, you need to give each encode a >> unique file name prefix with "-passlogfile". You can generate unique >> file names (or prefixes) using "mktemp". For a web app like yours, I >> would alternatively probably generate unique temporary directories, and >> operate within them. >> >> HTH, >> Moritz >> _______________________________________________ >> ffmpeg-user mailing list >> ffmpeg-user@ffmpeg.org >> http://ffmpeg.org/mailman/listinfo/ffmpeg-user >> > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-user
_______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user