Am 10.01.2012 08:02, schrieb Marco Gittler:
Am 10.01.2012 05:37, schrieb Dan Dennedy:On Mon, Jan 9, 2012 at 1:41 PM, Marco Gittler<[email protected]> wrote:Hii try since some days to render a few files (avchd), but the render doesWhen you say "avchd" here are you renderign to AVCHD-like format?yes complete example is found next.stops every time nearly the same frame.Also a partial render some frames before this part will hang and nothinghappens. 1. is this normal that mlt uses up to 3 GB Ram for 20 min avchd video ?no, but multiple render threads (real_time< -1), a sufficiently large render buffer (default is 25 frames) and more than 10 HD source clips can use a lot of memory. There can be up to 10 avformat producers, each with 10 images cached, and 25 images in the render queue. With 2 bytes per pixel (10*10 + 25) * (1920*1080) * 2 /1024 / 1024 = ~494 MB Of course, there are other MLT and various lib structures. Still 3 GB seems high. Can you please try with processing threads set to 1 in Kdenlive Settings?ok i'll test this later this evening.2. after some debug and look at the code, i found this output [consumer avformat] frame_size 1024[consumer avformat] audio pts 48000 (0,533333) video pts 46800 (0,520000)<------- this part !![producer avformat] /home/marco/Desktop/hd-video/ostsee_peenemünde/00278.MTSmlt_service_cache_get: name producer_avformat object 0x6064800 mlt_cache_get: get 5 = 0x6064800, 0xaa383e0[consumer avformat] worker processing index = 23 frame 87 queue count = 24 [producer avformat] /home/marco/Desktop/hd-video/ostsee_peenemünde/00278.MTSpkt.dts 533301 req_pos 274 cur_pos 273 pkt_pos 274[producer avformat] /home/marco/Desktop/hd-video/ostsee_peenemünde/00278.MTSgot_pic 0 key 0[producer avformat] /home/marco/Desktop/hd-video/ostsee_peenemünde/00278.MTSpkt.dts 535101 req_pos 274 cur_pos 273 pkt_pos 275[producer avformat] /home/marco/Desktop/hd-video/ostsee_peenemünde/00278.MTSgot_pic 368 key 0 cache_object_close: item 0x7f23a4e0ed90 object 0x7f data 0x7f239ad64020 refcount 1 mlt_cache_put: put 9 = 0x89, 0x7f23842df020 TFF in 1 out 0 [consumer avformat] waiting in worker index = 24 queue count = 24 [libx264 @ 0xae1e410] frame= 14 QP=28,38 NAL=0 Slice:B Poc:26 I:110 P:6557 SKIP:1493 size=67068 bytes [consumer avformat] video pkt pts 46800 frame pts 13 frame_size 0cache_object_close: item 0x60673c0 object 0x6064800 data 0xaa383e0 refcount26[consumer avformat] audio pts 48000 (0,533333) video pts 50400 (0,560000)[consumer avformat] frame_size 1024[consumer avformat] audio pts 49920 (0,554667) video pts 50400 (0,560000)Current Position: 63 and in consumer_avformat.c: while ( 1 ) { // Write interleaved audio and video frames if ( !video_st || ( video_st&& audio_st[0]&& audio_pts< video_pts ) ) { ... } } this will explain the endless loop (audio_pts> video_pts)The problem with your analysis is that you overlooked the "else if" inside that while loop. Inside the else if block, the video_pts should increment. If it does not increment, either encoding is failing (there is a warning for this). Or, perhaps the version of libavcodec requires a new way to compute the video_pts. However, the last lines of your log show that video_pts has incremented to be> audio_pts. Then, audio_pts shows increment. It is not clear where it is getting stuck from that log snippet.you are right, i overlooked this. But then it is more unclear.this is the first time, that i have such issue. the file is original fromthe camera. should this be fixed in mlt ? looks like a bug to me, or better fix the file ?regards marco (i hope i can reproduce this with the file only and not justwith kdenlive project for better testing)The camera format or source file integrity should not affect encoding. Encoding is being fed uncompressed audio and video.real_time=-2 (don't know where this is from, may be older settings in kdenlive) with this parameter will cause the hang.-1 or 0 will let it work.melt 00278.MTS -profile atsc_1080i_50 -consumer avformat:aaaa.mp4 threads=4 f=mpegts hq=1 acodec=aac ab=384k ar=48000 pix_fmt=yuv420p vcodec=libx264 threads=4 real_time=-2 -verbose -debugalso less consumer parameters will let it render. regards marco
smime.p7s
Description: S/MIME Kryptografische Unterschrift
------------------------------------------------------------------------------ Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev
_______________________________________________ Mlt-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mlt-devel
