Recherche avancée

Médias (91)

Autres articles (36)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 is the first MediaSPIP stable release.
    Its official release date is June 21, 2013 and is announced here.
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • 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 (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (4826)

  • Call remote cmdlet (ffmpeg) via Invoke-Command : "... not recognized as the name..."

    7 décembre 2016, par sk904861

    I’m trying to call ffmpeg on a remote transcoding server via Powershell :

    $session = new-pssession -computername transcodingserver
    Invoke-Command -session $session -scriptblock { powershell ffmpeg }

    ffmpeg is correctly installed on the remote server and can be run there, but the remote call results in an error :

    ffmpeg : The term 'ffmpeg' is not recognized as the name of a cmdlet, function, script file, or operable program.
       + CategoryInfo          : NotSpecified: (ffmpeg : The te...rable program. :String) [], RemoteException
       + FullyQualifiedErrorId : NativeCommandError
       + PSComputerName        : transcodingserver

    Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
    At line:1 char:1
    + ffmpeg
    + ~~~~~~
       + CategoryInfo          : ObjectNotFound: (ffmpeg:String) [], CommandNotFoundException
       + FullyQualifiedErrorId : CommandNotFoundException
    NotSpecified: (:) [], RemoteException

    It seems to me like if the machine, I run Invoke-Command on, tries to run ffmpeg, which is not installed there. What do you have to do, to run ffmpeg on a remote server ?

  • Build libaacplus 2.0.2 for ios

    23 mai 2013, par Javan

    Does anyone build libaacplus2.0.2(Download here) successed for iOS ? I want ffmpeg support that.It cast me one day to build that, but failed.

    This is libaacplus2.0.2/autogen.sh, It was edited, just let it create configure file :

    #!/bin/sh
    # Run this to set up the build system: configure, makefiles, etc.
    # (based on the version in enlightenment's cvs)

    package="libaacplus"

    srcdir=`dirname $0`
    test -z "$srcdir" && srcdir=.

    cd "$srcdir"
    DIE=0

    (autoheader --version) < /dev/null > /dev/null 2>&1 || {
       echo
       echo "You must have autoconf installed to compile $package."
       echo "Download the appropriate package for your distribution,"
       echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
       DIE=1
    }

    (autoreconf --version) < /dev/null > /dev/null 2>&1 || {
       echo
       echo "You must have autoreconf installed to compile $package."
       echo "Download the appropriate package for your distribution,"
       echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
       DIE=1
    }

    (automake --version) < /dev/null > /dev/null 2>&1 || {
       echo
       echo "You must have automake installed to compile $package."
       echo "Download the appropriate package for your system,"
       echo "or get the source from one of the GNU ftp sites"
       echo "listed in http://www.gnu.org/order/ftp.html"
       DIE=1
    }

    if test "$DIE" -eq 1; then
       exit 1
    fi

    if test -z "$*"; then
       echo "I am going to run ./configure with no arguments - if you wish "
       echo "to pass any to it, please specify them on the $0 command line."
    fi

    echo "Generating configuration files for $package, please wait...."

    echo "  aclocal $ACLOCAL_FLAGS"
    aclocal $ACLOCAL_FLAGS
    echo "  autoheader"
    autoheader
    echo "  libtoolize --automake"
    libtoolize --automake
    echo "  automake --add-missing $AUTOMAKE_FLAGS"
    automake --add-missing $AUTOMAKE_FLAGS
    echo "  autoreconf"
    autoreconf

    #$srcdir/configure "$@" && echo

    After run the autogen.sh script :

    ./autogen.sh

    the configure file has been created in the same path, them i re-compressed the libaacplus folder named with "libaacplus-2.0.2.tar.gz". Bellow is build script(build-libaacplus.sh) wrote by me :

    #!/bin/bash

    SRC_PACK='libaacplus-2.0.2.tar.gz'

    SRC_ROOT=`pwd`/libaacplus-2.0.2
    BUILD_PATH=`pwd`/build

    DEVELOPER_ROOT='/Applications/Xcode.app/Contents/Developer'
    IOS_VERSION='6.1'
    #CC="$DEVELOPER_ROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"

    CPU_CORE_COUNT=`sysctl -n machdep.cpu.core_count` #Check cpu core number
    MAKE_JOBS=$CPU_CORE_COUNT+1

    function build_with_args() {
       local arch=$1
       local platform=$2
       local host=$3
       local cc=$4
       local build=$5
       local cpp=$6
       local ios_dev_root="$DEVELOPER_ROOT/Platforms/iPhone$platform.platform/Developer"
       local sys_root="$ios_dev_root/SDKs/iPhone$platform$IOS_VERSION.sdk"

       if [ -d $SRC_ROOT ]; then
           echo "Cleaning $SRC_ROOT ..."
           rm -rf $SRC_ROOT    
           echo "Clean $SRC_ROOT completed!"
       fi

       echo "Decompressing $SRC_PACK ..."
       tar -xzf $SRC_PACK
       echo "Decompress $SRC_PACK completed!"

       cd $SRC_ROOT

       export PATH="$ios_dev_root/usr/bin:$DEVELOPER_ROOT/usr/bin:$PATH"
       export CC=$cc
       export CFLAGS="-I$sys_root/usr/include"
       export LDFLAGS="--sysroot=$sys_root -L$sys_root/usr/lib/ -L$sys_root/usr/lib/system"
       export CPPFLAGS=$CFLAGS
       export CPP=$cpp
       export TARGET=$build

       ./configure \
       --prefix="$BUILD_PATH/$arch" \
       --host=$host \
       --build=$build \
       --with-sysroot=$sys_root \
       --enable-shared \
       --enable-static

       echo "Building for $arch ..."

    #   make -j$MAKE_JOBS
       make install
       make clean

       echo "Build for $arch completed!"

       cd -
    }

    function build_armv7() {
       local platform='OS'
       local bin_path="$DEVELOPER_ROOT/Platforms/iPhone$platform.platform/Developer/usr/bin"
       build_with_args \
           'armv7' \
           "$platform" \
           'arm' \
           "$bin_path/arm-apple-darwin10-llvm-gcc-4.2" \
           'arm-apple-darwin10' \
           "$bin_path/arm-apple-darwin10-llvm-g++-4.2"
    }

    function build_armv7s() {
       local platform='OS'
       local bin_path="$DEVELOPER_ROOT/Platforms/iPhone$platform.platform/Developer/usr/bin"
       build_with_args \
           'armv7s' \
           "$platform" \
           'arm' \
           "$bin_path/arm-apple-darwin10-llvm-gcc-4.2" \
           'arm-apple-darwin10' \
           "$bin_path/arm-apple-darwin10-llvm-g++-4.2"
    }

    function build_i386() {
       local platform='Simulator'
       local bin_path="$DEVELOPER_ROOT/Platforms/iPhone$platform.platform/Developer/usr/bin"
       build_with_args \
           'i386' \
           "$platform" \
           'i386' \
           "$bin_path/i686-apple-darwin11-llvm-gcc-4.2" \
           'i686-apple-darwin11' \
           "$bin_path/i686-apple-darwin11-llvm-g++-4.2"


    }

    if [ -d $BUILD_PATH ]; then
       echo "Cleaning $BUILD_PATH..."
       rm -rf $BUILD_PATH
    fi

    build_armv7
    #build_armv7s
    #build_i386

    echo '>>>>>>>>>>>>>>>>>All completed!<<<<<<<<<<<<<<'

    It failed again and again. Run script->failed->see config.log->modify->Run script ...

    I don't know what should I can do. Someone can help me ? Thanks a lot !
    The last config.log content is bellow :

    This file contains any messages produced by compilers while
    running configure, to aid debugging if configure makes a mistake.

    It was created by libaacplus configure 2.0.2, which was
    generated by GNU Autoconf 2.65.  Invocation command line was

     $ ./configure --prefix=/Users/md313/Documents/Developer/OpenSource/ffmpef4ios-build-scripts/external-libs/build/armv7 --host=arm --build=arm-apple-darwin10 --with-sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk --enable-shared --enable-static

    ## --------- ##
    ## Platform. ##
    ## --------- ##

    hostname = JieMacBookPro.local
    uname -m = x86_64
    uname -r = 11.4.2
    uname -s = Darwin
    uname -v = Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64

    /usr/bin/uname -p = i386
    /bin/uname -X     = unknown

    /bin/arch              = unknown
    /usr/bin/arch -k       = unknown
    /usr/convex/getsysinfo = unknown
    /usr/bin/hostinfo      = Mach kernel version:
        Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64
    Kernel configured for up to 4 processors.
    2 processors are physically available.
    4 processors are logically available.
    Processor type: i486 (Intel 80486)
    Processors active: 0 1 2 3
    Primary memory available: 4.00 gigabytes
    Default processor set: 127 tasks, 619 threads, 4 processors
    Load average: 0.97, Mach factor: 3.02
    /bin/machine           = unknown
    /usr/bin/oslevel       = unknown
    /bin/universe          = unknown

    PATH: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin
    PATH: /Applications/Xcode.app/Contents/Developer/usr/bin
    PATH: /opt/local/bin
    PATH: /opt/local/sbin
    PATH: /usr/bin
    PATH: /bin
    PATH: /usr/sbin
    PATH: /sbin
    PATH: /usr/local/bin
    PATH: /usr/X11/bin
    PATH: /Library/StartupItems/MySQLCOM
    PATH: /usr/local/mysql/bin


    ## ----------- ##
    ## Core tests. ##
    ## ----------- ##

    configure:2378: checking for a BSD-compatible install
    configure:2446: result: /usr/bin/install -c
    configure:2457: checking whether build environment is sane
    configure:2512: result: yes
    configure:2571: checking for arm-strip
    configure:2601: result: no
    configure:2611: checking for strip
    configure:2627: found /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/strip
    configure:2638: result: strip
    configure:2650: WARNING: using cross tools not prefixed with host triplet
    configure:2663: checking for a thread-safe mkdir -p
    configure:2702: result: ./install-sh -c -d
    configure:2715: checking for gawk
    configure:2745: result: no
    configure:2715: checking for mawk
    configure:2745: result: no
    configure:2715: checking for nawk
    configure:2745: result: no
    configure:2715: checking for awk
    configure:2731: found /usr/bin/awk
    configure:2742: result: awk
    configure:2753: checking whether make sets $(MAKE)
    configure:2775: result: yes
    configure:2868: checking for arm-gcc
    configure:2895: result: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2
    configure:3164: checking for C compiler version
    configure:3173: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2 --version >&5
    arm-apple-darwin10-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2410.2.00)
    Copyright (C) 2007 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    configure:3184: $? = 0
    configure:3173: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2 -v >&5
    Using built-in specs.
    Target: arm-apple-darwin10
    Configured with: /private/var/tmp/llvmgcc42_Embedded/llvmgcc42_Embedded-2410.2~111/src/configure --enable-checking --enable-werror --prefix=/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --disable-tls --build=i686-apple-darwin10 --enable-llvm=/private/var/tmp/llvmgcc42_Embedded/llvmgcc42_Embedded-2410.2~111/dst-llvmCore/Developer/usr/local --program-prefix=arm-apple-darwin10- --host=x86_64-apple-darwin10 --target=arm-apple-darwin10 --with-gxx-include-dir=/usr/include/c++/4.2.1 --with-build-sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.Internal.sdk
    Thread model: posix
    gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2410.2.00)
    configure:3184: $? = 0
    configure:3173: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2 -V >&5
    arm-apple-darwin10-llvm-gcc-4.2: '-V' option must have argument
    configure:3184: $? = 1
    configure:3173: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2 -qversion >&5
    arm-apple-darwin10-llvm-gcc-4.2: no input files
    configure:3184: $? = 1
    configure:3204: checking whether the C compiler works
    configure:3226: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2 -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/lib/ -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/lib/system conftest.c  >&5
    configure:3230: $? = 0
    configure:3279: result: yes
    configure:3282: checking for C compiler default output file name
    configure:3284: result: a.out
    configure:3290: checking for suffix of executables
    configure:3297: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2 -o conftest -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/lib/ -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/lib/system conftest.c  >&5
    configure:3301: $? = 0
    configure:3323: result:
    configure:3345: checking whether we are cross compiling
    configure:3383: result: yes
    configure:3388: checking for suffix of object files
    configure:3410: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2 -c -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include conftest.c >&5
    configure:3414: $? = 0
    configure:3435: result: o
    configure:3439: checking whether we are using the GNU C compiler
    configure:3458: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2 -c -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include conftest.c >&5
    configure:3458: $? = 0
    configure:3467: result: yes
    configure:3476: checking whether /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2 accepts -g
    configure:3496: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2 -c -g -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include conftest.c >&5
    configure:3496: $? = 0
    configure:3537: result: yes
    configure:3554: checking for /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2 option to accept ISO C89
    configure:3618: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2  -c -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include conftest.c >&5
    configure:3618: $? = 0
    configure:3631: result: none needed
    configure:3662: checking for style of include used by make
    configure:3690: result: GNU
    configure:3716: checking dependency style of /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2
    configure:3827: result: gcc3
    configure:3843: checking whether /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2 and cc understand -c and -o together
    configure:3874: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2 -c conftest.c -o conftest2.o >&5
    configure:3878: $? = 0
    configure:3884: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2 -c conftest.c -o conftest2.o >&5
    configure:3888: $? = 0
    configure:3899: cc -c conftest.c >&5
    configure:3903: $? = 0
    configure:3911: cc -c conftest.c -o conftest2.o >&5
    configure:3915: $? = 0
    configure:3921: cc -c conftest.c -o conftest2.o >&5
    configure:3925: $? = 0
    configure:3943: result: yes
    configure:3973: checking how to run the C preprocessor
    configure:4043: result: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-g++-4.2
    configure:4063: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-g++-4.2 -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include conftest.c
    conftest.c:16: error: 'Syntax' does not name a type
    configure:4063: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME "libaacplus"
    | #define PACKAGE_TARNAME "libaacplus"
    | #define PACKAGE_VERSION "2.0.2"
    | #define PACKAGE_STRING "libaacplus 2.0.2"
    | #define PACKAGE_BUGREPORT "Sergiy Guriev <piratfm@ua.fm>"
    | #define PACKAGE_URL ""
    | #define PACKAGE "libaacplus"
    | #define VERSION "2.0.2"
    | /* end confdefs.h.  */
    | #ifdef __STDC__
    | # include
    | #else
    | # include
    | #endif
    |            Syntax error
    configure:4063: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-g++-4.2 -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include conftest.c
    conftest.c:16: error: 'Syntax' does not name a type
    configure:4063: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME "libaacplus"
    | #define PACKAGE_TARNAME "libaacplus"
    | #define PACKAGE_VERSION "2.0.2"
    | #define PACKAGE_STRING "libaacplus 2.0.2"
    | #define PACKAGE_BUGREPORT "Sergiy Guriev <piratfm@ua.fm>"
    | #define PACKAGE_URL ""
    | #define PACKAGE "libaacplus"
    | #define VERSION "2.0.2"
    | /* end confdefs.h.  */
    | #ifdef __STDC__
    | # include
    | #else
    | # include
    | #endif
    |            Syntax error
    configure:4093: error: in `/Users/md313/Documents/Developer/OpenSource/ffmpef4ios-build-scripts/external-libs/libaacplus-2.0.2':
    configure:4096: error: C preprocessor "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-g++-4.2" fails sanity check
    See `config.log' for more details.

    ## ---------------- ##
    ## Cache variables. ##
    ## ---------------- ##

    ac_cv_c_compiler_gnu=yes
    ac_cv_env_CC_set=set
    ac_cv_env_CC_value=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2
    ac_cv_env_CFLAGS_set=set
    ac_cv_env_CFLAGS_value=-I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include
    ac_cv_env_CPPFLAGS_set=set
    ac_cv_env_CPPFLAGS_value=-I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include
    ac_cv_env_CPP_set=set
    ac_cv_env_CPP_value=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-g++-4.2
    ac_cv_env_LDFLAGS_set=set
    ac_cv_env_LDFLAGS_value='--sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/lib/ -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/lib/system'
    ac_cv_env_LIBS_set=
    ac_cv_env_LIBS_value=
    ac_cv_env_build_alias_set=set
    ac_cv_env_build_alias_value=arm-apple-darwin10
    ac_cv_env_host_alias_set=set
    ac_cv_env_host_alias_value=arm
    ac_cv_env_target_alias_set=
    ac_cv_env_target_alias_value=
    ac_cv_objext=o
    ac_cv_path_install='/usr/bin/install -c'
    ac_cv_prog_AWK=awk
    ac_cv_prog_CC=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2
    ac_cv_prog_CPP=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-g++-4.2
    ac_cv_prog_ac_ct_STRIP=strip
    ac_cv_prog_cc__Applications_Xcode_app_Contents_Developer_Platforms_iPhoneOS_platform_Developer_usr_bin_arm_apple_darwin10_llvm_gcc_4_2_c_o=yes
    ac_cv_prog_cc_c89=
    ac_cv_prog_cc_g=yes
    ac_cv_prog_make_make_set=yes
    am_cv_CC_dependencies_compiler_type=gcc3

    ## ----------------- ##
    ## Output variables. ##
    ## ----------------- ##

    AACPLUS_CFLAGS=''
    AACPLUS_CPPFLAGS=''
    AACPLUS_LIBS=''
    AACPLUS_REQUIRES=''
    ACLOCAL='${SHELL} /Users/md313/Documents/Developer/OpenSource/ffmpef4ios-build-scripts/external-libs/libaacplus-2.0.2/missing --run aclocal-1.12'
    AMDEPBACKSLASH='\'
    AMDEP_FALSE='#'
    AMDEP_TRUE=''
    AMTAR='$${TAR-tar}'
    AR=''
    AS=''
    ASH=''
    AUTOCONF='${SHELL} /Users/md313/Documents/Developer/OpenSource/ffmpef4ios-build-scripts/external-libs/libaacplus-2.0.2/missing --run autoconf'
    AUTOHEADER='${SHELL} /Users/md313/Documents/Developer/OpenSource/ffmpef4ios-build-scripts/external-libs/libaacplus-2.0.2/missing --run autoheader'
    AUTOMAKE='${SHELL} /Users/md313/Documents/Developer/OpenSource/ffmpef4ios-build-scripts/external-libs/libaacplus-2.0.2/missing --run automake-1.12'
    AWK='awk'
    BASH='/bin/sh'
    CC='/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2'
    CCDEPMODE='depmode=gcc3'
    CFLAGS='-I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include'
    CPP='/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-g++-4.2'
    CPPFLAGS='-I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include'
    CYGPATH_W='echo'
    DEBUG=''
    DEFS=''
    DEPDIR='.deps'
    DLLTOOL=''
    DOWNLOADER_PROG=''
    DOWNLOADER_PROG_CMD=''
    DSYMUTIL=''
    DUMPBIN=''
    ECHO_C='\c'
    ECHO_N=''
    ECHO_T=''
    EGREP=''
    EXEEXT=''
    FFTW3_CFLAGS=''
    FFTW3_INCFLAGS=''
    FFTW3_LDFLAGS=''
    FFTW3_LIB=''
    FGREP=''
    GREP=''
    HAVE_PKGCONFIG_FALSE=''
    HAVE_PKGCONFIG_TRUE=''
    INSTALL_DATA='${INSTALL} -m 644'
    INSTALL_PROGRAM='${INSTALL}'
    INSTALL_SCRIPT='${INSTALL}'
    INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
    LD=''
    LDFLAGS='--sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/lib/ -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/lib/system'
    LIBOBJS=''
    LIBS=''
    LIBTOOL=''
    LIBTOOL_DEPS=''
    LIPO=''
    LN_S=''
    LTLIBOBJS=''
    MAKEINFO='${SHELL} /Users/md313/Documents/Developer/OpenSource/ffmpef4ios-build-scripts/external-libs/libaacplus-2.0.2/missing --run makeinfo'
    MANIFEST_TOOL=''
    MKDIR_P='./install-sh -c -d'
    NM=''
    NMEDIT=''
    OBJDUMP=''
    OBJEXT='o'
    OPT=''
    OTOOL64=''
    OTOOL=''
    PACKAGE='libaacplus'
    PACKAGE_BUGREPORT='Sergiy Guriev <piratfm@ua.fm>'
    PACKAGE_NAME='libaacplus'
    PACKAGE_STRING='libaacplus 2.0.2'
    PACKAGE_TARNAME='libaacplus'
    PACKAGE_URL=''
    PACKAGE_VERSION='2.0.2'
    PARAMETER_EXPANSION_STRING_REPLACE_CAPABLE_SHELL=''
    PATCH=''
    PATH_SEPARATOR=':'
    PKGCONFIG=''
    PROFILE=''
    RANLIB=''
    SED=''
    SET_MAKE=''
    SHELL='/bin/sh'
    STRIP='strip'
    UNZIP=''
    VERSION='2.0.2'
    ac_ct_AR=''
    ac_ct_CC=''
    ac_ct_DUMPBIN=''
    am__EXEEXT_FALSE=''
    am__EXEEXT_TRUE=''
    am__fastdepCC_FALSE='#'
    am__fastdepCC_TRUE=''
    am__include='include'
    am__isrc=''
    am__leading_dot='.'
    am__nodep='_no'
    am__quote=''
    am__tar='$${TAR-tar} chof - "$$tardir"'
    am__untar='$${TAR-tar} xf -'
    bindir='${exec_prefix}/bin'
    build='arm-apple-darwin10'
    build_alias='arm-apple-darwin10'
    build_cpu=''
    build_os=''
    build_vendor=''
    datadir='${datarootdir}'
    datarootdir='${prefix}/share'
    docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
    dvidir='${docdir}'
    exec_prefix='NONE'
    host='arm'
    host_alias='arm'
    host_cpu=''
    host_os=''
    host_vendor=''
    htmldir='${docdir}'
    includedir='${prefix}/include'
    infodir='${datarootdir}/info'
    install_sh='${SHELL} /Users/md313/Documents/Developer/OpenSource/ffmpef4ios-build-scripts/external-libs/libaacplus-2.0.2/install-sh'
    libdir='${exec_prefix}/lib'
    libexecdir='${exec_prefix}/libexec'
    localedir='${datarootdir}/locale'
    localstatedir='${prefix}/var'
    mandir='${datarootdir}/man'
    mkdir_p='$(top_builddir)/./install-sh -c -d'
    oldincludedir='/usr/include'
    pdfdir='${docdir}'
    prefix='/Users/md313/Documents/Developer/OpenSource/ffmpef4ios-build-scripts/external-libs/build/armv7'
    program_transform_name='s,x,x,'
    psdir='${docdir}'
    sbindir='${exec_prefix}/sbin'
    sharedstatedir='${prefix}/com'
    sysconfdir='${prefix}/etc'
    target_alias=''

    ## ----------- ##
    ## confdefs.h. ##
    ## ----------- ##

    /* confdefs.h */
    #define PACKAGE_NAME "libaacplus"
    #define PACKAGE_TARNAME "libaacplus"
    #define PACKAGE_VERSION "2.0.2"
    #define PACKAGE_STRING "libaacplus 2.0.2"
    #define PACKAGE_BUGREPORT "Sergiy Guriev <piratfm@ua.fm>"
    #define PACKAGE_URL ""
    #define PACKAGE "libaacplus"
    #define VERSION "2.0.2"

    configure: exit 1
  • "FFmpeg : Error not transitioning to the next song in Discord Bot's queue."

    1er avril 2024, par noober

    I have 3 modules, but I'm sure the error occurs within this module, and here is the entire code within that module :

    


    import asyncio
import discord
from discord import FFmpegOpusAudio, Embed
import os

async def handle_help(message):
    embed = discord.Embed(
        title="Danh sách lệnh cho Bé Mèo",
        description="Dưới đây là các lệnh mà chủ nhân có thể bắt Bé Mèo phục vụ:",
        color=discord.Color.blue()
    )
    embed.add_field(name="!play", value="Phát một bài hát từ YouTube.", inline=False)
    embed.add_field(name="!pause", value="Tạm dừng bài hát đang phát.", inline=False)
    embed.add_field(name="!resume", value="Tiếp tục bài hát đang bị tạm dừng.", inline=False)
    embed.add_field(name="!skip", value="Chuyển đến bài hát tiếp theo trong danh sách chờ.", inline=False)
    embed.add_field(name="!stop", value="Dừng phát nhạc và cho phép Bé Mèo đi ngủ tiếp.", inline=False)
    # Thêm các lệnh khác theo cùng mẫu trên
    await message.channel.send(embed=embed)

class Song:
    def __init__(self, title, player):
        self.title = title  # Lưu trữ tiêu đề bài hát ở đây
        self.player = player

# Thêm đối tượng Song vào hàng đợi
def add_song_to_queue(guild_id, queues, song):
    queues.setdefault(guild_id, []).append(song)

async def handle_list(message, queues):
    log_file_path = "C:\\Bot Music 2\\song_log.txt"
    if os.path.exists(log_file_path):
        with open(log_file_path, "r", encoding="utf-8") as f:
            song_list = f.readlines()

        if song_list:
            embed = discord.Embed(
                title="Danh sách bài hát",
                description="Danh sách các bài hát đã phát:",
                color=discord.Color.blue()
            )

            for i, song in enumerate(song_list, start=1):
                if i == 1:
                    song = "- Đang phát: " + song.strip()
                embed.add_field(name=f"Bài hát {i}", value=song, inline=False)

            await message.channel.send(embed=embed)
        else:
            await message.channel.send("Hiện không có dữ liệu trong file log.")
    else:
        await message.channel.send("File log không tồn tại.")

async def handle_commands(message, client, queues, voice_clients, yt_dl_options, ytdl, ffmpeg_options=None, guild_id=None, data=None):
    # Nếu không có ffmpeg_options, sử dụng các thiết lập mặc định
    if ffmpeg_options is None:
        ffmpeg_options = {
            'before_options': '-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5',
            'options': '-vn -filter:a "volume=0.25"'
        }
    
    # Khởi tạo voice_client
    if guild_id is None:
        guild_id = message.guild.id

    if guild_id in voice_clients:
        voice_client = voice_clients[guild_id]
    else:
        voice_client = None

    # Xử lý lệnh !play
    if message.content.startswith("!play"):
        try:
            # Kiểm tra xem người gửi tin nhắn có đang ở trong kênh voice không
            voice_channel = message.author.voice.channel
            # Kiểm tra xem bot có đang ở trong kênh voice của guild không
            if voice_client and voice_client.is_connected():
                await voice_client.move_to(voice_channel)
            else:
                voice_client = await voice_channel.connect()
                voice_clients[guild_id] = voice_client
        except Exception as e:
            print(e)

        try:
            query = ' '.join(message.content.split()[1:])
            if query.startswith('http'):
                url = query
            else:
                query = 'ytsearch:' + query
                loop = asyncio.get_event_loop()
                data = await loop.run_in_executor(None, lambda: ytdl.extract_info(query, download=False))
                if not data:
                    raise ValueError("Không có dữ liệu trả về từ YouTube.")
                url = data['entries'][0]['url']

            player = FFmpegOpusAudio(url, **ffmpeg_options)
            # Lấy thông tin của bài hát mới đang được yêu cầu
            title = data['entries'][0]['title']
            duration = data['entries'][0]['duration']
            creator = data['entries'][0]['creator'] if 'creator' in data['entries'][0] else "Unknown"
            requester = message.author.nick if message.author.nick else message.author.name
                    
            # Tạo embed để thông báo thông tin bài hát mới
            embed = discord.Embed(
                title="Thông tin bài hát mới",
                description=f"**Bài hát:** *{title}*\n**Thời lượng:** *{duration}*\n**Tác giả:** *{creator}*\n**Người yêu cầu:** *{requester}*",
                color=discord.Color.green()
            )
            await message.channel.send(embed=embed)
            
            # Sau khi lấy thông tin của bài hát diễn ra, gọi hàm log_song_title với title của bài hát
            # Ví dụ:
            title = data['entries'][0]['title']
            await log_song_title(title)

            # Thêm vào danh sách chờ nếu có bài hát đang phát
            if voice_client.is_playing():
                queues.setdefault(guild_id, []).append(player)
            else:
                voice_client.play(player)
                
        except Exception as e:
            print(e)
            
    if message.content.startswith("!link"):
            try:
                voice_client = await message.author.voice.channel.connect()
                voice_clients[voice_client.guild.id] = voice_client
            except Exception as e:
                print(e)

            try:
                url = message.content.split()[1]

                loop = asyncio.get_event_loop()
                data = await loop.run_in_executor(None, lambda: ytdl.extract_info(url, download=False))

                song = data['url']
                player = discord.FFmpegOpusAudio(song, **ffmpeg_options)

                voice_clients[message.guild.id].play(player)
            except Exception as e:
                print(e)

    # Xử lý lệnh !queue
    elif message.content.startswith("!queue"):
        queue = queues.get(guild_id, [])
        if queue:
            await message.channel.send("Danh sách chờ:")
            for index, item in enumerate(queue, 1):
                await message.channel.send(f"{index}. {item.title}")
        else:
            await message.channel.send("Không có bài hát nào trong danh sách chờ.")

    # Xử lý lệnh !skip
    elif message.content.startswith("!skip"):
        try:
            if voice_client and voice_client.is_playing():
                voice_client.stop()
                await play_next_song(guild_id, queues, voice_client, skip=True)
                await remove_first_line_from_log()
        except Exception as e:
            print(e)

    # Xử lý các lệnh như !pause, !resume, !stop
    elif message.content.startswith("!pause"):
        try:
            if voice_client and voice_client.is_playing():
                voice_client.pause()
        except Exception as e:
            print(e)

    elif message.content.startswith("!resume"):
        try:
            if voice_client and not voice_client.is_playing():
                voice_client.resume()
        except Exception as e:
            print(e)

    elif message.content.startswith("!stop"):
        try:
            if voice_client:
                voice_client.stop()
                await voice_client.disconnect()
                del voice_clients[guild_id]  # Xóa voice_client sau khi dừng
        except Exception as e:
            print(e)

async def log_song_title(title):
    log_file_path = "C:\\Bot Music 2\\song_log.txt"
    try:
        # Kiểm tra xem tệp tin log đã tồn tại chưa
        if not os.path.exists(log_file_path):
            # Nếu chưa tồn tại, tạo tệp tin mới và ghi title vào tệp tin đó
            with open(log_file_path, 'w', encoding='utf-8') as file:
                file.write(title + '\n')
        else:
            # Nếu tệp tin log đã tồn tại, mở tệp tin và chèn title vào cuối tệp tin
            with open(log_file_path, 'a', encoding='utf-8') as file:
                file.write(title + '\n')
    except Exception as e:
        print(f"Error logging song title: {e}")

async def remove_first_line_from_log():
    log_file_path = "C:\\Bot Music 2\\song_log.txt"
    try:
        with open(log_file_path, "r", encoding="utf-8") as f:
            lines = f.readlines()
        # Xóa dòng đầu tiên trong list lines
        lines = lines[1:]
        with open(log_file_path, "w", encoding="utf-8") as f:
            for line in lines:
                f.write(line)
    except Exception as e:
        print(f"Error removing first line from log: {e}")
        
async def clear_log_file():
    log_file_path = "C:\\Bot Music 2\\song_log.txt"
    try:
        with open(log_file_path, "w", encoding="utf-8") as f:
            f.truncate(0)
    except Exception as e:
        print(f"Error clearing log file: {e}")


async def play_next_song(guild_id, queues, voice_client, skip=False):
    queue = queues.get(guild_id, [])
    if queue:
        player = queue.pop(0)
        voice_client.play(player, after=lambda e: asyncio.run_coroutine_threadsafe(play_next_song(guild_id, queues, voice_client, skip=False), voice_client.loop))
        if skip:
            return
        else:
            await remove_first_line_from_log()  # Xóa dòng đầu tiên trong file log
    elif skip:
        await remove_first_line_from_log()  # Xóa dòng đầu tiên trong file log
        await voice_client.disconnect()
        del voice_client[guild_id]  # Xóa voice_client sau khi dừng
    else:
        await clear_log_file()  # Xóa dòng đầu tiên trong file log
        await voice_client.disconnect()
        del voice_client[guild_id]  # Xóa voice_client sau khi dừng


    


    I have tried asking ChatGPT, Gemini, or Bing, and they always lead me into a loop of errors that cannot be resolved. This error only occurs when the song naturally finishes playing due to its duration. If the song is playing and I use the command !skip, the next song in the queue will play and function normally. I noticed that it seems like if a song ends naturally, the song queue is also cleared immediately. I hope someone can help me with this