Recherche avancée

Médias (1)

Mot : - Tags -/biomaping

Autres articles (45)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (9551)

  • How to statically build ffmpeg with librtmp without root on centos 7 ?

    17 août 2014, par Shuman

    i forked STVS’s batch build script here. only added lines for rtmp ? but why it’s not working , the error i got is

    *** Building FFmpeg ***
    ERROR: librtmp not found

    if i check the config.log file

    gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -I/usr/tmp/tmp/ffmpeg-static-test/target/include -I/usr/tmp/tmp/ffmpeg-static-test/target/include -static --static -std=c99 -fomit-frame-pointer -pthread -I/usr/tmp/tmp/ffmpeg-static-test/target/include/opus -I/usr/tmp/tmp/ffmpeg-static-test/target/include -Wl,-z,relro -L/usr/tmp/tmp/ffmpeg-static-test/target/lib -c -o /var/tmp/ffconf.CIIzEs8o.o /var/tmp/ffconf.bBYD2amo.c
    gcc -L/usr/tmp/tmp/ffmpeg-static-test/target/lib -lm -L/usr/tmp/tmp/ffmpeg-static-test/target/lib -lm -static -Wl,--as-needed -I/usr/tmp/tmp/ffmpeg-static-test/target/include -Wl,-z,relro -L/usr/tmp/tmp/ffmpeg-static-test/target/lib -o /var/tmp/ffconf.goVEXKQq /var/tmp/ffconf.CIIzEs8o.o -lrtmp -lssl -lcrypto -ldl -lz -L/usr/tmp/tmp/ffmpeg-static-test/target/lib -lopus -lmp3lame -lfaac -lm -pthread -lbz2 -lz -lrt
    /usr/bin/ld: cannot find -lssl
    collect2: ld returned 1 exit status
    ERROR: librtmp not found

    i then checked my openssl install, it’s installed and

    > which openssl
    /usr/bin/openssl


    > ldd /usr/bin/openssl
    linux-vdso.so.1 =>  (0x00007fffd19ff000)
    libssl.so.10 => /usr/lib64/libssl.so.10 (0x0000003358000000)
    libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x0000003357c00000)
    libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000003356c00000)
    libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003355800000)
    libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003357400000)
    libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x0000003355c00000)
    libdl.so.2 => /lib64/libdl.so.2 (0x000000334e800000)
    libz.so.1 => /lib64/libz.so.1 (0x000000334f000000)
    libc.so.6 => /lib64/libc.so.6 (0x000000334e000000)
    libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003356800000)
    libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003357000000)
    libresolv.so.2 => /lib64/libresolv.so.2 (0x000000334fc00000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x000000334ec00000)
    /lib64/ld-linux-x86-64.so.2 (0x000000334dc00000)
    libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003350000000)

    which means i have libssl.so already. i tried adding -L/usr/lib64 to the configure script, but still it’s not working.

    previously in the build script

    CFLAGS="-I$TARGET_DIR/include" LDFLAGS="-L$TARGET_DIR/lib -lm" ./configure --prefix=${OUTPUT_DIR:-$TARGET_DIR} --extra-cflags="-I$TARGET_DIR/include" --extra-ldflags="-L$TARGET_DIR/lib -lm" --extra-version=static --disable-debug --disable-shared --enable-static --extra-cflags=--static --disable-ffplay --disable-ffserver --disable-doc --enable-gpl --enable-pthreads --enable-postproc --enable-gray --enable-runtime-cpudetect --enable-libfaac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-bzlib --enable-zlib --enable-nonfree --enable-version3 --enable-libvpx --disable-devices --enable-librtmp

    i tried

    CFLAGS="-I$TARGET_DIR/include" LDFLAGS="-L$TARGET_DIR/lib -L/usr/lib64 -lm" ./configure --prefix=${OUTPUT_DIR:-$TARGET_DIR} --extra-cflags="-I$TARGET_DIR/include" --extra-ldflags="-L$TARGET_DIR/lib -L/usr/lib64 -lm" --extra-version=static --disable-debug --disable-shared --enable-static --extra-cflags=--static --disable-ffplay --disable-ffserver --disable-doc --enable-gpl --enable-pthreads --enable-postproc --enable-gray --enable-runtime-cpudetect --enable-libfaac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-bzlib --enable-zlib --enable-nonfree --enable-version3 --enable-libvpx --disable-devices --enable-librtmp

    same error, what am i missing ?

    edit : i’m trying this on centos 7, still same error.
    i tried adding

    --extra-libs="-lrtmp"

    and commenting out this line in configure script

    enabled librtmp           && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket

    the error i got is

    rtmp.c:(.text+0x34b): undefined reference to `BN_new'
    rtmp.c:(.text+0x364): undefined reference to `BN_set_word'
    rtmp.c:(.text+0x36f): undefined reference to `BN_cmp'
    rtmp.c:(.text+0x382): undefined reference to `BN_copy'
    rtmp.c:(.text+0x38f): undefined reference to `BN_sub_word'
    rtmp.c:(.text+0x39a): undefined reference to `BN_cmp'
    rtmp.c:(.text+0x3a8): undefined reference to `BN_CTX_new'
    rtmp.c:(.text+0x3bf): undefined reference to `BN_mod_exp'
    rtmp.c:(.text+0x3c7): undefined reference to `BN_CTX_free'
    rtmp.c:(.text+0x3cc): undefined reference to `BN_value_one'
    rtmp.c:(.text+0x3d7): undefined reference to `BN_cmp'
    rtmp.c:(.text+0x3fb): undefined reference to `BN_free'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `DHGenerateKey':
    rtmp.c:(.text+0x4bd): undefined reference to `DH_generate_key'
    rtmp.c:(.text+0x4d0): undefined reference to `BN_hex2bn'
    rtmp.c:(.text+0x4f4): undefined reference to `BN_free'
    rtmp.c:(.text+0x50d): undefined reference to `BN_free'
    rtmp.c:(.text+0x516): undefined reference to `BN_free'
    rtmp.c:(.text+0x530): undefined reference to `BN_free'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `InitRC4Encryption':
    rtmp.c:(.text+0x5c3): undefined reference to `HMAC_CTX_init'
    rtmp.c:(.text+0x5c8): undefined reference to `EVP_sha256'
    rtmp.c:(.text+0x5de): undefined reference to `HMAC_Init_ex'
    rtmp.c:(.text+0x5f3): undefined reference to `HMAC_Update'
    rtmp.c:(.text+0x601): undefined reference to `HMAC_Final'
    rtmp.c:(.text+0x609): undefined reference to `HMAC_CTX_cleanup'
    rtmp.c:(.text+0x63e): undefined reference to `RC4_set_key'
    rtmp.c:(.text+0x646): undefined reference to `HMAC_CTX_init'
    rtmp.c:(.text+0x64b): undefined reference to `EVP_sha256'
    rtmp.c:(.text+0x661): undefined reference to `HMAC_Init_ex'
    rtmp.c:(.text+0x673): undefined reference to `HMAC_Update'
    rtmp.c:(.text+0x681): undefined reference to `HMAC_Final'
    rtmp.c:(.text+0x689): undefined reference to `HMAC_CTX_cleanup'
    rtmp.c:(.text+0x6bf): undefined reference to `RC4_set_key'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `HMACsha256':
    rtmp.c:(.text+0xaf9): undefined reference to `HMAC_CTX_init'
    rtmp.c:(.text+0xafe): undefined reference to `EVP_sha256'
    rtmp.c:(.text+0xb12): undefined reference to `HMAC_Init_ex'
    rtmp.c:(.text+0xb20): undefined reference to `HMAC_Update'
    rtmp.c:(.text+0xb30): undefined reference to `HMAC_Final'
    rtmp.c:(.text+0xb38): undefined reference to `HMAC_CTX_cleanup'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `b64enc.isra.13':
    rtmp.c:(.text+0xc54): undefined reference to `BIO_f_base64'
    rtmp.c:(.text+0xc5c): undefined reference to `BIO_new'
    rtmp.c:(.text+0xc64): undefined reference to `BIO_s_mem'
    rtmp.c:(.text+0xc6c): undefined reference to `BIO_new'
    rtmp.c:(.text+0xc77): undefined reference to `BIO_push'
    rtmp.c:(.text+0xc88): undefined reference to `BIO_write'
    rtmp.c:(.text+0xc99): undefined reference to `BIO_ctrl'
    rtmp.c:(.text+0xce2): undefined reference to `BIO_ctrl'
    rtmp.c:(.text+0xd0e): undefined reference to `BIO_free_all'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `DHInit.constprop.21':
    rtmp.c:(.text+0xd82): undefined reference to `DH_new'
    rtmp.c:(.text+0xd91): undefined reference to `BN_new'
    rtmp.c:(.text+0xdaa): undefined reference to `BN_hex2bn'
    rtmp.c:(.text+0xdb6): undefined reference to `DH_free'
    rtmp.c:(.text+0xdca): undefined reference to `BN_set_word'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `DHGetPublicKey.constprop.22':
    rtmp.c:(.text+0xe03): undefined reference to `BN_num_bits'
    rtmp.c:(.text+0xe6e): undefined reference to `BN_bn2bin'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `DHComputeSharedSecretKey.constprop.23':
    rtmp.c:(.text+0xf46): undefined reference to `BN_bin2bn'
    rtmp.c:(.text+0xf5f): undefined reference to `BN_hex2bn'
    rtmp.c:(.text+0xf88): undefined reference to `BN_free'
    rtmp.c:(.text+0xf90): undefined reference to `BN_free'
    rtmp.c:(.text+0xfb2): undefined reference to `DH_compute_key'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `RTMP_TLS_Init':
    rtmp.c:(.text+0x1382): undefined reference to `SSL_load_error_strings'
    rtmp.c:(.text+0x1387): undefined reference to `SSL_library_init'
    rtmp.c:(.text+0x138c): undefined reference to `OpenSSL_add_all_digests'
    rtmp.c:(.text+0x1391): undefined reference to `SSLv23_method'
    rtmp.c:(.text+0x1399): undefined reference to `SSL_CTX_new'
    rtmp.c:(.text+0x13b7): undefined reference to `SSL_CTX_ctrl'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `RTMP_TLS_AllocServerContext':
    rtmp.c:(.text+0x13e8): undefined reference to `SSLv23_server_method'
    rtmp.c:(.text+0x13f0): undefined reference to `SSL_CTX_new'
    rtmp.c:(.text+0x13fe): undefined reference to `SSL_CTX_use_certificate_chain_file'
    rtmp.c:(.text+0x1412): undefined reference to `SSL_CTX_use_PrivateKey_file'
    rtmp.c:(.text+0x142c): undefined reference to `SSL_CTX_free'
    rtmp.c:(.text+0x1451): undefined reference to `SSL_CTX_free'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `RTMP_TLS_Accept':
    rtmp.c:(.text+0x2388): undefined reference to `SSL_new'
    rtmp.c:(.text+0x239d): undefined reference to `SSL_set_fd'
    rtmp.c:(.text+0x23a9): undefined reference to `SSL_accept'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `RTMPSockBuf_Fill':
    rtmp.c:(.text+0x2737): undefined reference to `SSL_read'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `RTMPSockBuf_Close':
    rtmp.c:(.text+0x2b41): undefined reference to `SSL_shutdown'
    rtmp.c:(.text+0x2b4d): undefined reference to `SSL_free'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `CloseInternal':
    rtmp.c:(.text+0x2df4): undefined reference to `DH_free'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `WriteN':
    rtmp.c:(.text+0x2f5a): undefined reference to `RC4'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `ReadN':
    rtmp.c:(.text+0x4677): undefined reference to `RC4'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `HandShake.isra.18':
    rtmp.c:(.text+0x4ea8): undefined reference to `RC4'
    rtmp.c:(.text+0x4ecc): undefined reference to `RC4'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `SHandShake':
    rtmp.c:(.text+0x62fc): undefined reference to `RC4'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o):rtmp.c:(.text+0x6321): more undefined references to `RC4' follow
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `RTMP_Connect1':
    rtmp.c:(.text+0x67db): undefined reference to `SSL_new'
    rtmp.c:(.text+0x67f0): undefined reference to `SSL_set_fd'
    rtmp.c:(.text+0x67fc): undefined reference to `SSL_connect'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `HandleInvoke.part.19':
    rtmp.c:(.text+0x83d3): undefined reference to `MD5_Init'
    rtmp.c:(.text+0x83ee): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x840e): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8424): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x842f): undefined reference to `MD5_Final'
    rtmp.c:(.text+0x8503): undefined reference to `MD5_Init'
    rtmp.c:(.text+0x8513): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8548): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8553): undefined reference to `MD5_Final'
    rtmp.c:(.text+0x8775): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8798): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x87aa): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x87b5): undefined reference to `MD5_Final'
    rtmp.c:(.text+0x8a00): undefined reference to `MD5_Init'
    rtmp.c:(.text+0x8a23): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8a37): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8a51): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8a65): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8a7b): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8a86): undefined reference to `MD5_Final'
    rtmp.c:(.text+0x8bdd): undefined reference to `MD5_Init'
    rtmp.c:(.text+0x8bfa): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8c0e): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8c1e): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8c48): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8c53): undefined reference to `MD5_Final'
    rtmp.c:(.text+0x8ca7): undefined reference to `MD5_Init'
    rtmp.c:(.text+0x8cb9): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8ccd): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8cf5): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8d09): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8d1b): undefined reference to `MD5_Update'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o):rtmp.c:(.text+0x8d2f): more undefined references to `MD5_Update' follow
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `HandleInvoke.part.19':
    rtmp.c:(.text+0x8d9e): undefined reference to `MD5_Final'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `RTMP_TLS_Init':
    rtmp.c:(.text+0x13c0): undefined reference to `SSL_CTX_set_default_verify_paths'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `RTMP_TLS_FreeServerContext':
    rtmp.c:(.text+0x1461): undefined reference to `SSL_CTX_free'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `RTMPSockBuf_Send':
    rtmp.c:(.text+0x2a50): undefined reference to `SSL_write'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(hashswf.o): In function `swfcrunch':
    hashswf.c:(.text+0x78): undefined reference to `HMAC_Update'
    hashswf.c:(.text+0xdf): undefined reference to `HMAC_Update'
    hashswf.c:(.text+0x10c): undefined reference to `HMAC_Update'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(hashswf.o): In function `HTTP_get':
    hashswf.c:(.text+0x358): undefined reference to `SSL_new'
    hashswf.c:(.text+0x36f): undefined reference to `SSL_set_fd'
    hashswf.c:(.text+0x37c): undefined reference to `SSL_connect'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(hashswf.o): In function `RTMP_HashSWF':
    hashswf.c:(.text+0xa93): undefined reference to `HMAC_CTX_init'
    hashswf.c:(.text+0xa98): undefined reference to `EVP_sha256'
    hashswf.c:(.text+0xaba): undefined reference to `HMAC_Init_ex'
    hashswf.c:(.text+0xb68): undefined reference to `HMAC_CTX_cleanup'
    hashswf.c:(.text+0xfa3): undefined reference to `HMAC_Final'
    collect2: error: ld returned 1 exit status
    make: *** [ffmpeg_g] Error 1
    make: *** Waiting for unfinished jobs....
    libavformat/libavformat.a(rtpproto.o): In function `rtp_parse_addr_list':
    rtpproto.c:(.text+0x456): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    /usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../lib64/libpthread.a(libpthread.o): In function `sem_open':
    (.text+0x685b): warning: the use of `mktemp' is dangerous, better use `mkstemp'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `add_addr_info':
    rtmp.c:(.text+0x2a4): warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `isValidPublicKey':
    rtmp.c:(.text+0x34b): undefined reference to `BN_new'
    rtmp.c:(.text+0x364): undefined reference to `BN_set_word'
    rtmp.c:(.text+0x36f): undefined reference to `BN_cmp'
    rtmp.c:(.text+0x382): undefined reference to `BN_copy'
    rtmp.c:(.text+0x38f): undefined reference to `BN_sub_word'
    rtmp.c:(.text+0x39a): undefined reference to `BN_cmp'
    rtmp.c:(.text+0x3a8): undefined reference to `BN_CTX_new'
    rtmp.c:(.text+0x3bf): undefined reference to `BN_mod_exp'
    rtmp.c:(.text+0x3c7): undefined reference to `BN_CTX_free'
    rtmp.c:(.text+0x3cc): undefined reference to `BN_value_one'
    rtmp.c:(.text+0x3d7): undefined reference to `BN_cmp'
    rtmp.c:(.text+0x3fb): undefined reference to `BN_free'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `DHGenerateKey':
    rtmp.c:(.text+0x4bd): undefined reference to `DH_generate_key'
    rtmp.c:(.text+0x4d0): undefined reference to `BN_hex2bn'
    rtmp.c:(.text+0x4f4): undefined reference to `BN_free'
    rtmp.c:(.text+0x50d): undefined reference to `BN_free'
    rtmp.c:(.text+0x516): undefined reference to `BN_free'
    rtmp.c:(.text+0x530): undefined reference to `BN_free'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `InitRC4Encryption':
    rtmp.c:(.text+0x5c3): undefined reference to `HMAC_CTX_init'
    rtmp.c:(.text+0x5c8): undefined reference to `EVP_sha256'
    rtmp.c:(.text+0x5de): undefined reference to `HMAC_Init_ex'
    rtmp.c:(.text+0x5f3): undefined reference to `HMAC_Update'
    rtmp.c:(.text+0x601): undefined reference to `HMAC_Final'
    rtmp.c:(.text+0x609): undefined reference to `HMAC_CTX_cleanup'
    rtmp.c:(.text+0x63e): undefined reference to `RC4_set_key'
    rtmp.c:(.text+0x646): undefined reference to `HMAC_CTX_init'
    rtmp.c:(.text+0x64b): undefined reference to `EVP_sha256'
    rtmp.c:(.text+0x661): undefined reference to `HMAC_Init_ex'
    rtmp.c:(.text+0x673): undefined reference to `HMAC_Update'
    rtmp.c:(.text+0x681): undefined reference to `HMAC_Final'
    rtmp.c:(.text+0x689): undefined reference to `HMAC_CTX_cleanup'
    rtmp.c:(.text+0x6bf): undefined reference to `RC4_set_key'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `HMACsha256':
    rtmp.c:(.text+0xaf9): undefined reference to `HMAC_CTX_init'
    rtmp.c:(.text+0xafe): undefined reference to `EVP_sha256'
    rtmp.c:(.text+0xb12): undefined reference to `HMAC_Init_ex'
    rtmp.c:(.text+0xb20): undefined reference to `HMAC_Update'
    rtmp.c:(.text+0xb30): undefined reference to `HMAC_Final'
    rtmp.c:(.text+0xb38): undefined reference to `HMAC_CTX_cleanup'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `b64enc.isra.13':
    rtmp.c:(.text+0xc54): undefined reference to `BIO_f_base64'
    rtmp.c:(.text+0xc5c): undefined reference to `BIO_new'
    rtmp.c:(.text+0xc64): undefined reference to `BIO_s_mem'
    rtmp.c:(.text+0xc6c): undefined reference to `BIO_new'
    rtmp.c:(.text+0xc77): undefined reference to `BIO_push'
    rtmp.c:(.text+0xc88): undefined reference to `BIO_write'
    rtmp.c:(.text+0xc99): undefined reference to `BIO_ctrl'
    rtmp.c:(.text+0xce2): undefined reference to `BIO_ctrl'
    rtmp.c:(.text+0xd0e): undefined reference to `BIO_free_all'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `DHInit.constprop.21':
    rtmp.c:(.text+0xd82): undefined reference to `DH_new'
    rtmp.c:(.text+0xd91): undefined reference to `BN_new'
    rtmp.c:(.text+0xdaa): undefined reference to `BN_hex2bn'
    rtmp.c:(.text+0xdb6): undefined reference to `DH_free'
    rtmp.c:(.text+0xdca): undefined reference to `BN_set_word'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `DHGetPublicKey.constprop.22':
    rtmp.c:(.text+0xe03): undefined reference to `BN_num_bits'
    rtmp.c:(.text+0xe6e): undefined reference to `BN_bn2bin'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `DHComputeSharedSecretKey.constprop.23':
    rtmp.c:(.text+0xf46): undefined reference to `BN_bin2bn'
    rtmp.c:(.text+0xf5f): undefined reference to `BN_hex2bn'
    rtmp.c:(.text+0xf88): undefined reference to `BN_free'
    rtmp.c:(.text+0xf90): undefined reference to `BN_free'
    rtmp.c:(.text+0xfb2): undefined reference to `DH_compute_key'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `RTMP_TLS_Init':
    rtmp.c:(.text+0x1382): undefined reference to `SSL_load_error_strings'
    rtmp.c:(.text+0x1387): undefined reference to `SSL_library_init'
    rtmp.c:(.text+0x138c): undefined reference to `OpenSSL_add_all_digests'
    rtmp.c:(.text+0x1391): undefined reference to `SSLv23_method'
    rtmp.c:(.text+0x1399): undefined reference to `SSL_CTX_new'
    rtmp.c:(.text+0x13b7): undefined reference to `SSL_CTX_ctrl'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `RTMP_TLS_AllocServerContext':
    rtmp.c:(.text+0x13e8): undefined reference to `SSLv23_server_method'
    rtmp.c:(.text+0x13f0): undefined reference to `SSL_CTX_new'
    rtmp.c:(.text+0x13fe): undefined reference to `SSL_CTX_use_certificate_chain_file'
    rtmp.c:(.text+0x1412): undefined reference to `SSL_CTX_use_PrivateKey_file'
    rtmp.c:(.text+0x142c): undefined reference to `SSL_CTX_free'
    rtmp.c:(.text+0x1451): undefined reference to `SSL_CTX_free'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `RTMP_TLS_Accept':
    rtmp.c:(.text+0x2388): undefined reference to `SSL_new'
    rtmp.c:(.text+0x239d): undefined reference to `SSL_set_fd'
    rtmp.c:(.text+0x23a9): undefined reference to `SSL_accept'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `RTMPSockBuf_Fill':
    rtmp.c:(.text+0x2737): undefined reference to `SSL_read'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `RTMPSockBuf_Close':
    rtmp.c:(.text+0x2b41): undefined reference to `SSL_shutdown'
    rtmp.c:(.text+0x2b4d): undefined reference to `SSL_free'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `CloseInternal':
    rtmp.c:(.text+0x2df4): undefined reference to `DH_free'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `WriteN':
    rtmp.c:(.text+0x2f5a): undefined reference to `RC4'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `ReadN':
    rtmp.c:(.text+0x4677): undefined reference to `RC4'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `HandShake.isra.18':
    rtmp.c:(.text+0x4ea8): undefined reference to `RC4'
    rtmp.c:(.text+0x4ecc): undefined reference to `RC4'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `SHandShake':
    rtmp.c:(.text+0x62fc): undefined reference to `RC4'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o):rtmp.c:(.text+0x6321): more undefined references to `RC4' follow
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `RTMP_Connect1':
    rtmp.c:(.text+0x67db): undefined reference to `SSL_new'
    rtmp.c:(.text+0x67f0): undefined reference to `SSL_set_fd'
    rtmp.c:(.text+0x67fc): undefined reference to `SSL_connect'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `HandleInvoke.part.19':
    rtmp.c:(.text+0x83d3): undefined reference to `MD5_Init'
    rtmp.c:(.text+0x83ee): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x840e): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8424): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x842f): undefined reference to `MD5_Final'
    rtmp.c:(.text+0x8503): undefined reference to `MD5_Init'
    rtmp.c:(.text+0x8513): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8548): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8553): undefined reference to `MD5_Final'
    rtmp.c:(.text+0x8775): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8798): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x87aa): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x87b5): undefined reference to `MD5_Final'
    rtmp.c:(.text+0x8a00): undefined reference to `MD5_Init'
    rtmp.c:(.text+0x8a23): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8a37): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8a51): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8a65): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8a7b): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8a86): undefined reference to `MD5_Final'
    rtmp.c:(.text+0x8bdd): undefined reference to `MD5_Init'
    rtmp.c:(.text+0x8bfa): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8c0e): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8c1e): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8c48): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8c53): undefined reference to `MD5_Final'
    rtmp.c:(.text+0x8ca7): undefined reference to `MD5_Init'
    rtmp.c:(.text+0x8cb9): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8ccd): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8cf5): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8d09): undefined reference to `MD5_Update'
    rtmp.c:(.text+0x8d1b): undefined reference to `MD5_Update'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o):rtmp.c:(.text+0x8d2f): more undefined references to `MD5_Update' follow
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `HandleInvoke.part.19':
    rtmp.c:(.text+0x8d9e): undefined reference to `MD5_Final'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `RTMP_TLS_Init':
    rtmp.c:(.text+0x13c0): undefined reference to `SSL_CTX_set_default_verify_paths'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `RTMP_TLS_FreeServerContext':
    rtmp.c:(.text+0x1461): undefined reference to `SSL_CTX_free'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(rtmp.o): In function `RTMPSockBuf_Send':
    rtmp.c:(.text+0x2a50): undefined reference to `SSL_write'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(hashswf.o): In function `swfcrunch':
    hashswf.c:(.text+0x78): undefined reference to `HMAC_Update'
    hashswf.c:(.text+0xdf): undefined reference to `HMAC_Update'
    hashswf.c:(.text+0x10c): undefined reference to `HMAC_Update'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(hashswf.o): In function `HTTP_get':
    hashswf.c:(.text+0x358): undefined reference to `SSL_new'
    hashswf.c:(.text+0x36f): undefined reference to `SSL_set_fd'
    hashswf.c:(.text+0x37c): undefined reference to `SSL_connect'
    /home/oglop/Downloads/ffmpeg-static-git2/target/lib/librtmp.a(hashswf.o): In function `RTMP_HashSWF':
    hashswf.c:(.text+0xa93): undefined reference to `HMAC_CTX_init'
    hashswf.c:(.text+0xa98): undefined reference to `EVP_sha256'
    hashswf.c:(.text+0xaba): undefined reference to `HMAC_Init_ex'
    hashswf.c:(.text+0xb68): undefined reference to `HMAC_CTX_cleanup'
    hashswf.c:(.text+0xfa3): undefined reference to `HMAC_Final'
    collect2: error: ld returned 1 exit status
    make: *** [ffprobe_g] Error 1
  • Trouble linking ffmpeg example source code

    30 janvier 2012, par Leonard Teo

    I managed to build ffmpeg and libx264 on my Ubuntu 11.10 machine from source.

    I'm trying to work on the example source file decoding_encoding.c. The examples comes with a makefile, so I can just type in "make all" and it magically compiles and links everything. Now, I'm trying to compile and link from the command line but I can't seem to get it to link.

    Here is the makefile :

    # use pkg-config for getting CFLAGS abd LDFLAGS
    FFMPEG_LIBS=libavdevice libavformat libavfilter libavcodec libswscale libavutil
    CFLAGS+=$(shell pkg-config  --cflags $(FFMPEG_LIBS))
    LDFLAGS+=$(shell pkg-config --libs $(FFMPEG_LIBS))

    EXAMPLES=decoding_encoding filtering metadata muxing

    OBJS=$(addsuffix .o,$(EXAMPLES))

    %: %.o
           $(CC) $< $(LDFLAGS) -o $@

    %.o: %.c
           $(CC) $< $(CFLAGS) -c -o $@

    .phony: all clean

    all: $(OBJS) $(EXAMPLES)

    clean:
           rm -rf $(EXAMPLES) $(OBJS)

    I can compile the source using this :

    gcc -Wall -I/usr/local/include -c -o decoding_encoding.o decoding_encoding.c

    When I try to link using this :

    gcc -Wall -L/usr/local/lib -lavdevice -lavformat -lavfilter -lavcodec -lswscale -lavutil -o decoding_encoding decoding_encoding.o

    At this point, I get a huge list of 'undefined reference error'

    decoding_encoding.o: In function `audio_encode_example':
    decoding_encoding.c:(.text+0x25): undefined reference to `avcodec_find_encoder'
    decoding_encoding.c:(.text+0x6a): undefined reference to `avcodec_alloc_context3'
    decoding_encoding.c:(.text+0xad): undefined reference to `avcodec_open'
    decoding_encoding.c:(.text+0x1ce): undefined reference to `sin'
    decoding_encoding.c:(.text+0x238): undefined reference to `avcodec_encode_audio'
    decoding_encoding.c:(.text+0x297): undefined reference to `avcodec_close'
    decoding_encoding.c:(.text+0x2a3): undefined reference to `av_free'
    decoding_encoding.o: In function `audio_decode_example':
    decoding_encoding.c:(.text+0x2f7): undefined reference to `av_init_packet'
    decoding_encoding.c:(.text+0x30b): undefined reference to `avcodec_find_decoder'
    decoding_encoding.c:(.text+0x359): undefined reference to `avcodec_alloc_context3'
    decoding_encoding.c:(.text+0x379): undefined reference to `avcodec_open'
    ..... etc.
    collect2: ld returned 1 exit status

    Am I doing something wrong with my linker command ? I've examined the makefile and I believe that I'm doing exactly what the makefile is....or am I ?

    Thanks,

    Leo

  • YouTube's HD Video Streaming Server Technology ?

    30 septembre 2013, par bgentry

    Lately I've been researching different methods for streaming MP4s to the browser. Flash Media Server is an obvious choice here (using Cloudfront), and most solutions I've seen use the RTMP protocol.

    However, I spent some time on YouTube with Firebug and Chrome debugger figuring out how their streaming worked and I discovered some interesting differences between some of their videos and quality rates.

    My two sample videos are A and B. A is available up to 480p and B is available up to 1080p. For both videos, all rates up to 480p are served in an FLV container with H.264 video and AAC audio, over HTTP. What's interesting here is that if you have not yet downloaded (cached) the entire video, and you try to skip forward to an uncached part of the video, a new request will be made with a 'begin' parameter equal to the target offset in milliseconds. Example from Video A at 480p :

    http://v11.lscache8.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor%2Coc%3AU0dWTldQVF9FSkNNNl9PSlhJ&fexp=904806%2C902906%2C903711&algorithm=throttle-factor&itag=35&ipbits=0&burst=40&sver=3&expire=1279756800&key=yt1&signature=D2D704D63C242CF187CAA5B5D5BAFB8DFACAC5FF.39180C01559C976717B651A7EB1D0C6249231EB7&factor=1.25&id=8568eb3135971f6f&begin=111863

    Response Headers:
    Cache-Control:public,max-age=23472
    Connection:close
    Content-Length:14320637
    Content-Type:video/x-flv
    Date:Wed, 21 Jul 2010 17:23:48 GMT
    Expires:Wed, 21 Jul 2010 23:55:00 GMT
    Last-Modified:Wed, 19 May 2010 12:31:41 GMT
    Server:gvs 1.0
    X-Content-Type-Options:nosniff

    The file returned by this URL is a fully valid FLV containing only the portion of the video after the requested offset.

    I did the same kind of test on the higher resolution versions of Video B. At 720p and 1080p, YouTube will return a video in an MP4 container, also with H.264 video and AAC audio. What's impressive to me is that their server takes the same type of offset for an MP4 video (via the 'begin' parameter) and returns a valid, streamable MP4 (moov atom at the front of the file with correct offsets) that also only includes the requested portion of the video.

    So, how does YouTube do this ? How do they generate the FLV or MP4 container on the fly with the correct headers and only the desired segment of the requested video ? I know this can be accomplished using FFMPEG to seek to the desired start point and the qt-faststart script to reposition the moov atom to the front of the stream, but it seems like this would be too slow to handle on-demand for millions of YouTube viewers.

    Ideas ?

    Thanks in advance !

    Footnote : I am not allowed to include more than 1 link at this point, so here is Video A's URL : http:// www.youtube .com/watch ?v=hWjrMTWXH28 "Video available up to 480p"