Question / Help ¿x264 problem?

Skalextric

New Member
Hi, I'm an Archlinux user. I got the following error when I try to start streaming or even record video.


obs: symbol lookup error: /usr//lib/obs-plugins/obs-x264.so: undefined symbol: x264_encoder_open_142

Any ideas?


Code:
Attempted path: share/obs/obs-studio/locale/en-US.ini
Attempted path: /usr/share/obs/obs-studio/locale/en-US.ini
Attempted path: share/obs/obs-studio/themes/Dark.qss
Attempted path: /usr/share/obs/obs-studio/themes/Dark.qss
Attempted path: share/obs/obs-studio/license/gplv2.txt
Attempted path: /usr/share/obs/obs-studio/license/gplv2.txt
QObject::connect: invalid null parameter
info: OBS 0.9.1-16-g453b505 (linux)
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
info: Processor: 2 logical cores
info: Processor: Intel(R) Core(TM)2 Duo CPU     T9400  @ 2.53GHz
info: Physical Memory: 3922MB Total
info: Kernel Version: Linux 3.19.2-1-ARCH
info: Distribution: "Arch Linux" Unknown
info: audio settings reset:
        samples per sec: 44100
        speakers:        2
        buffering (ms):  1000

info: X and Y: 902 470
Backbuffers: 2
Color Format: 3
ZStencil Format: 0
Adapter: 0

info: OpenGL version: 3.2.11672 Core Profile Context

info: video settings reset:
        base resolution:   1366x768
        output resolution: 908x512
        fps:               30/1
libDeckLinkAPI.so: no se puede abrir el fichero del objeto compartido: No existe el fichero o el directorio
info: No blackmagic support
info: Failed to start search for DeckLink devices
info: output 'adv_stream' (rtmp_output) created
info: output 'adv_file_output' (flv_output) created
info: encoder 'streaming_h264' (obs_x264) created
info: encoder 'adv_aac0' (libfdk_aac) created
info: encoder 'adv_aac1' (libfdk_aac) created
info: encoder 'adv_aac2' (libfdk_aac) created
info: encoder 'adv_aac3' (libfdk_aac) created
info: service 'default_service' (rtmp_custom) created
info: source 'Escena' (scene) created
error: xcompcap: XCompositeNameWindowPixmap failed: BadMatch (invalid parameter attributes)
info: source 'VNC' (xcomposite_input) created
info: Update check: latest version is: 0.4.0
info: [x264 encoder: 'streaming_h264'] preset: veryfast
info: [x264 encoder: 'streaming_h264'] settings:
        bitrate:     1100
        buffer size: 1100
        fps_num:     30
        fps_den:     1
        width:       908
        height:      512
        keyint:      250
        cbr:         off
 

Skalextric

New Member
I get it from the AUR: "obs-studio-git".

Edit: I tried to compile myself and get the same error.
 
Last edited:
obs: symbol lookup error: /usr//lib/obs-plugins/obs-x264.so: undefined symbol: x264_encoder_open_142
Is there really a double slash between "usr" & "lib" ?

Also can you type "x264 --version" in a terminal & give me the output ?
 

Skalextric

New Member
Yes, there is a double slash... so weird.

That's the output
Code:
x264 0.144.2533 c8a773e
(libswscale 3.1.101)
(libavformat 56.25.101)
built on Mar  7 2015, gcc: 4.9.2 20150304 (prerelease)
configuration: --bit-depth=8 --chroma-format=all
x264 license: GPL version 2 or later

Thanks Radzaquiel :P
 
Ok then try this in terminal now and give me the output
Code:
nm -D /usr/lib/x86_64-linux-gnu/libx264.so | grep x264_encoder_open
 

Skalextric

New Member
Can't find the file

Code:
nm: '/usr/lib/x86_64-linux-gnu/libx264.so': No such file

Edit: I don't have the X86_64-linux-gnu folder.
Edit2: That lib is inside /usr/lib
This is the output of "nm -D /usr/lib/libx264.so | grep x264_encoder_open"

Code:
00000000000890b0 T x264_encoder_open_144
 
Last edited:

Skalextric

New Member
64bits
uname -a
Code:
Linux archlinux 3.19.2-1-ARCH #1 SMP PREEMPT Wed Mar 18 16:21:02 CET 2015 x86_64 GNU/Linux
 
OK so I think that's it !
Your OBS seems to be compiled thinking you've got x264 0.142 but you have x264 0.144...there must have been a little mess in libs links.

My advice (in order):
  • uninstall clean obs-studio
  • uninstall clean libx264
  • reinstall libx264
  • reinstall obs-studio
I'm not an Arch specialist so I don't know exactly how to do it but that could solve your problem
 
Last edited:

Skalextric

New Member
Now I get a different error.

Code:
error: os_dlopen(/usr//lib/obs-plugins/obs-x264.so->/usr//lib/obs-plugins/obs-x264.so): libx264.so.146: no se puede abrir el fichero del objeto compartido: No existe el fichero o el directorio

warning: Module '/usr//lib/obs-plugins/obs-x264.so' not found
info: output 'adv_stream' (rtmp_output) created
info: output 'adv_file_output' (flv_output) created
info: output 'adv_stream' destroyed
info: output 'adv_file_output' destroyed
error: Failed to create streaming h264 encoder (advanced output)
info: Number of memory leaks: 1480
error: Failed to make context current.
[1]    27126 segmentation fault (core dumped)  obs
The double slash again.. The module exists in /usr/lib/obs-plugins/
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Double slash technically shouldn't affect anything, it'll end up effectively treating it as a single slash, can you see if the file in question exists?

I feel like it hasn't been built/installed correctly if you're getting this sort of error.
 

Skalextric

New Member
As Radzaquiel said there is no 146 version of libx264 in Arch. I get the same error if I compile it through AUR or doing it by myself


Now when I compile it
Code:
/usr/local/bin/obs: error while loading shared libraries: libobs.so.0: cannot open shared object file: No such file or directory


With the portable compilation get the same error. It request "libx264.so.146". I don't know if there is a option in cmake to set the libx version.

Edit: Solved. I uninstalled x264 and ffmpeg and install ffmpeg-git and x264-git from AUR and it seems to be allright. Thanks both for your time!! You're awesome.
 
Last edited:
Top