[FFmpeg-user] FFMPEG failing in AWS Lambda
Zaid Amir
zaid.a at genie9.com
Tue Sep 11 17:17:37 EEST 2018
As I explained I tried both static and dynamic.. of course ldd does not work on static binaries.
Get Outlook for Android<https://aka.ms/ghei36>
________________________________
From: ffmpeg-user <ffmpeg-user-bounces at ffmpeg.org> on behalf of Carl Eugen Hoyos <ceffmpeg at gmail.com>
Sent: Tuesday, September 11, 2018 12:25:22 AM
To: FFmpeg user questions
Subject: Re: [FFmpeg-user] FFMPEG failing in AWS Lambda
2018-09-10 10:19 GMT+02:00, Zaid Amir <zaid.a at genie9.com>:
> Well its very likely I'm afraid.
>
> Below is the output when converting a single frame to jpg on my build
> environment, this fails when run in Lambda.
>
> ffmpeg version N-91639-g85c0064 Copyright (c) 2000-2018 the FFmpeg
> developers
> built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-28)
> configuration: --prefix=/home/ec2-user/ffmpeg_build
> --pkg-config-flags=--static
> --extra-cflags=-I/home/ec2-user/ffmpeg_build/include
> --extra-ldflags=-L/home/ec2-user/ffmpeg_build/lib --extra-libs=-lpthread
> --extra-libs=-lm --bindir=/home/ec2-user/bin --enable-gpl
> --enable-libfdk_aac --enable-libfreetype --enable-libmp3lame
> --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264
> --enable-libx265 --enable-nonfree
(The extra-libs look strange and would indicate a bug but cannot hurt.)
> libavutil 56. 19.100 / 56. 19.100
> libavcodec 58. 23.100 / 58. 23.100
> libavformat 58. 17.103 / 58. 17.103
> libavdevice 58. 4.101 / 58. 4.101
> libavfilter 7. 26.100 / 7. 26.100
> libswscale 5. 2.100 / 5. 2.100
> libswresample 3. 2.100 / 3. 2.100
> libpostproc 55. 2.100 / 55. 2.100
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/ec2-user/f1.mp4':
> Metadata:
> major_brand : isom
> minor_version : 512
> compatible_brands: isomiso2avc1mp41
> encoder : Lavf57.83.100
> Duration: 00:05:08.28, start: 0.000000, bitrate: 2693 kb/s
> Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
> 1280x720 [SAR 1:1 DAR 16:9], 2555 kb/s, 50 fps, 50 tbr, 12800 tbn, 100 tbc
> (default)
> Metadata:
> handler_name : VideoHandler
> Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo,
> fltp, 128 kb/s (default)
> Metadata:
> handler_name : SoundHandler
> Stream mapping:
> Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
> Press [q] to stop, [?] for help
> [swscaler @ 0x361c080] deprecated pixel format used, make sure you did set
> range correctly
> Output #0, image2, to 'output.jpg':
> Metadata:
> major_brand : isom
> minor_version : 512
> compatible_brands: isomiso2avc1mp41
> encoder : Lavf58.17.103
> Stream #0:0(und): Video: mjpeg, yuvj420p(pc), 1280x720 [SAR 1:1 DAR
> 16:9], q=2-31, 200 kb/s, 50 fps, 50 tbn, 50 tbc (default)
> Metadata:
> handler_name : VideoHandler
> encoder : Lavc58.23.100 mjpeg
> Side data:
> cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
> frame= 1 fps=0.0 q=6.7 Lsize=N/A time=00:00:00.02 bitrate=N/A
> speed=0.0578x
> video:52kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
> muxing overhead: unknown
>
> The ldd output is, of course this is only valid for the dynamically linked
> version which also fails on lambda even though the same binaries are
> available inside the lambda package and the ldd output is similar to the
> below:
>
> linux-vdso.so.1 => (0x00007fffe2dde000)
> libm.so.6 => /lib64/libm.so.6 (0x00007ff6d47e1000)
> libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007ff6d4545000)
> libz.so.1 => /lib64/libz.so.1 (0x00007ff6d432f000)
> libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff6d4113000)
> libdl.so.2 => /lib64/libdl.so.2 (0x00007ff6d3f0f000)
> libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007ff6d3b8a000)
> librt.so.1 => /lib64/librt.so.1 (0x00007ff6d3982000)
> libc.so.6 => /lib64/libc.so.6 (0x00007ff6d35b5000)
> /lib64/ld-linux-x86-64.so.2 (0x00007ff6d4ae3000)
> libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ff6d339f000)
So you are not testing a "static binary" as you originally claimed
but a dynamic binary.
I start to suspect you do not want to report a portability issue
("my binary does not start because a library is missing") but
a usage issue, am I right? The reason this was unclear was
that you posted an emails explaining such a problem in your
first message.
Please test something like:
$ ffmpeg -f lavfi -i testsrc2 -vframes 10 out%2d.jpg
Then find out if you are really are reading the same file as
on your build machine.
Please learn what top-posting means and avoid it here.
And please remove your email footer.
Carl Eugen
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user at ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email
ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-user
mailing list