Recherche avancée

Médias (91)

Autres articles (79)

  • 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

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

  • MediaSPIP Player : problèmes potentiels

    22 février 2011, par

    Le lecteur ne fonctionne pas sur Internet Explorer
    Sur Internet Explorer (8 et 7 au moins), le plugin utilise le lecteur Flash flowplayer pour lire vidéos et son. Si le lecteur ne semble pas fonctionner, cela peut venir de la configuration du mod_deflate d’Apache.
    Si dans la configuration de ce module Apache vous avez une ligne qui ressemble à la suivante, essayez de la supprimer ou de la commenter pour voir si le lecteur fonctionne correctement : /** * GeSHi (C) 2004 - 2007 Nigel McNie, (...)

Sur d’autres sites (10950)

  • FFmpeg create directory hierarchy for strftime

    23 avril 2017, par David

    Recently bought an ip-cam which outputs a RTSP stream. I’m using the segment option of FFmpeg to create 30 minute long recordings.

    I want FFmpeg to write the files to a directory based on Year/Month/Date, and write to a file Hour-Minute.mp4 For example :
    /raid1/homes/share/public/recordings/queue/bedroom/2017/04/23/13-05.mp4 for a recording started on 23 april 2017, 13:05.

    Unfortunately FFmpeg seems to not create the directory hierarchy. FFmpeg quits since the directory can not be found.

    Input #0, rtsp, from 'rtsp://192.168.1.240/unicast':
     Metadata:
       title           : LIVE555 Streaming Media v2014.07.04
       comment         : LIVE555 Streaming Media v2014.07.04
     Duration: N/A, start: 0.000750, bitrate: N/A
       Stream #0:0: Video: h264 (High), yuv420p, 1920x1080, 90k tbr, 90k tbn, 180k tbc
       Stream #0:1: Audio: pcm_alaw, 8000 Hz, 1 channels, s16, 64 kb/s
    [segment @ 0x2557300] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
    [segment @ 0x2557300] Failed to open segment '/raid1/homes/share/public/recordings/queue/bedroom/2017/04/23/14-19.mp4'
    Output #0, segment, to '/raid1/homes/share/public/recordings/queue/bedroom/%Y/%m/%d/%H-%M.mp4':
     Metadata:
       title           : LIVE555 Streaming Media v2014.07.04
       comment         : LIVE555 Streaming Media v2014.07.04
       encoder         : Lavf57.41.100
       Stream #0:0: Video: h264, yuv420p, 1920x1080, q=2-31, 90k tbr, 90k tbn, 90k tbc
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
    Could not write header for output file #0 (incorrect codec parameters ?): No such file or directory

    record.sh is as follows :

    #!/bin/sh
    ffmpeg -stimeout 600\
    -rtsp_transport udp \
    -i rtsp://192.168.1.240/unicast \
    -c copy \
    -map 0:0 \
    -f segment \
    -segment_time 3600 \
    -segment_wrap 100 \
    -segment_format mov \
    -strftime 1 \
    -reset_timestamps 1 \
    "/raid1/homes/share/public/recordings/queue/bedroom/%Y/%m/%d/%H-%M.mp4"

    I’ve tried not using a directory hierachy : "/raid1/homes/share/public/recordings/queue/bedroom/%Y-%m-%d_%H-%M.mp4". This works fine.

    $ ffmpeg -version
    ffmpeg version N-80901-gfebc862 Copyright (c) 2000-2016 the FFmpeg developers
    built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
    configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab
    libavutil      55. 28.100 / 55. 28.100
    libavcodec     57. 48.101 / 57. 48.101
    libavformat    57. 41.100 / 57. 41.100
    libavdevice    57.  0.102 / 57.  0.102
    libavfilter     6. 47.100 /  6. 47.100
    libavresample   3.  0.  0 /  3.  0.  0
    libswscale      4.  1.100 /  4.  1.100
    libswresample   2.  1.100 /  2.  1.100
    libpostproc    54.  0.100 / 54.  0.100

    Can FFmpeg create output directories on the go ?

  • FFMPEG build still resulting in Illegal instruction on raspberry pi ZERO, but not PI 2+

    3 mai 2017, par zyeek

    The process in which I do it configures the lib and ffmpeg files on the zero then move over to a pi 3 to make and install it (for speed).

    Build process :

    # x264
    git clone git://git.videolan.org/x264.git
    cd x264
    sudo ./configure --host=arm-unknown-linux-gnueabi --enable-shared --disable-opencl
    sudo make
    sudo make install
    sudo ldconfig

    # FFMPEG
    git clone git://source.ffmpeg.org/ffmpeg.git
    cd ffmpeg
    sudo ./configure --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree
    sudo make
    sudo make install

    I tried following this cross compile type build but complained I was missing a C compiler, but GCC was installed. SO I just went to follow my previous method.

    Results of trying to run it :

    pi@raspberrypi:~ $ ffmpeg -f v4l2 -i /dev/video0 -c:v libx264 -preset ultrafast -crf 0 http://localhost:8090/feed1.ffm
    ffmpeg version N-85747-gc4be288 Copyright (c) 2000-2017 the FFmpeg developers
     built with gcc 4.9.2 (Raspbian 4.9.2-10)
     configuration: --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree
     libavutil      55. 61.100 / 55. 61.100
     libavcodec     57. 93.100 / 57. 93.100
     libavformat    57. 72.101 / 57. 72.101
     libavdevice    57.  7.100 / 57.  7.100
     libavfilter     6. 88.100 /  6. 88.100
     libswscale      4.  7.101 /  4.  7.101
     libswresample   2.  8.100 /  2.  8.100
     libpostproc    54.  6.100 / 54.  6.100
    Input #0, video4linux2,v4l2, from '/dev/video0':
     Duration: N/A, start: 682.500534, bitrate: 110592 kb/s
       Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x360, 110592 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
    [tcp @ 0x2cba570] Connection to tcp://localhost:8090 failed (Connection refused), trying next address
    Wed May  3 12:30:16 2017 127.0.0.1 - - [GET] "/feed1.ffm HTTP/1.1" 200 4175
    [tcp @ 0x2cbf1b0] Connection to tcp://localhost:8090 failed (Connection refused), trying next address
    Stream mapping:
     Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
    Press [q] to stop, [?] for help
    No pixel format specified, yuv422p for H.264 encoding chosen.
    Use -pix_fmt yuv420p for compatibility with outdated media players.
    Wed May  3 12:30:16 2017 127.0.0.1 - - [POST] "/feed1.ffm HTTP/1.1" 200 0
    Illegal instruction
  • Couldn't open https stream - protocol not found (ffmpeg with openssl)

    25 avril 2017, par Victor Ponomarenko

    I received from compiled ffmpeg with openssl next message : Protocol not found. I’m testing on hls over https.

    The ffmpeg is 3.3 and openssl is 1.0.0a versions.

    I have next configure script :

    ./configure \
    --target-os=linux \
    --incdir=$BUILD_DIR/include/$ABI \
    --libdir=$BUILD_DIR/lib/$ABI \
    --prefix=$BUILD_DIR/lib/$ABI \
    --enable-cross-compile \
    --extra-libs="-lgcc" \
    --arch=$ARCH \
    --cc=$PREBUILT/bin/$HOST-gcc \
    --cross-prefix=$PREBUILT/bin/$HOST- \
    --nm=$PREBUILT/bin/$HOST-nm \
    --sysroot=$PLATFORM \
    --extra-cflags="$OPTIMIZE_CFLAGS -I${OPENSSL_INCLUDE_DIR}" \
    --extra-cxxflags="I${OPENSSL_INCLUDE_DIR}" \
    --extra-ldflags="-Wl,-rpath-link=${PLATFORM}usr/lib -L${PLATFORM}usr/lib -nostdlib -lc -lm -ldl -llog -lz -L${OPENSSL_BUILD_DIR}/${ABI}  $openssl_addi_ldflags -lssl -lcrypto" \
    --disable-static \
    --disable-ffplay \
    --disable-ffmpeg \
    --disable-ffprobe \
    --disable-ffserver \
    --disable-doc \
    --disable-symver \
    --disable-postproc \
    --disable-gpl \
    --disable-encoders \
    --disable-muxers \
    --disable-bsfs \
    --disable-protocols \
    --disable-indevs \
    --disable-outdevs \
    --disable-devices \
    --enable-shared \
    --enable-small \
    --enable-encoder=png \
    --enable-openssl \
    --enable-runtime-cpudetect \
    --enable-protocol=file,ftp,http,https,httpproxy,hls,mmsh,mmst,pipe,rtmp,rtmps,rtmpt,rtmpts,rtp,sctp,srtp,tcp,udp \
    --pkg-config=$(which pkg-config) \
    $ADDITIONAL_CONFIGURE_FLAG || die "Couldn't configure ffmpeg!"

    Before I configured it I received errors like openssl not found. I fixed that, but i try to load stream which works over https, I receives Protocol not found. Also, I think this is weird, after configuration https is missed in enabled protocols list.

    Enabled protocols:
    ffrtmphttp        hls               mmsh              rtmp          srtp
    file              http              mmst              rtmpt         tcp
    ftp               httpproxy         pipe              rtp           udp

    Update 23.04.2017

    My openssl build script :

    # environment variables
    top_root=$PWD
    src_root=${top_root}/src
    patch_root=${top_root}/patches
    dist_root=${top_root}/libs/openssl
    dist_bin_root=${dist_root}/bin
    dist_include_root=${dist_root}/include
    dist_lib_root=${dist_root}/lib
    build_log=${top_root}/openssl_build.log

    # create our folder structure
    cd ${top_root}
    test -d ${src_root} || mkdir -p ${src_root}
    test -d ${dist_root} || mkdir -p ${dist_root}
    test -d ${dist_bin_root} || mkdir -p ${dist_bin_root}
    test -d ${dist_include_root} || mkdir -p ${dist_include_root}
    test -d ${dist_lib_root} || mkdir -p ${dist_lib_root}
    touch ${build_log}

    rm -f ${build_log}

    echo "Building openssl-android ..."

    test -d ${src_root}/openssl-android || \
       git clone https://github.com/guardianproject/openssl-android.git ${src_root}/openssl-android >> ${build_log} 2>&1 || \
       die "Couldn't clone openssl-android repository!"
    cd ${src_root}/openssl-android

    ${NDK}/ndk-build >> ${build_log} 2>&1 || die "Couldn't build openssl-android!"

    # copy the versioned libraries
    #cp -r ${src_root}/openssl-android/libs/armeabi/lib*.so --parents ${dist_lib_root}/.
    rsync -a --include '*/' --include '*.so' --exclude '*' ${src_root}/openssl-android/libs/ ${dist_lib_root}/
    # copy the executables
    #cp -r ${src_root}/openssl-android/libs/armeabi/openssl ${dist_bin_root}/. # work only for one abi folder
    rsync -a --include '*/openssl' --exclude '*.so' ${src_root}/openssl-android/libs/ ${dist_bin_root}/
    #cp -r ${src_root}/openssl-android/libs/armeabi/ssltest ${dist_bin_root}/. # work only for one abi folder
    rsync -a --include '*/ssltest' --exclude '*.so' ${src_root}/openssl-android/libs/ ${dist_bin_root}/
    # copy the headers
    cp -r ${src_root}/openssl-android/include/* ${dist_include_root}/.

    cd ${top_root}

    Will thankful for any help.