c - Tools/Techniques for investigating video corruption -- ffmpeg / libavcodec -
in current work i'm trying encode images h264 video using ffmpeg's c library. resulting video plays fine in vlc, has no preview image. video can play in vlc , mplayer on ubuntu, won't play on mac or pc (in fact, causes "vtdecoderxpcservice quit unexpectedly" error on mac).
if run resulting file through ffmpeg using command line, resulting file has preview image, , plays correctly everywhere.
apparently file out of program corrupt in weird place, don't have output during compilation or run indicate where. can't share code @ moment (work code isn't open source yet :-( ), have tried number of things:
- writing header , trailer data (av_write_trailer) , no frames
- writing frames minus trailer (using avcodec_encode_video2 , av_write_frame)
- adjusting our time_base , frame pts values encode 1 frame per second
- removing variable frame rate code
- numerous other variants won't bother here
in creating project, i've followed following tutorials:
and consulted deprecated ffmpeg functions list
and compiled ffmpeg on ubuntu according official doc
and consulted numerous stackoverflow questions:
- raw h264 frames in mpegts container using libavcodec
- how encode bitmaps video using mediacodec?
- how convert rgb yuv420p ffmpeg encoder?
- encoding h.264 video using ffmpeg c api
- ffmpeg: how save h264 raw data mp4 file
but every run of program runs exact same problem.
my question is, is there obvious causes programmatic run of ffmpeg differ console run (e.g., incomplete finalization, threading issues, etc.)? obvious reason console run repair corrupted file? or there decent tool/method inspecting video file , finding point of corruption?
give run through: http://forum.doom9.org/showthread.php?t=123076 , see get.
Comments
Post a Comment