On Fri, May 27, 2011 at 09:46:41PM -0700, Dan Dennedy wrote:
> 
> Thanks for helping, Brian.

Thanks to both of you!

> >>I'm still having trouble rendering, though. I'd like to make a lossless
> >>1080/50p profile, so I tried various things, e.g. using x264 with crf=0
> >>(mentioned on http://mltframework.org/twiki/bin/view/MLT/ConsumerAvformat)
> 
> FYI, these options are based on libavcodec v52. IOW, if you are using
> a git version of ffmpeg since mid-April (v53), then some options are
> different esp. for x264.

Aha, that explains a lot of my confusion, ta. (I am indeed using a
recent git/svn build of ffmpeg and melt).

> >>In fact, even if I do
> >>
> >>    melt -verbose script003.sh.mlt -profile atsc_1080p_50 trellis=0 
> >>-consumer avformat:/home/ian/kdenlive/untitled2.mp4 trellis=0 progress=1 
> >>f=mp4 trellis=0 vcodec=libx264 trellis=0
> >>
> >>
> >>the output includes "trellis=1", so I think I must be passing arguments
> >>incorrectly?
> 
> What do you mean? where do you see that "trellis=1" ?

In the middle of the 6th line of output (the long line):

$ melt -verbose z.mp4 -profile atsc_1080p_50 trellis=0 -consumer 
avformat:z2.mp4 trellis=0 progress=1 f=mp4 trellis=0 vcodec=libx264 trellis=0
libdc1394 error: Failed to initialize libdc1394
[libx264 @ 0x1c81ea0] Default settings detected, using medium profile
[libx264 @ 0x1c81ea0] using SAR=1/1
[libx264 @ 0x1c81ea0] using cpu capabilities: MMX2 SSE2Fast FastShuffle 
SSEMisalign LZCNT
[libx264 @ 0x1c81ea0] profile High, level 4.2
[libx264 @ 0x1c81ea0] 264 - core 115 r1995 c1e60b9 - H.264/MPEG-4 AVC codec - 
Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 
deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 
mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 
fast_pskip=1 chroma_qp_offset=-2 threads=1 sliced_threads=0 nr=0 decimate=1 
interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 
b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=1 weightp=2 keyint=250 
keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 
bitrate=200 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 
aq=1:1.00
[producer avformat] audio: total_streams 1 max_stream 1 total_channels 2 
max_channels 2
[libx264 @ 0x1c81ea0] frame I:1     Avg QP:51.00  size:  6325
[libx264 @ 0x1c81ea0] frame P:195   Avg QP:51.00  size:   535
[libx264 @ 0x1c81ea0] frame B:12    Avg QP:51.00  size:    68
[libx264 @ 0x1c81ea0] consecutive B-frames: 91.8%  0.0%  4.3%  3.8%
[libx264 @ 0x1c81ea0] mb I  I16..4: 23.5% 76.5%  0.0%
[libx264 @ 0x1c81ea0] mb P  I16..4:  0.1%  0.0%  0.0%  P16..4:  2.6%  0.1%  
3.4%  0.0%  0.0%    skip:93.8%
[libx264 @ 0x1c81ea0] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.0%  0.0%  
0.0%  direct: 0.0%  skip:100.0%  L0: 5.9% L1:94.1% BI: 0.0%
[libx264 @ 0x1c81ea0] final ratefactor: 61.37
[libx264 @ 0x1c81ea0] 8x8 transform intra:61.7% inter:100.0%
[libx264 @ 0x1c81ea0] coded y,uvDC,uvAC intra: 7.3% 21.3% 0.0% inter: 0.0% 0.0% 
0.0%
[libx264 @ 0x1c81ea0] i16 v,h,dc,p: 69% 24%  3%  4%
[libx264 @ 0x1c81ea0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 67%  4% 24%  1%  1%  0%  
1%  0%  1%
[libx264 @ 0x1c81ea0] i8c dc,h,v,p: 100%  0%  0%  0%
[libx264 @ 0x1c81ea0] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x1c81ea0] ref P L0: 90.6%  0.1%  6.8%  2.5%
[libx264 @ 0x1c81ea0] kb/s:214.18

> >>Hmm, using cqp=0 looks a lot better, but still isn't lossless according
> >>to ffmpeg -f framemd5.
> >
> 
> We can all use some help keeping up with ffmpeg options.

I've now found ffmpeg's vpre flag and the lossless presets, but I'm
still not getting lossless output with melt. I do with ffmpeg, though.
Any idea what's going on?

$ ffmpeg -i a.mp4 -vcodec libx264 -vpre lossless_ultrafast -acodec copy b.mp4
$ melt a.mp4 -profile atsc_1080p_50 -consumer avformat:c.mp4 progress=1 f=mp4 
acodec=copy vcodec=libx264 vpre=lossless_ultrafast threads=1 real_time=-1
$ ffmpeg -i a.mp4 -f framemd5 a.txt
$ ffmpeg -i b.mp4 -f framemd5 b.txt
$ ffmpeg -i c.mp4 -f framemd5 c.txt

$ diff -u a.txt b.txt
[no output]

$ diff -u a.txt c.txt | head
--- a.txt       2011-05-28 12:16:51.000000000 +0000
+++ c.txt       2011-05-28 12:17:15.000000000 +0000
@@ -1,336 +1,208 @@
-0, 0, 3110400, f8a658ca215247611e5b561e2315a263
-1, 0, 18432, 166d882c459c2a735f621a0cf604b831
-0, 1800, 3110400, f8a658ca215247611e5b561e2315a263
-1, 2880, 18432, 0a9483912311ee02ace404b6b4ad8ff3
-0, 3600, 3110400, 9523db3abcb1a53cffd03be049547a19
-0, 5400, 3110400, 9523db3abcb1a53cffd03be049547a19
-1, 5760, 18432, 32ef1b7df640fe5f076769328644409d


So ffmpeg is able to output losslessly, and the vpre option to melt does
seem to be accepted: the quality is an awful lot better than without it,
and this gets printed out:

/home/ian/code/ffmpeg/inst/share/ffmpeg/libx264-lossless_ultrafast.ffpreset: [ 
ref=1, coder=0, flags=+loop+cgop, cmp=+chroma, 
partitions=-parti8x8-parti4x4-partp8x8-partp4x4-partb8x8, me_method=dia, 
subq=0, me_range=16, g=250, keyint_min=25, sc_threshold=40, i_qfactor=0.71, 
b_strategy=1, qcomp=0.6, qmin=0, qmax=69, qdiff=4, directpred=1, 
flags2=+fastpskip, cqp=0 ]

File sizes are similar:

$ ls -l b.mp4 c.mp4 
-rw-r--r-- 1 ian ian 107360855 May 28 12:15 b.mp4
-rw-r--r-- 1 ian ian 106038268 May 28 12:16 c.mp4

Here's the full -verbose output:

$ melt -verbose a.mp4 -profile atsc_1080p_50 -consumer avformat:d.mp4 
progress=1 f=mp4 acodec=copy vcodec=libx264 vpre=lossless_ultrafast threads=1 
real_time=-1
libdc1394 error: Failed to initialize libdc1394
[consumer avformat] audio codec copy unrecognised - ignoring
/home/ian/code/ffmpeg/inst/share/ffmpeg/libx264-lossless_ultrafast.ffpreset: [ 
ref=1, coder=0, flags=+loop+cgop, cmp=+chroma, 
partitions=-parti8x8-parti4x4-partp8x8-partp4x4-partb8x8, me_method=dia, 
subq=0, me_range=16, g=250, keyint_min=25, sc_threshold=40, i_qfactor=0.71, 
b_strategy=1, qcomp=0.6, qmin=0, qmax=69, qdiff=4, directpred=1, 
flags2=+fastpskip, cqp=0 ]
[libx264 @ 0xd02f40] using SAR=1/1
[libx264 @ 0xd02f40] using cpu capabilities: MMX2 SSE2Fast FastShuffle 
SSEMisalign LZCNT
[libx264 @ 0xd02f40] profile High 4:4:4 Predictive, level 4.2, bit depth 8
[libx264 @ 0xd02f40] 64 - core 115 r1995 c1e60b9 - H.264/MPEG-4 AVC codec - 
Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 
deblock=1:0:0 analyse=0x1:0 me=dia subme=0 psy=0 mixed_ref=0 me_range=16 
chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=0 
chroma_qp_offset=0 threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 
bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=250 
keyint_min=25 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0
[producer avformat] audio: total_streams 1 max_stream 1 total_channels 6 
max_channels 6
[libx264 @ 0xd02f40] frame I:1     Avg QP: 0.00  size:937147
[libx264 @ 0xd02f40] frame P:207   Avg QP: 0.00  size:507721
[libx264 @ 0xd02f40] mb I  I16..4: 65.1%  0.0% 34.9%
[libx264 @ 0xd02f40] mb P  I16..4: 25.8%  0.0%  0.0%  P16..4: 23.0%  0.0%  0.0% 
 0.0%  0.0%    skip:51.2%
[libx264 @ 0xd02f40] coded y,uvDC,uvAC intra: 100.0% 99.1% 99.0% inter: 31.0% 
30.9% 30.9%
[libx264 @ 0xd02f40] i16 v,h,dc,p: 66% 34%  0%  0%
[libx264 @ 0xd02f40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 36% 37%  2%  4%  6%  3%  5% 
 3%  3%
[libx264 @ 0xd02f40] i8c dc,h,v,p:  2% 30% 68%  0%
[libx264 @ 0xd02f40] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0xd02f40] kb/s:203914.09

> > Your probably don't REALLY want lossless because the files will be HUGE.

I think I do. I have a shiny new external disk to put it on, and I don't
think my end result will be that long.

Besides, I'd certainly like to understand how to make lossless output,
even if I decide not to in the end.


Thanks
Ian


------------------------------------------------------------------------------
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery, 
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now. 
http://p.sf.net/sfu/quest-d2dcopy1
_______________________________________________
Mlt-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mlt-devel

Reply via email to