Page 1 of 1

VLC stuck when transcoding .wmv to .mov

Posted: 14 Jul 2011 15:07
by Haravikk
I've been transcoding a lot of .wmv files (Windows Media Video and Audio 9) into .mov files (h.264 and mp4a), without any incident so far.

However, I have one file that seems to cause VLC to stall right at the end; the file appears finished (it's the size I would expect, about 150mb) but VLC is still doing something with it, utilising 100% of one core (normally during transcoding it uses all 8), so it seems like it's trying to finish off the file or such, however it never gets anywhere, and the file doesn't appear as a valid .mov (Quicktime won't open it). I haven't had this problem with any of the other files (all the same audio and video codecs).

Opening the message window gives me:

Code: Select all

macosx debug: input has changed, refreshing interface macosx debug: input has stopped, refreshing interface
And it just does this in an infinite loop. It seems suspiciously like an unexpected end to the source file, but why is VLC not just stopping where it is and finishing the file? I've tried different transcoding options, but it seems to be file reading that's causing the issue.
It's worth noting that while I can open error and message windows, VLC is unresponsive, so it isn't possible to halt the transcoding operation, or even quite the program without force-quitting.

The following is a sample taken in Activity Monitor, sorry for the huge text-all but we don't seem to be able to attach even text files here :(

Code: Select all

Sampling process 11225 for 3 seconds with 1 millisecond of run time between samples Sampling completed, processing symbols... Analysis of sampling VLC (pid 11225) every 1 millisecond Process: VLC [11225] Path: /Applications/VLC.app/Contents/MacOS/VLC Load Address: 0x100000000 Identifier: org.videolan.vlc Version: 1.1.10.1 (1.1.10.1) Code Type: X86-64 (Native) Parent Process: launchd [445] Date/Time: 2011-07-14 13:55:30.239 +0100 OS Version: Mac OS X 10.6.8 (10K540) Report Version: 7 Call graph: 2365 Thread_118287 DispatchQueue_1: com.apple.main-thread (serial) 2365 start 2365 main 2365 libvlc_add_intf 2365 libvlc_InternalAddIntf 2365 intf_Create 2365 Run 2365 -[NSApplication run] 2365 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] 2365 _DPSNextEvent 2365 BlockUntilNextEventMatchingListInMode 2365 ReceiveNextEventCommon 2365 RunCurrentEventLoopInMode 2365 CFRunLoopRunSpecific 2365 __CFRunLoopRun 2349 mach_msg 2349 mach_msg_trap 11 __CFRunLoopDoObservers 11 _handleWindowNeedsDisplay 11 -[NSView displayIfNeeded] 10 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] 9 -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] 9 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] 7 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] 4 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] 4 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] 4 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] 4 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] 2 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] 2 -[NSView _drawRect:clip:] 2 -[NSControl drawRect:] 2 _NSDrawTextCell 2 _NSStringDrawingCore 2 +[NSStringDrawingTextStorage _fastDrawString:attributes:length:inRect:graphicsContext:baselineRendering:usesFontLeading:usesScreenFont:typesetterBehavior:paragraphStyle:lineBreakMode:boundingRect:padding:scrollable:] 2 CGContextShowGlyphsWithAdvances 2 draw_glyphs 2 ripc_DrawGlyphs 2 ripc_RenderGlyphs 1 CGGlyphLockUnlock 1 ripl_BltGlyph 1 argb32_mark 1 CGSColorMaskCopyARGB8888 1 -[NSView _drawRect:clip:] 1 -[NSControl drawRect:] 1 -[NSImageCell drawWithFrame:inView:] 1 -[NSImageCell drawInteriorWithFrame:inView:] 1 -[NSImage _drawMappingAlignmentRectToRect:withState:backgroundStyle:operation:fraction:flip:hints:] 1 -[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:] 1 -[NSImage _usingBestRepresentationForRect:context:hints:body:] 1 __-[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:]_block_invoke_1 1 -[NSImageRep drawInRect:fromRect:operation:fraction:respectFlipped:hints:] 1 __-[NSImageRep drawInRect:fromRect:operation:fraction:respectFlipped:hints:]_block_invoke_1 1 CGContextDrawImage 1 ripc_DrawImage 1 ripc_RenderImage 1 ripl_BltImage 1 ripd_Mark 1 argb32_image 1 argb32_image_mark 1 -[NSView lockFocus] 1 -[NSView lockFocusIfCanDraw] 1 -[NSFocusState flush] 1 CGContextClipToRect 1 CGGStateClipToRect 1 CGClipStackAddRect 1 -[NSConcreteMapTable objectForKey:] 1 probeGC 1 objectHash 1 -[NSView lockFocus] 1 -[NSView lockFocusIfCanDraw] 1 +[NSGraphicsContext saveGraphicsState] 1 CGContextSaveGState 1 CGGStackSave 1 gs_list_get_gstate 1 _CFRelease 1 __CFArrayReleaseValues 1 __spin_lock 2 -[NSView _drawRect:clip:] 2 -[NSGrayFrame drawRect:] 2 -[NSFrameView drawThemeContentFill:inView:] 1 -[NSGrayFrame drawWindowBackgroundRect:] 1 _NSDrawThemeBackground 1 CUIRenderer::Draw(CGRect, CGContext*, __CFDictionary const*, __CFDictionary const**) 1 CUIRenderer::DrawWindowFrameDark(CUIDescriptor const*) 1 CUIRenderer::CreateImage(long, CUIDescriptor const*, CGRect*, double*, unsigned short*, unsigned char*) 1 __CFString::Create(__CFDictionary const*, __CFString const*, ...) 1 _CFStringCreateWithFormatAndArgumentsAux 1 _CFStringAppendFormatAndArgumentsAux 1 snprintf_l 1 DYLD-STUB$$localeconv_l 1 -[NSThemeFrame _regionForOpaqueDescendants:forMove:] 1 -[NSView _regionForOpaqueDescendants:forMove:] 1 -[NSView _regionForOpaqueDescendants:forMove:] 1 -[NSView _regionForOpaqueDescendants:forMove:] 1 -[NSToolbarItemViewer _regionForOpaqueDescendants:forMove:] 1 -[NSView _regionForOpaqueDescendants:forMove:] 1 -[NSView _regionForOpaqueDescendants:forMove:] 1 -[NSView convertRect:toView:] 1 -[NSView _convertRect:toAncestor:] 1 -[NSView _convertRect:toAncestor:] 1 -[NSView _convertRect:toAncestor:] 1 -[NSView _convertRect:toAncestor:] 1 -[NSView _convertRect:toAncestor:] 1 -[NSView _convertRectToSuperview:] 1 -[NSView lockFocus] 1 -[NSView lockFocusIfCanDraw] 1 -[NSFocusState flush] 1 -[NSFrameView adjustHalftonePhase] 1 -[NSGrayFrame contentFill] 1 -[NSWindow(NSWindow_Theme) _hasActiveAppearanceIgnoringKeyFocus] 1 -[NSWindow isMainWindow] 1 -[NSView _sendViewWillDrawInRect:clipRootView:suppressRecursion:] 1 -[NSView viewWillDraw] 1 -[NSView viewWillDraw] 1 -[NSView viewWillDraw] 1 -[NSView viewWillDraw] 1 -[NSView viewWillDraw] 1 objc_msgSend_stret 4 __NSFireTimer 4 -[VLCMain manageIntf:] 2 -[VLCMain setupMenus] 2 -[VLCControls setupVarMenuItem:target:var:selector:] 1 -[VLCControls setupVarMenu:forMenuItem:target:var:selector:] 1 CFArrayGetCount 1 var_Change 1 strdup 1 strlen 1 -[VLCFSPanelView setSeekable:] 1 -[NSControl setEnabled:] 1 -[VLCFSPanelView setStreamPos:andTime:] 1 -[NSControl setStringValue:] 1 -[NSCell setStringValue:] 1 -[NSView setNeedsDisplay:] 1 -[NSView setNeedsDisplayInRect:] 1 -[NSWindow _setNeedsDisplayInRect:] 1 -[NSRegion addRect:] 1 CGSUnionRegionWithRect 1 shape_union_with_bounds 1 shape_union 1 __CFRunLoopDoSources0 1 CFSetApplyFunction 1 CFBasicHashApply 1 __CFSetApplyFunction_block_invoke_1 1 __CFRunLoopCollectSources0 2365 Thread_118291 DispatchQueue_2: com.apple.libdispatch-manager (serial) 2365 start_wqthread 2365 _pthread_wqthread 2365 _dispatch_worker_thread2 2365 _dispatch_queue_invoke 2365 _dispatch_mgr_invoke 2365 kevent 2365 Thread_118300 2365 thread_start 2365 _pthread_start 2365 SigThread 2365 sigwait 2365 __sigwait 2365 Thread_118301 2365 thread_start 2365 _pthread_start 2365 thread_entry 2365 MonitorLibVLCDeath 2365 libvlc_InternalWait 2365 _pthread_cond_wait 2365 __semwait_signal 2365 Thread_118302 2365 thread_start 2365 _pthread_start 2365 __ape_agent 2365 mach_msg 2365 mach_msg_trap 2365 Thread_118307 2365 thread_start 2365 _pthread_start 2365 Thread 2365 _pthread_cond_wait 2365 __semwait_signal 2365 Thread_118309 2365 thread_start 2365 _pthread_start 2365 ManageThread 2365 -[VLCMain manage] 2355 msleep 2350 nanosleep 2350 __semwait_signal 5 cerror 10 msg_Generic 10 msg_GenericVa 7 MsgCallback 5 -[NSNotificationCenter postNotificationName:object:userInfo:] 5 _CFXNotificationPostNotification 5 __CFXNotificationPost 5 _nsnote_callback 5 -[VLCMain libvlcMessageReceived:] 2 _CFArrayReplaceValues 2 __CFArrayReleaseValues 2 -[NSConcreteAttributedString dealloc] 1 _CFRelease 1 szone_free 1 tiny_free_list_add_ptr 1 __spin_lock 1 +[NSColor whiteColor] 1 _NSFaultingObjectWithStorageLocationNewObjectProviderBlockAndCleanup 1 +[NSString stringWithFormat:] 1 -[NSPlaceholderString initWithFormat:locale:arguments:] 1 _CFStringCreateWithFormatAndArgumentsAux 1 _CFStringAppendFormatAndArgumentsAux 1 CFStringAppend 1 __CFStringChangeSizeMultiple 1 -[NSConcreteAttributedString initWithString:attributes:] 1 objc_msgSend 1 objc_msgSend 1 objc_msgSend_vtable14 1 msg_GenericVa 1 strlen 1 uselocale 2365 Thread_118310 2365 thread_start 2365 _pthread_start 2365 __NSThread__main__ 2365 CFRunLoopRun 2365 CFRunLoopRunSpecific 2365 __CFRunLoopRun 2365 mach_msg 2365 mach_msg_trap 2365 Thread_118349: com.apple.CFSocket.private 2365 thread_start 2365 _pthread_start 2365 __CFSocketManager 2365 select$DARWIN_EXTSN 2365 Thread_122005 2365 thread_start 2365 _pthread_start 2365 thread_entry 2365 Run 2365 End 2365 es_out_Control 2365 Control 2365 CmdExecuteControl 2365 es_out_Control 2365 EsOutControl 2365 EsOutControlLocked 2365 EsUnselect 2365 input_DecoderDelete 2365 vlc_thread_join 2365 pthread_join 2365 __semwait_signal 2365 Thread_122013 2365 thread_start 2365 _pthread_start 2365 thread_entry 2365 DecoderThread 2365 DecoderProcess 2365 sout_InputSendBuffer 2365 Send 2365 transcode_audio_process 1175 EncodeAudio 1171 avcodec_encode_audio 1171 MP3lame_encode_frame 1171 lame_encode_buffer_interleaved 1168 lame_encode_buffer_sample_t 1140 lame_encode_frame 1140 lame_encode_mp3_frame 639 L3psycho_-- please stay polite --_ns 242 compute_ffts 101 fft_long 83 fht 18 fft_long 77 compute_ffts 60 fft_short 42 fht 18 fft_short 4 psycho_loudness_approx 199 L3psycho_-- please stay polite --_ns 67 compute_masking_s 60 mask_add 52 mask_add 8 fast_log2 23 calc_energy 16 convert_partition2scalefac_s 8 calc_mask_index_l 8 convert_partition2scalefac_l 7 NS_INTERP 5 pow 2 NS_INTERP 5 ns_msfix 3 pecalc_l 2 fast_log2 1 pecalc_l 1 msfix1 313 CBR_iteration_loop 243 outer_loop 145 count_bits 76 noquant_count_bits 63 choose_table_nonMMX 35 ix_max 16 count_bit_noESC_from2 11 count_bit_noESC_from3 1 count_bit_noESC 13 noquant_count_bits 69 quantize_xrpow 49 quantize_lines_xrpow 16 quantize_xrpow 3 quantize_lines_xrpow_01 1 __inline_memset_chk 1 __bzero 50 calc_noise 32 calc_noise_core_c 13 calc_noise 5 fast_log2 33 bin_search_StepSize 33 count_bits 24 quantize_xrpow 18 quantize_lines_xrpow 4 quantize_xrpow 2 __inline_memset_chk 2 __bzero 9 noquant_count_bits 7 choose_table_nonMMX 3 count_bit_noESC_from3 3 ix_max 1 count_bit_noESC_from2 2 noquant_count_bits 15 balance_noise 15 amp_scalefac_bands 27 init_xrpow 23 init_xrpow_core_c 2 __inline_memset_chk 2 __bzero 2 init_xrpow 19 ms_convert 11 init_outer_loop 9 psfb21_analogsilence 5 psfb21_analogsilence 4 athAdjust 3 pow 1 fast_log2 1 __inline_memset_chk 1 __bzero 1 init_outer_loop 6 iteration_finish_one 6 best_scalefac_store 5 best_scalefac_store 1 scale_bitcount 5 calc_xmin 1 ResvFrameEnd 1 pow 129 mdct_sub48 101 window_subband 21 mdct_sub48 6 mdct_long 1 __inline_memset_chk 1 __bzero 53 format_bitstream 28 drain_into_ancillary 21 putbits2 7 drain_into_ancillary 23 writeMainData 22 LongHuffmancodebits 22 Huffmancode 11 Huffmancode 11 putbits2 1 ShortHuffmancodebits 1 Huffmancode 2 encodeSideInfo2 2 writeheader 4 lame_encode_mp3_frame 1 copy_buffer 1 UpdateMusicCRC 1 CRC_update_lookup 1 updateStats 21 lame_encode_buffer_sample_t 7 fill_buffer 3 lame_encode_buffer_interleaved 3 __memcpy 1 block_Alloc 1 malloc 1171 transcode_audio_process 18 DecodeAudio 17 SplitBuffer 17 aout_ChannelExtract 1 DecodeAudio 1 BlockRelease 2365 Thread_122014 2365 thread_start 2365 _pthread_start 2365 thread_entry 2365 DecoderThread 2365 block_FifoGet 2365 _pthread_cond_wait 2365 __semwait_signal 2365 Thread_122040 2365 thread_start 2365 _pthread_start 2365 x264_threadpool_thread 2365 _pthread_cond_wait 2365 __semwait_signal 2365 Thread_122041 2365 thread_start 2365 _pthread_start 2365 x264_threadpool_thread 2365 _pthread_cond_wait 2365 __semwait_signal 2365 Thread_122042 2365 thread_start 2365 _pthread_start 2365 x264_threadpool_thread 2365 _pthread_cond_wait 2365 __semwait_signal 2365 Thread_122043 2365 thread_start 2365 _pthread_start 2365 x264_threadpool_thread 2365 _pthread_cond_wait 2365 __semwait_signal 2365 Thread_122044 2365 thread_start 2365 _pthread_start 2365 x264_threadpool_thread 2365 _pthread_cond_wait 2365 __semwait_signal 2365 Thread_122045 2365 thread_start 2365 _pthread_start 2365 x264_threadpool_thread 2365 _pthread_cond_wait 2365 __semwait_signal 2365 Thread_122046 2365 thread_start 2365 _pthread_start 2365 x264_threadpool_thread 2365 _pthread_cond_wait 2365 __semwait_signal 2365 Thread_122047 2365 thread_start 2365 _pthread_start 2365 x264_threadpool_thread 2365 _pthread_cond_wait 2365 __semwait_signal 2365 Thread_122048 2365 thread_start 2365 _pthread_start 2365 x264_threadpool_thread 2365 _pthread_cond_wait 2365 __semwait_signal 2365 Thread_122049 2365 thread_start 2365 _pthread_start 2365 x264_threadpool_thread 2365 _pthread_cond_wait 2365 __semwait_signal 2365 Thread_122050 2365 thread_start 2365 _pthread_start 2365 x264_threadpool_thread 2365 _pthread_cond_wait 2365 __semwait_signal 2365 Thread_122051 2365 thread_start 2365 _pthread_start 2365 x264_threadpool_thread 2365 _pthread_cond_wait 2365 __semwait_signal 2365 Thread_122053 2365 thread_start 2365 _pthread_start 2365 x264_lookahead_thread 2365 _pthread_cond_wait 2365 __semwait_signal Total number in stack (recursive counted multiple, when >=5): 23 _pthread_start 23 thread_start 18 __semwait_signal 16 _pthread_cond_wait 12 x264_threadpool_thread 6 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] 5 -[NSView _convertRect:toAncestor:] 5 -[NSView _regionForOpaqueDescendants:forMove:] 5 -[NSView viewWillDraw] 5 __bzero 5 __inline_memset_chk Sort by top of stack, same collapsed (when >= 5): __semwait_signal 42555 mach_msg_trap 7079 __sigwait 2365 kevent 2365 select$DARWIN_EXTSN 2365 transcode_audio_process 1171 L3psycho_-- please stay polite --_ns 199 fht 125 window_subband 101 compute_ffts 77 compute_masking_s 67 quantize_lines_xrpow 67 mask_add 52 ix_max 38 calc_noise_core_c 32 putbits2 32 calc_energy 23 init_xrpow_core_c 23 lame_encode_buffer_sample_t 21 mdct_sub48 21 quantize_xrpow 20 ms_convert 19 fft_long 18 fft_short 18 aout_ChannelExtract 17 count_bit_noESC_from2 17 convert_partition2scalefac_s 16 fast_log2 16 amp_scalefac_bands 15 noquant_count_bits 15 count_bit_noESC_from3 14 calc_noise 13 Huffmancode 12 pow 9 calc_mask_index_l 8 convert_partition2scalefac_l 8 __bzero 7 drain_into_ancillary 7 fill_buffer 7 mdct_long 6 best_scalefac_store 5 calc_xmin 5 cerror 5 ns_msfix 5 psfb21_analogsilence 5 Sample analysis of process 11225 written to file /dev/stdout
I had to remove the binary images section to get this to fit, let me know if it's needed and I can post it separately!

Re: VLC stuck when transcoding .wmv to .mov

Posted: 15 Jul 2011 15:01
by ajmas
Have your tried to see whether Handbrake fairs any better (it uses VLC)? The main difference is that it will use an MPEG4 container for the resultant videos, with the H264 and AAC codecs.

As a 5c, one advantage of the MPEG4 container, as opposed to MOV, is that you can use the videos even in places that Quicktime is not available. I haven't kept up to date on the advantages that the MOV container might provide admittedly.

Re: VLC stuck when transcoding .wmv to .mov

Posted: 15 Jul 2011 16:03
by Haravikk
Hmm, well I seem to have managed to encode the video through Handbrake, thanks for the idea!

Still baffles me though, as I tried .mp4 through VLC to no avail, but in Handbrake it worked without any apparent issue. I've no particular preference for .mov, it's just what I tend to use because Quicktime's my default movie player, even in spite of its various oddities.

Re: VLC stuck when transcoding .wmv to .mov

Posted: 15 Jul 2011 17:13
by ajmas
I haven't really spent much time trying to understand why Handbrake works in cases that VLC fails via the UI, even though Handbrake uses VLC.

BTW Quicktime X handles MP4 without any issues and is usually the default player for MP4.