2013-11-23 14 views
0

我想转换一个200MB的.ogv文件与脚本我在网上找到为.avi:大文件转换的.ogv为.avi ogv2avi在Ubuntu

#!/bin/bash 
# ogv to avi 
# Call this with multiple arguments 
# for example : ls *.{ogv,OGV} | xargs ogv2avi 
N=$#; 
echo "Converting $N files !" 
for ((i=0; i<=(N-1); i++)) 
do 
echo "converting" $1 
filename=${1%.*} 
mencoder "$1" -ovc xvid -oac mp3lame -xvidencopts pass=1 -o $filename.avi 
shift 1 
done 

这毕竟我所要做的就是$ ogv2avi name_of_file.ogv 它创建converted.avi文件。

它适用于小文件,但它似乎为大文件崩溃,我只能在30分钟录制的前3分钟左右。

Too many audio packets in the buffer: (4096 in 850860 bytes). 
Maybe you are playing a non-interleaved stream/file or the codec failed? 
For AVI files, try to force non-interleaved mode with the -ni option. 

Flushing video frames. 
Writing index... 
Writing header... 
ODML: vprp aspect is 16384:10142. 
Setting audio delay to 0.078s. 

Video stream: 784.308 kbit/s (98038 B/s) size: 21254748 bytes 216.800 secs 3000 frames 

Audio stream: 87.341 kbit/s (10917 B/s) size: 2372536 bytes 217.313 secs 
+0

我刚刚在Ubuntu上安装了Devedo来完成这个任务。如果它有效,我会回到这里。 – Arturo

+1

评论中的例子是[无用](http://partmaps.org/era/unix/award.html#ls);它更好地写成'ogv2avi *。{OGV,ogv}'或者更可移植的(并且更一般地)''ogv2avi *。[Oo] [Gg] [Vv]'。 – tripleee

+0

在'mencoder'中看起来像一个问题,而不是在脚本中。 – tripleee

回答

0

我有完全相同的问题,我周围有唯一的办法(草率的解决方案,但它的工作原理)是发挥在Ubuntu桌面上的.ogv视频和记录见方的视频所在使用不生成.ogv文件的桌面录像机(我推荐使用产生.webm文件的Kazam)。然后使用Audacity编辑输出视频的音频(如有必要),并使用MkvMerge将编辑后的音频与输出视频混合。