Re: Digicam-Video: Skipping frame bei Audio bewirkt Stille am Ende > 1 min.

Al Bogner <suse-multimedia-Wco+c2LKsy1DayIqkcHqbfyE8WyFmGdT@public.gmane.org> Sun, 23 May 2010 20:05:02 +0200
Newsgroups gmane.linux.suse.multimedia.german
Message-ID <[email protected]>
Am Mittwoch 10 Februar 2010 22:45:03 schrieb Al Bogner:
> Ich habe avi und mov-Files von einer Digicam mit mencoder ausgelesen und
>  dabei gibt es sehr viele übersprungene Frames, so dass der Ton viel zu
>  schnell ist und am Ende mehr als 1 Minute Stille ist.
> 
> mencoder "$MOVFILE" -of rawaudio -oac mp3lame -lameopts preset=standard
>  -ovc copy -o "$MP3FILE"
> 
> Pos: 356.0s  11851f (93%) 113.78fps Trem:   0min   5mb  A-V:0.067
>  [3568:116] Skipping frame!
> Pos: 356.3s  11861f (93%) 113.86fps Trem:   0min   5mb  A-V:0.067
>  [3568:116] Skipping frame!
> Pos: 356.6s  11871f (93%) 113.94fps Trem:   0min   5mb  A-V:0.067
>  [3567:116] Skipping frame!
> Pos: 356.9s  11881f (93%) 114.02fps Trem:   0min   5mb  A-V:0.067
>  [3568:116] Skipping frame!
> Pos: 357.2s  11891f (93%) 113.59fps Trem:   0min   5mb  A-V:0.067
>  [3567:116] Skipping frame!
> Pos: 357.5s  11901f (93%) 113.68fps Trem:   0min   5mb  A-V:0.067
>  [3567:116] Skipping frame!
> Pos: 357.8s  11911f (94%) 113.76fps Trem:   0min   5mb  A-V:0.067
>  [3569:116] Skipping frame!
> Pos: 358.1s  11921f (94%) 113.84fps Trem:   0min   5mb  A-V:0.067
>  [3568:116] Skipping frame!
> Pos: 358.4s  11931f (94%) 113.92fps Trem:   0min   5mb  A-V:0.067
>  [3568:116] Skipping frame!
> Pos: 358.7s  11941f (94%) 114.00fps Trem:   0min   5mb  A-V:0.067
>  [3568:116] Skipping frame!
> 
> 
> Was könnte man machen, dass der Ton synchron bleibt? Es ist ja keine
>  konstante Verschiebung und wird immer schlimmer? Hängt das mit 29.970 fps
>  zusammen?
> 
> 
> Playing digicam_test.mov.
> libavformat file format detected.
> [lavf] Video stream found, -vid 0
> [lavf] Audio stream found, -aid 1
> VIDEO:  [H264]  640x480  24bpp  29.970 fps  3553.6 kbps (433.8 kbyte/s)
> Clip info:
>  major_brand: qt
>  minor_version: 536937216
>  compatible_brands: qt  caqv
> ==========================================================================
> Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
> Unsupported PixelFormat -1
> Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
> ==========================================================================
> ==========================================================================
> Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
> AUDIO: 44100 Hz, 1 ch, s16le, 0.0 kbit/0.00% (ratio: 0->88200)
> Selected audio codec: [ffadpcmimawav] afm: ffmpeg (FFmpeg WAV IMA ADPCM
>  audio)
>  ==========================================================================
>  AO: [oss] 44100Hz 1ch s16le (2 bytes per sample)
> Starting playback...
> Movie-Aspect is undefined - no prescaling applied.
> VO: [vdpau] 640x480 => 640x480 Planar YV12
> A:   2.0 V:   1.8 A-V:  0.242 ct:  0.000   0/  0 28% 28% 54.5% 50 0


Nun habe ich zufällig die Lösung gefunden, nachdem ich einen Thread in der 
mencoder-ML gelesen habe.

mkvmerge -o "$MKVFILE" "$X264FILE" "$MP3FILE"
ist nicht synchron:


Das funktioniert:

FRAMERATE=`exiftool -q -q -s -s -s -VideoFrameRate "$AVIFILE"`

MP4Box -fps "$FRAMERATE" -add "$MP3FILE" "$MKVFILE"
MP4Box -fps "$FRAMERATE" -add "$X264FILE" "$MKVFILE

MP4Box ist ein Paket aus gpac.


Al