Hi Anand,

On Thu, Oct 10, 2019 at 15:45:14 +0530, Anand wrote:
> I compiled FFmpeg and generated shared library.

> I want to rename libx264(libx264.so.152) to customized name
> libx264_xxx.so.152 in FFmpeg. To adapt this change please let me know
> the places where I should modify.

As Harald said: Without context, this doesn't make much sense to us.

We don't even know what kind of system this is. (Assumption: some kind
of Unix, probably Linux?). Whether you need a hack or a sustainable
solution.

Here's a hack on systems with ELF binaries (such as Linux). You need
patchelf >= 0.9:

# check the original ffmpeg and the library which pulls in libx264
[barsnick@paradise ~]$ ldd -r /usr/bin/ffmpeg | grep libx264
        libx264.so.155 => /lib64/libx264.so.155 (0x00007fdec6cf2000)
[barsnick@paradise ~]$ ldd /usr/lib64/libavcodec.so.58 | grep libx264
        libx264.so.155 => /lib64/libx264.so.155 (0x00007f11337c5000)
# proof of concept: create a version of libx264 with a new name (step 1 of your 
required steps)
[barsnick@paradise ~]$ cp -p /usr/lib64/libx264.so.155 ./libx264_mine.so.155
# proof of conecpt: create a copy of ffmpeg's dependent lib
[barsnick@paradise ~]$ cp -p /usr/lib64/libavcodec.so.58 ./
# modify the lib's dependency on libx264 to use the new name (step 2 of your 
required steps)
[barsnick@paradise ~]$ patchelf --replace-needed libx264.so.155 
libx264_mine.so.155 ./libavcodec.so.58
# check the modified copy of the ffmpeg library
[barsnick@paradise ~]$ ldd ./libavcodec.so.58 | grep libx264
        libx264_mine.so.155 => not found
[barsnick@paradise ~]$ LD_LIBRARY_PATH=. ldd -r ./libavcodec.so.58 | grep 
libx264
        libx264_mine.so.155 => ./libx264_mine.so.155 (0x00007f583d15f000)
# check ffmpeg when using the modified copy of the ffmpeg library
[barsnick@paradise ~]$ LD_LIBRARY_PATH=. ldd -r /usr/bin/ffmpeg | grep libx264
        libx264_mine.so.155 => ./libx264_mine.so.155 (0x00007f6ba26a7000)

In other words:
- Rename libx264.so.XYZ
- Change the dependency on the depending component of ffmpeg using "patchelf
 -replace-needed" (no copies needed as in my proof of concept)

Cheers,
Moritz
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to