
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (45)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip 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, parFormulaire 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, parMediaSPIP 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 Shumani 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 foundif 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 foundi 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 TeoI 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 statusAm 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 bgentryLately 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:nosniffThe 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"