NMM视频技术(旧)

 找回密码
 成为会员
搜索
查看: 14097|回复: 36

请教如何做MP4 VFR为片源的视频

[复制链接]
发表于 2009-10-9 12:54 | 显示全部楼层 |阅读模式
本帖最后由 Only Human 于 2009-10-9 13:44 编辑

片源是MP4 VFR...我不知道该如何处理...因为以前都是DVD的...
这次要做成RMVB...是直接做成30帧么...
该如何写AVS...过来请教大大们...希望能帮助解答...
   Video #1
      ID : 1
      Format : AVC
      Format/Info : Advanced Video Codec
      Format profile : High@L4.1
      Format settings, CABAC : Yes
      Format settings, ReFrames : 4 frames
      Codec ID : avc1
      Codec ID/Info : Advanced Video Coding
      Duration : 24mn 29s
      Bit rate mode : Variable
      Bit rate : 1 902 Kbps
      Maximum bit rate : 15.2 Mbps
      Width : 1 280 pixels
      Height : 720 pixels
      Display aspect ratio : 16:9
      Frame rate mode : Variable
      Frame rate : 30.834 fps
      Minimum frame rate : 14.985 fps
      Maximum frame rate : 119.880 fps
      Original frame rate : 29.970 fps
      Resolution : 24 bits
      Colorimetry : 4:2:0
      Scan type : Progressive
      Bits/(Pixel*Frame) : 0.067
      Stream size : 333 MiB (90%)
      Writing library : x264 core 67 r1163_EXPERIMENTAL
      Encoding settings : cabac=1 / ref=4 / deblock=1:-1:-1 / analyse=0x3:0x113 / me=umh / subme=9 / me-prepass=0 / psy_rd=0.4:0.0 / mixed_ref=1 / me_range=32 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-2 / threads=6 / thread_queue=6 / nr=0 / decimate=0 / mbaff=0 / fgo=0 / bframes=3 / b_pyramid=1 / b_adapt=2 / b_bias=0 / direct=3 / wpredb=1 / keyint=300 / keyint_min=1 / scenecut=60 / rc=crf / crf=24.0 / qcomp=0.70 / qpmin=10 / qpmax=41 / qpstep=8 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:0:-0.20:8.00:1.00:1.00:1.00 / aq2=1:0.40:15.50
      Encoded date : UTC 2009-10-06 19:37:48
      Tagged date : UTC 2009-10-06 20:24:10
 楼主| 发表于 2009-10-9 13:06 | 显示全部楼层
X="路径\文件名.mp4"
V=DirectShowSource(X,audio=false).ChangeFPS(29.976)
A=DirectShowSource(X,video=false)
AudioDub(v,a)
这样行么,..
发表于 2009-10-9 13:12 | 显示全部楼层
谁说是120fps的MP4
只是普通的vfr MP4罢了
看了下参数,猜测是用roozhou版的x264
所以如果要再次压制的话,也可以用roozhou版的x264直接压这个视频
或者如果要转的是别的格式的话,AVS里统一帧率用assumefps(29.97),然后直接压
接着用DtsEdit提取源MP4的timecode
最后根据封装容易的不同选择用不同的工具把timecode和压好的成品封装到新容器中
 楼主| 发表于 2009-10-9 13:17 | 显示全部楼层
本帖最后由 Only Human 于 2009-10-9 13:40 编辑

谢谢LS纠正错误...帮忙解答..我对这类片源没什么了解...
我也是一个压制的新手...
那顺便再请教个问题120fps的属性是怎样的呢...
发表于 2009-10-9 13:23 | 显示全部楼层
楼主要是愿意用MKV封装RV的话就好办了,如果要.rmvb文件的话,先提出片源的TCv1看一下再决定怎么做比较好。你可以把TC发上来,大家帮你看一下。
 楼主| 发表于 2009-10-9 13:34 | 显示全部楼层
# timecode format v1
Assume 59.940060
0,19082,29.970030
19083,19260,59.940060
19261,28268,29.970030
28269,28404,59.940060
28405,42427,29.970030
42428,44647,59.940060
44648,45302,29.970030

这个是么,,
 楼主| 发表于 2009-10-9 13:36 | 显示全部楼层
本帖最后由 Only Human 于 2009-10-9 13:38 编辑

5# diseac


谢谢diseac大帮忙解答...就是用来内嵌字幕用的片源...
他们想做RMVB跟MKV这两种格式...
字幕的timecode调整用Aegisub我知道...
发表于 2009-10-9 13:44 | 显示全部楼层
你试试下面的AVS,出来是CFR 30fps的,可以压成.rmvb文件,如果时间不对再来回帖。

至于MKV,完全可以不用再压缩,直接封装。

另外,不要用DirectShowSource载入AVC。应当先从MP4里提取出AVC流,再用DGAVCIndex创建工程文件,最后在AVS中导入工程文件。
  1. trim(0,19082).assumefps(30000,1001)
  2. \+ trim(19083,19260).selecteven().assumefps(30000,1001)
  3. \+ trim(19261,28268).assumefps(30000,1001)
  4. \+ trim(28269,28404).selecteven().assumefps(30000,1001)
  5. \+ trim(28405,42427).assumefps(30000,1001)
  6. \+ trim(42428,44647).selecteven().assumefps(30000,1001)
  7. \+ trim(44648,45302).assumefps(30000,1001)
复制代码
 楼主| 发表于 2009-10-9 13:48 | 显示全部楼层
再次感谢diseac大...还有个问题如何从MP4里提取出AVC流...
用Tc2mp4么...
发表于 2009-10-9 13:52 | 显示全部楼层
9# Only Human

MP4box
另外它有个GUI叫Yamb
 楼主| 发表于 2009-10-9 14:35 | 显示全部楼层
本帖最后由 Only Human 于 2009-10-9 14:39 编辑

遇到另一个问题...
用Easy RealMedia Producer做RMVB...
整个音频加视频的AVS该如何写...

  1. AVCSource("dga")
  2. trim(0,19082).assumefps(30000,1001)
  3. \+ trim(19083,19260).selecteven().assumefps(30000,1001)
  4. \+ trim(19261,28268).assumefps(30000,1001)
  5. \+ trim(28269,28404).selecteven().assumefps(30000,1001)
  6. \+ trim(28405,42427).assumefps(30000,1001)
  7. \+ trim(42428,44647).selecteven().assumefps(30000,1001)
  8. \+ trim(44648,45302).assumefps(30000,1001)
复制代码
我没有用过这种语句的分段处理....
再问下AVS能挂AAC么...
貌似没有看见过这种语句...
那分离出来的AAC还要转成WAV么...
发表于 2009-10-9 14:46 | 显示全部楼层
  1. loadplugin("DGAVCDecode.dll")
  2. avcsource("片源")
  3. trim(0,19082).assumefps(30000,1001)
  4. \+ trim(19083,19260).selecteven().assumefps(30000,1001)
  5. \+ trim(19261,28268).assumefps(30000,1001)
  6. \+ trim(28269,28404).selecteven().assumefps(30000,1001)
  7. \+ trim(28405,42427).assumefps(30000,1001)
  8. \+ trim(42428,44647).selecteven().assumefps(30000,1001)
  9. \+ trim(44648,45302).assumefps(30000,1001)
  10. a=wavsource("音频")
  11. return audiodub(last,a)
复制代码
我记得有一个插件可以直接载入AAC,忘记是什么了,楼主要是有兴趣的话查一查这里:www.avisynth.info
用FAAC或者NERO解压成WAV也可以。
 楼主| 发表于 2009-10-9 14:53 | 显示全部楼层
谢谢diseac大耐心解答...
AAC能直接DSS的...
再一次的感谢...
发表于 2009-10-9 15:29 | 显示全部楼层
其实压内嵌rmvb...直接DDS吧...也没必要那么考究...
其次.ERP走DSHOW,可以直接压这个MP4,VOBSUB正常载入的话,同样可以内嵌字幕
压好的视频保持和源一样,都是VFR
根本不需要以上那么繁琐的步骤

小声说:抛弃RV吧..MP4从我做起,从每个人做起..
发表于 2009-10-10 00:03 | 显示全部楼层
工欲善其事,必先利其器。DirectShow永远是万不得已的情况下才会用它。
花5分钟时间做好编码环境,可能会给你的编码节约50分钟甚至更多。
最近我在其他论坛上学来个有意思的东西,叫格式公司还是什么的,据说可以一键转换所有格式,操作简单一看就会,想不烦琐的话试试
发表于 2009-10-10 00:20 | 显示全部楼层
直接RPG啊,丢进去是vfr,出来也是vfr
拆出raw stream太麻烦,直接ffmpegsource
发表于 2009-10-10 06:39 | 显示全部楼层
虽然说用什么做法是个人的自由,也请不要宣讲可怕的方法
看到这样的TC,如果还要选择VFR RV的话,我实在不知道怎么说好了
 楼主| 发表于 2009-10-10 07:41 | 显示全部楼层
本帖最后由 Only Human 于 2009-10-10 08:21 编辑

再一次的感谢大家热心解答...
我也是编码新手...
昨天也试了直接丢ERP...
影音也是同步的...
我没有说这么做不好...起码看上去画质并没有什么区别...
但是我还是想学到比较[正确]的处理方法....
一定意义上的正确...编码还是看自己自由的...没有硬性的规定...
但是为了给看的人带去舒服感...
或者像diseac大说的[花5分钟时间做好编码环境,可能会给你的编码节约50分钟甚至更多。]...
虽然对这句话所说的我没有概念...
我还是不嫌麻烦的采用diseac大所提供的方法...
如果有什么话说错了...还是用词有问题...请多多包涵...我没有什么恶意...
发表于 2009-10-10 09:31 | 显示全部楼层
其实,对待vfr的MP4,内嵌字幕的话,我个人推荐的方法还是非DS

我一般是这么做的
用mp4box把MP4里的RAW都抽出来,用DTSEdit把Timecode抽出V1格式
然后根据抽出的视频格式选择DGAVCDec或其他相应AVS用源滤镜
用AegiSub加载Timecode调整字幕时间轴,然后在AVS里挂上字幕,之后再次编码
最后把内嵌好的视频和音频+Timecode一起封进mkv或mp4就可以了

如果是内嵌为RMVB的话,我个人觉得DS就比较省事了……
可以考虑直接把源mp4丢进RPG或者ERP,然后让VobSub自动加上字幕进行压制
或者在AVS里用DSS滤镜加上Convertfps参数……囧

如果谁有比较好的非DS直接内嵌为RMVB,请务必详细说明(当然在AVS里手动分段就算了 囧)
发表于 2009-10-10 09:51 | 显示全部楼层
本帖最后由 264768502 于 2009-10-10 09:54 编辑

觉得对于这种破鞋物再次破鞋真的没必要那么考究
RV这种天生很柔和(糊?)的东西来说,只要DS不RP,真的看不出区别,而且操作起来方便很多

另外,既然VFR砍帧成CFR了,字幕就没必要用Aegisub改了,,,不然又不同步了
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

小黑屋|手机版|NMM视频技术

GMT+8, 2025-5-5 20:51 , Processed in 0.062480 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表