2013-10-11 95 views
0

我如何运行此文件ffmpeg的编码运行shell命令

infile ="video.avi" 
tmpfile="video_tmp.mp4" 
outfile="video.mp4" 
options="-vcodec libx264 -b 512k -flags +loop+mv4 -cmp 256 \ 
    -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 \ 
    -me_method hex -subq 7 -trellis 1 -refs 5 -bf 3 \ 
    -flags2 +bpyramid+wpred+mixed_refs+dct8x8 -coder 1 -me_range 16 \ 
     -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10\ 
    -qmax 51 -qdiff 4" 

ffmpeg -y -i "$infile" -an -pass 1 -threads 2 $options "$tmpfile" 

ffmpeg -y -i "$infile" -acodec libfaac -ar 44100 -ab 96k -pass 2 -threads 2 $options "$tmpfile" 

qt-faststart "$tmpfile" "$outfile" 

从这里https://gist.github.com/vadimii/4621929

Shell命令拍得很好了我的范围,基于任何帮助,将不胜感激感谢

+0

保存,'使用chmod + X script'和'/ script' – fedorqui

+0

它是一个外壳脚本 - 保存。它到一个文件,然后使用你的shell解释器执行它,例如'bash file.sh' – Jost

+0

所以命令就是./file video_one.mov output.mp4 – user1503606

回答

1

评论内容如下:

infile =$1 
tmpfile="video_tmp.mp4" 
outfile=$2 
options="-vcodec libx264 -b 512k -flags +loop+mv4 -cmp 256 \ 
    -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 \ 
    -me_method hex -subq 7 -trellis 1 -refs 5 -bf 3 \ 
    -flags2 +bpyramid+wpred+mixed_refs+dct8x8 -coder 1 -me_range 16 \ 
     -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10\ 
    -qmax 51 -qdiff 4" 

ffmpeg -y -i "$infile" -an -pass 1 -threads 2 $options "$tmpfile" 

ffmpeg -y -i "$infile" -acodec libfaac -ar 44100 -ab 96k -pass 2 -threads 2 $options "$tmpfile" 

qt-faststart "$tmpfile" "$outfile" 

要执行它:

  • 将此文件保存为我想说的my_script
  • 给它执行权限:chmod +x my_script
  • 执行它得到安宁参数如下:

    ./my_script input_file output_file 
    

/bin/bash my_script input_file output_file 
+0

谢谢运行它,但我得到的错误:没有这样的文件或目录 文件中的最后一个原子不是moov原子我认为生病尝试找到一个好的gui – user1503606

+0

如果你添加的参数没有它的路径,确保它们在脚本的相同路径。否则,把他们的完整路径。 – fedorqui