Skocz do zawartości
Zaloguj się, aby obserwować  
damianoos

Mencoder i Segmentation fault

Polecane posty

Witam,

 

Miałem zainstalowany na serwerze: ffmpeg, mencoder, mplayer oraz odpowiednie paczki kodeków (libavcodec). Wszystko ładnie działało (chodzi mi tutaj głównie o konwersje video - flv). Dzisiaj postanowiłem wgrać sobie ffmpeg-php, aby wypróbować ten kombajn. Jednocześnie musiałem też dograć ffmpeg-devel (było to wymagane). No i tutaj zaczęły się schodki. Niby wszystko zainstalowane poprawnie, ale od teraz gdy chce przeprowadzić konwersję jakiegoś filmu za każdym razem wypluwa mi błąd w mencoderze:

 

videocodec: libavcodec (640x480 fourcc=31564c46 [FLV1])
Segmentation fault

 

Wcześniej dograłem także paczkę kodeków http://www.mplayerhq.hu/design7/dload.html i wgrałem je do /usr/lib/win32, ponieważ zgłaszało błąd że ich nie ma w systemie.

 

I było wszystko dobrze, człowiek chciał poznać coś nowego i tylko sobie kłopotów narobił. Ktoś może wie, jak teraz z tego wybrnąć? A mianowicie przywrócić konwersję na mencoderze do życia?

 

Pozdrawiam,

damianoos

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Witam,

 

Miałem zainstalowany na serwerze: ffmpeg, mencoder, mplayer oraz odpowiednie paczki kodeków (libavcodec). Wszystko ładnie działało (chodzi mi tutaj głównie o konwersje video - flv). Dzisiaj postanowiłem wgrać sobie ffmpeg-php, aby wypróbować ten kombajn. Jednocześnie musiałem też dograć ffmpeg-devel (było to wymagane). No i tutaj zaczęły się schodki. Niby wszystko zainstalowane poprawnie, ale od teraz gdy chce przeprowadzić konwersję jakiegoś filmu za każdym razem wypluwa mi błąd w mencoderze:

 

videocodec: libavcodec (640x480 fourcc=31564c46 [FLV1])
Segmentation fault

 

Wcześniej dograłem także paczkę kodeków http://www.mplayerhq.hu/design7/dload.html i wgrałem je do /usr/lib/win32, ponieważ zgłaszało błąd że ich nie ma w systemie.

 

I było wszystko dobrze, człowiek chciał poznać coś nowego i tylko sobie kłopotów narobił. Ktoś może wie, jak teraz z tego wybrnąć? A mianowicie przywrócić konwersję na mencoderze do życia?

 

Pozdrawiam,

damianoos

Mniemam że jakieś problemy z uprawnieniami albo brakuje bibliotek.

Sprawdź co mówi strace:

strace -e trace=file mencoder itd...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Powiem szczerze, że nigdy nie słyszałem o strace. Ale generuje coś takiego:

 

execve("/usr/bin/mencoder", ["mencoder"], [/* 22 vars */]) = 0
access("/etc/ld.so.preload", R_OK)	  = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)	  = 3
open("/usr/lib/libtwolame.so.0", O_RDONLY) = 3
open("/usr/lib/libfaac.so.0", O_RDONLY) = 3
open("/usr/lib/libx264.so.68", O_RDONLY) = 3
open("/lib/libpthread.so.0", O_RDONLY)  = 3
open("/usr/lib/libmp3lame.so.0", O_RDONLY) = 3
open("/usr/lib/libncurses.so.5", O_RDONLY) = 3
open("/usr/lib/libsmbclient.so.0", O_RDONLY) = 3
open("/usr/lib/libpng12.so.0", O_RDONLY) = 3
open("/usr/lib/libz.so.1", O_RDONLY)	= 3
open("/usr/lib/libmng.so.1", O_RDONLY)  = 3
open("/usr/lib/libjpeg.so.62", O_RDONLY) = 3
open("/usr/lib/libungif.so.4", O_RDONLY) = 3
open("/lib/libasound.so.2", O_RDONLY)   = 3
open("/lib/libdl.so.2", O_RDONLY)	   = 3
open("/usr/lib/libcdda_interface.so.0", O_RDONLY) = 3
open("/usr/lib/libcdda_paranoia.so.0", O_RDONLY) = 3
open("/usr/lib/libfreetype.so.6", O_RDONLY) = 3
open("/usr/lib/libfontconfig.so.1", O_RDONLY) = 3
open("/usr/lib/libfribidi.so.0", O_RDONLY) = 3
open("/usr/lib/libenca.so.0", O_RDONLY) = 3
open("/usr/lib/libbz2.so.1", O_RDONLY)  = 3
open("/usr/lib/liblzo2.so.2", O_RDONLY) = 3
open("/usr/lib/libmad.so.0", O_RDONLY)  = 3
open("/usr/lib/libspeex.so.1", O_RDONLY) = 3
open("/usr/lib/libtheora.so.0", O_RDONLY) = 3
open("/usr/lib/libogg.so.0", O_RDONLY)  = 3
open("/usr/lib/libdca.so.0", O_RDONLY)  = 3
open("/usr/lib/libmpcdec.so.5", O_RDONLY) = 3
open("/usr/lib/libamrnb.so.3", O_RDONLY) = 3
open("/usr/lib/libamrwb.so.3", O_RDONLY) = 3
open("/usr/lib/libdv.so.4", O_RDONLY)   = 3
open("/usr/lib/libxvidcore.so.4", O_RDONLY) = 3
open("/lib/libm.so.6", O_RDONLY)		= 3
open("/usr/lib/libdirac_encoder.so.0", O_RDONLY) = 3
open("/usr/lib/libdirac_decoder.so.0", O_RDONLY) = 3
open("/usr/lib/libstdc++.so.6", O_RDONLY) = 3
open("/lib/libc.so.6", O_RDONLY)		= 3
open("/usr/lib/libgif.so.4", O_RDONLY)  = 3
open("/lib/libcrypt.so.1", O_RDONLY)	= 3
open("/lib/libresolv.so.2", O_RDONLY)   = 3
open("/lib/libnsl.so.1", O_RDONLY)	  = 3
open("/usr/lib/libgssapi_krb5.so.2", O_RDONLY) = 3
open("/usr/lib/libkrb5.so.3", O_RDONLY) = 3
open("/usr/lib/libk5crypto.so.3", O_RDONLY) = 3
open("/lib/libcom_err.so.2", O_RDONLY)  = 3
open("/usr/lib/libldap-2.3.so.0", O_RDONLY) = 3
open("/usr/lib/liblber-2.3.so.0", O_RDONLY) = 3
open("/usr/lib/liblcms.so.1", O_RDONLY) = 3
open("/lib/librt.so.1", O_RDONLY)	   = 3
open("/lib/libexpat.so.0", O_RDONLY)	= 3
open("/lib/libgcc_s.so.1", O_RDONLY)	= 3
open("/usr/lib/libX11.so.6", O_RDONLY)  = 3
open("/usr/lib/libkrb5support.so.0", O_RDONLY) = 3
open("/lib/libkeyutils.so.1", O_RDONLY) = 3
open("/usr/lib/libsasl2.so.2", O_RDONLY) = 3
open("/lib/libssl.so.6", O_RDONLY)	  = 3
open("/lib/libcrypto.so.6", O_RDONLY)   = 3
open("/usr/lib/libXau.so.6", O_RDONLY)  = 3
open("/usr/lib/libXdmcp.so.6", O_RDONLY) = 3
open("/lib/libselinux.so.1", O_RDONLY)  = 3
open("/lib/libsepol.so.1", O_RDONLY)	= 3
access("/etc/selinux/", F_OK)		   = 0
open("/etc/selinux/config", O_RDONLY|O_LARGEFILE) = 3
open("/proc/mounts", O_RDONLY|O_LARGEFILE) = 3
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3
open("/usr/lib/gconv/ISO8859-1.so", O_RDONLY) = 3
MEncoder SVN-r29417-4.1.2 (C) 2000-2009 MPlayer Team
open("/root/.mplayer/codecs.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/etc/mplayer/codecs.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/etc/mplayer/mencoder.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/root/.mplayer/mencoder.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
No file given

 

Choćby czegoś brakowało, ale nie wiem czy ma to jakieś znaczenie większe.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Powiem szczerze, że nigdy nie słyszałem o strace. Ale generuje coś takiego:

[...]

open("/usr/lib/gconv/ISO8859-1.so", O_RDONLY) = 3

MEncoder SVN-r29417-4.1.2 © 2000-2009 MPlayer Team

open("/root/.mplayer/codecs.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)

open("/etc/mplayer/codecs.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)

open("/etc/mplayer/mencoder.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)

open("/root/.mplayer/mencoder.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)

No file given[/code]

 

Choćby czegoś brakowało, ale nie wiem czy ma to jakieś znaczenie większe.

 

No ale to wygląda zdrowo, to znaczy mencoder nie wyleciał, tylko zakończył pracę bo stwierdził że nie dałeś mu niczego do roboty. Napisałem że po strace masz dać "mencoder itd..", to znaczy całe polecenie po którym robi się segfault.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Fakt, nie pomyślałem o tym. Tutaj listing po wycięciu niepotrzebnych rzeczy (czyli tych które zgłaszały OK). Zostawiłem same (z mojego punktu widzenia) błędne zgłoszenia.

 

access("/etc/ld.so.preload", R_OK)	  = -1 ENOENT (No such file or directory)
open("/root/.mplayer/codecs.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/etc/mplayer/codecs.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/etc/mplayer/mencoder.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/root/.mplayer/mencoder.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
success: format: 0  data: 0x0 - 0x5ee354
libavformat file format detected.
[lavf] Video stream found, -vid 0
[lavf] Audio stream found, -aid 1
VIDEO:  [VP6F]  640x480  0bpp  30.000 fps  716.8 kbps (87.5 kbyte/s)
[V] filefmt:44  fourcc:0x46365056  size:640x480  fps:30.000  ftime:=0.0333
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
** MUXER_LAVF *****************************************************************
REMEMBER: MEncoder's libavformat muxing is presently broken and can generate
INCORRECT files in the presence of B-frames. Moreover, due to bugs MPlayer
will play these INCORRECT files as if nothing were wrong!
*******************************************************************************
OK, exit.
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1; -1, osd: 1, aspect: 0.000000, round: 1
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffvp6f] vfm: ffmpeg (FFmpeg VP6 Flash)
==========================================================================
MP3 audio selected.
VDec: vo config request - 640 x 480 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
videocodec: libavcodec (640x480 fourcc=31564c46 [FLV1])
stat64("/usr/share/X11/fonts/Type1", 0xbf872f30) = -1 ENOENT (No such file or directory)
open("/usr/share/X11/fonts/Type1", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = -1 ENOENT (No such file or directory)
stat64("/usr/share/X11/fonts/OTF", 0xbf872f30) = -1 ENOENT (No such file or directory)
open("/usr/share/X11/fonts/OTF", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = -1 ENOENT (No such file or directory)
stat64("/root/.fonts", 0xbf872f30)	  = -1 ENOENT (No such file or directory)
open("/root/.fonts", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = -1 ENOENT (No such file or directory)
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

 

A tutaj polecenie, jakiego używam do konwersji:

 

mencoder /tmp/phpnUzJD5.flv -o /tmp/phpnUzJD51.flv -oac mp3lame -ovc lavc -lavcopts vcodec=flv:acodec=mp3:abitrate=64:vbitrate=756 -of lavf

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×