» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


 16 12
发新话题
打印

3GP_Converter压片参数设置测试

在cg看过了,在这里帮顶。

贴一下目前研究出来的用3GP转效果最佳的方案的脚本,仅供参考。方案来自cngba的abraxas

3GP脚本是我写的,PSP测试成功,体积相对很小,质量高,压制速度极慢,大概是片源时间的2倍+  要是要比较快的方案,就是熊猫用的那个,也是我编写的脚本

除了3GP,还需要以下程序: avs2wav(或者extractwave) x264 ffmpeg mp4box  atomchanger

========================================================
引用:
[Item0]
Title=480x272 MP4-AVC  X264-crf24 AAC-96kbps
TitleE=480x272 MP4-AVC  X264-crf24 AAC-96kbps

Command0=""<%AppPath%>\cores\avs2wav" "<%InputFile%>" "<%OutputFile%>.wav""

Command1=""<%AppPath%>\cores\ffmpeg" -y -i "<%OutputFile%>.wav" -bitexact -vn -acodec aac -ac 2 -ar 48000 -ab 48 "temp\out_aac.mp4"

Command2="rm "<%OutputFile%>.wav""

Command3=""<%AppPath%>\cores\x264" --crf 24 -A all --level 3 --me umh -m 6 --bime --ref 2 --mixed-refs --bframes 16 --b-rdo --weightb --trellis 2  --aud   --thread-input --progress --output "temp/out.264" "<%InputFile%>""

Command4=""<%AppPath%>\cores\MP4box" -raw 1 "temp\out_aac.mp4"

Command5=""<%AppPath%>\cores\MP4box" -fps 29.97 -add "temp\out.264" "<%OutputFile%>.MP4"

Command6=""<%AppPath%>\cores\MP4box" -fps 29.97 -add "temp\out_aac_track1.aac" "<%OutputFile%>.MP4"

Command7=""<%AppPath%>\cores\ATOMChanger.exe" "<%OutputFile%>.MP4" "<%OutputPath%>MAQ<%RandomNumber5%>.MP4" "AtomAVC.ini"

Command8=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -f image2 -ss 5 -vframes 1 -s 160x120 -an "<%OutputPath%>MAQ<%RandomNumber5%>.THM""

Command9="rm "temp\out_aac.mp4""

Command10="rm "temp\out.264""

Command11="rm "temp\out.264.txt""

Command12="rm "temp\out_aac_track1.aac""

Command13="rm "<%OutputFile%>.MP4""


TOP

引用:
原帖由 真忘私绵 于 2007-1-12 00:46 发表
顺便问问
怎么设置才能让3GP转出来的文件名字按照原文件起?
现在都乱跳……
<%OutputPath%>MAQ<%RandomNumber5%>.MP4  改成  <%OutputFile%>.MP4 就可以了,THM文件同理。

另外那个pmp-avc和avc的差别,应该是由于AVS脚本的参数设置造成的。

换句话说,二者的视频完全是一回事,都是用同样的软件处理,处理完以后,+MP3一打包就成为PMP-AVC。 而+AAC一打包,就成了MP4-AVC

两者的视频完全具备互换性。但是前提是视频没有b-frame,因为pmp-avc不支持

方法如下

pmp-avc => mp4-avc

视频用pmp-avc demuxer分离出来,音频用besweet把MP3转换成aac,然后用mp4box合成打包,再用atomchanger转换成PSP识别的。

mp4-avc => pmp-avc

视频用yamb把.264的raw视频提取,音频用goldwave把AAC转换成mp3,然后用pmp_avc_muxer合成为PMP-AVC

[ 本帖最后由 arex 于 2007-1-12 01:26 编辑 ]



TOP

引用:
原帖由 qyqgpower 于 2007-1-12 01:17 发表
用我很久之前改的那个atomchanger就不需要29.97fps限定了
我就是在找你做的那个atomchanger呢,找了好久了,翻贴翻了半天了,原来有的。后来不小心弄不见了.

麻烦您在提供下好吗?

由于TG的搜索只能搜到06/7以后的帖子了...

[ 本帖最后由 arex 于 2007-1-12 01:31 编辑 ]


TOP

引用:
原帖由 qyqgpower 于 2007-1-12 01:17 发表
用我很久之前改的那个atomchanger就不需要29.97fps限定了
能不能把你很久之前的那个atomchanger再提供下啊,我不小心弄不见了,今天到处找都找不到,TG也不能翻旧帖了

先谢了

TOP

这个要在3GP的文件夹下面建立一个temp的文件夹。

还有就是,一定要转成29.97的,因为ATOMchanger不是qyqgpower 的那个可以支持任意29.97以下fps的,不是29.97就是会不同步的...

还有就是编码那叫一个慢啊,我是无法接受的,8~9fps的速度...

后来看了下这方法根本就是LEVLEUP的EZbuilder的思路,个人感觉不是很好。还是推荐用ffmpeg压的方法,效果一点不差 速度快的多,而且有进度条显示。并且不用担心不同步,从23.98到29.97都没问题的。

中了邪了,研究一晚上,刚才花1个半小时转换了个夏娜OVA,23.98fps的还是不同步...还是一开始的方法简单实用....

TOP

引用:
[Item0]
Title=AVC VBR QB22 Stereo/96kbps fps=Orginal
TitleE=AVC VBR QB22 Stereo/96kbps fps=Orginal
Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -title "<%Title%>" -timestamp "<%TimeStamp%>" -bitexact -vcodec h264 -coder 1 -bufsize 128 -g 250 -qscale 22 -maxrate 2000 -acodec aac -ac 2 -ar 48000 -ab 48 -f psp "<%OutputPath%>MAQ<%RandomNumber5%>.MP4""
Command1=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -f image2 -ss 5 -vframes 1 -s 160x120 -an "<%OutputPath%>MAQ<%RandomNumber5%>.THM""

[Item1]
Title=AVC VBR QB22 Stereo/96kbps fps=29.97
TitleE=AVC VBR QB22 Stereo/96kbps fps=29.97
Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -title "<%Title%>" -timestamp "<%TimeStamp%>" -bitexact -vcodec h264 -coder 1 -bufsize 128 -g 250 -r 29.97 -qscale 22 -maxrate 2000 -acodec aac -ac 2 -ar 48000 -ab 48 -f psp "<%OutputPath%>MAQ<%RandomNumber5%>.MP4""
Command1=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -f image2 -ss 5 -vframes 1 -s 160x120 -an "<%OutputPath%>MAQ<%RandomNumber5%>.THM""
我自己用的两个,没有加什么额外参数,速度很快。

如果片源是29.97以下的,用fps=Orginal 转,保持原桢率;如果是30fps的,用fps=29.97转,因为实验最大只能支持29.97,30fps无论如何无法识别。

由于2pass是在太慢,一般转x264的都使用vbr的动态编码,品质21~26,越低越好。

个人主要看动画比较多,所以一般即使用Q22转出来也不会太大,一般根据动画的质量,25分钟左右的是70~100M左右。如果觉得大可以把Q值改得高一些~~~

现在用qyqgpower大的atom再转一次试试~~~23.98的还是应该转成23.98比较科学

TOP

引用:
原帖由 BigBangBang 于 2007-1-12 03:18 发表

这个是没有RESIZE的吧
转出来一小段竟然和片源的分辨率一样....
你说对了,因为ffmpeg的resize的方式相当差劲,所以一般为了保证质量,用AVS来处理,这就是3GP的最大特点了。

在3GP_Converter.ini里面添加

[Avisynth]
Ext0=WMV:\cores\DSS.avs
Ext1=WMA:\cores\DSS.avs
Ext2=AVI:\cores\DSS.avs
Ext3=RM:\cores\DSS.avs
Ext4=RMVB:\cores\DSS.avs
Ext5=MKV:\cores\MKV.avs
Ext6=SRT:\cores\SRT.avs
Ext7=SSA:\cores\SRT.avs
Ext8=SUB:\cores\SUB.avs
Ext9=ASS:\cores\SRT.avs

这样把以上后缀的文件拖放以后,它就会自动先把这个文件写成AVS的,然后拿这个AVS来转,这就是为什么有的人说3GP什么都能转,有的人用3GP转什么都出错,关键就是AVS的运用。

举例:

\cores\DSS.avs

内容是:
引用:
DirectShowSource("<%InputFile%>",convertfps=true)

sharpen(0.1)

BicubicResize(480,272,-0.8,0)

return last
就是说你把文件拖进去以后就先生成一个这样的临时AVS文件,在AVS中就已经做好了resize,还可以加些滤镜,比如适当锐化~~~

然后转的时候就不用再resize了。由于AVS本身的resize参数非常优秀,所以转换出来画面锐度很好,而用一些mencoder为核心的傻瓜软件,大多不重视这一点,转出来的片子就会显得比较模糊。这也是我不喜欢用那些傻瓜软件的原因~~~虽然说mencoder新版也可以支持AVS的音频,完全可以用mencoder来转出不错的效果,但是那样就失去了mencoder转换的一大优势-----高速性。于是就没有必要用mencoder~
本帖最近评分记录
  • rb 发贴积分 +10 原创内容 2007-1-12 23:31

TOP

其实3GP就是个壳,用于比较方便的进行批处理。实际真正转片完全是靠AVS,还有命令行操作。基本上会命令行写批处理文件 并且AVS用的熟练的话,3GP转片子就最方便了,全是往进一拖的事情,比什么转片软件都方便,因为大多数人转片也就几套设置足够了,并不需要老是调节什么参数的。动态编码适应性又强,我基本上一直就用这个参数~~~从原来AVC时代到PMP-AVC到现在。

也就是因为这个原因,从PSP诞生到现在,这也是唯一一个一直走在最前面的软件,每当有什么新的格式诞生,3GP毫无疑问都是最早能实现方便压制的软件。可玩性很高~~~

TOP

引用:
原帖由 MJ3 于 2007-1-12 12:37 发表


fps不要用ffmpeg,最好在avs里改
嗯,你说的没错

其实是偶是嫌麻烦,因为这样不用写avs了,每次都套模板,用ffmpeg的话,30fps=〉29.97fps,损失不会太大吧?

另外昨天用qyqpower的atomchanger试了下,发现转23.98的还是会不同步。不知道是我的设置问题还是什么...转出来的片子在电脑上播放已经不同步了....

TOP

引用:
原帖由 qyqgpower 于 2007-1-12 14:07 发表
如果电脑上播放不同步问题肯定不是出在atomchanger上,mux时候的fps有没有用错?
MP4box -add "out.264" "<%OutputFile%>.MP4"

像这样不指定fps,不能自己按照raw文件的原始fps来mux么,如果是这样就找到问题所在了。

TOP

引用:
原帖由 qyqgpower 于 2007-1-12 14:40 发表
必须指定fps,不然默认是25,raw里哪来的fps数据
噢,了解了,谢过~~


----------------------------------
嗯,成功了,完全没有问题,而且必须用你的这个,用pspvideo9的那个会不同步的。

[ 本帖最后由 arex 于 2007-1-12 15:14 编辑 ]

TOP

引用:
原帖由 xycliff 于 2007-1-12 14:44 发表
为什么我用MPG转出来的MP4分辨率就和片源一样?
而其他格式转出来就是480*272
MPG没通过AVS,所以没有被resize

3GP_Cnoverter.ini

最后添上

Ext??=MPG:\cores\DSS.avs
Ext??=MPEG:\cores\DSS.avs

?? 按顺序往下排

TOP

这个就不太清楚了,没有用过m6,但是这个和帧数低没有关系,即便是15帧也可以同步,只不过流畅度不行,估计还是附带的软件不是很完善的原因,应该有别的好的工具压出来的片子M6可用。就像PSP,IC2plus是官方的软件,不过基本上没人用。

不过魅族也不太厚道,当时放话说更新固件后就可以支持到24fps还是30fps,难道到现在还没有支持么? 可能真的是机能的缘故了...

TOP

不是强制30fps啊,用qyqpower大的那个ATOMchanger或者ffmpeg都可以支持低于29.97的任意帧数。

效果差别不大,但是支持B桢,体积可以更小一下,AAC同样码率效果好过MP3,也可以有助于较小体积。

TOP

看看是不是少一个引号之类的小错误,肯定是可以那样改的

<%OutputPath%>MAQ<%RandomNumber5%>.MP4  表示输出路径、MAQ<5位随机数字>
.MP4

<%OutputFile%>.MP4 表示文件名和输入相同,后缀为MP4

TOP

 16 12
发新话题
     
官方公众号及微博