Recherche avancée

Médias (9)

Mot : - Tags -/soundtrack

Autres articles (101)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Activation de l’inscription des visiteurs

    12 avril 2011, par

    Il est également possible d’activer l’inscription des visiteurs ce qui permettra à tout un chacun d’ouvrir soit même un compte sur le canal en question dans le cadre de projets ouverts par exemple.
    Pour ce faire, il suffit d’aller dans l’espace de configuration du site en choisissant le sous menus "Gestion des utilisateurs". Le premier formulaire visible correspond à cette fonctionnalité.
    Par défaut, MediaSPIP a créé lors de son initialisation un élément de menu dans le menu du haut de la page menant (...)

  • XMP PHP

    13 mai 2011, par

    Dixit Wikipedia, XMP signifie :
    Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
    Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
    XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)

Sur d’autres sites (10028)

  • how do i modify this ffmpeg build script for minimal binary size output

    13 janvier 2015, par Brian

    I’m trying to build the ffmpeg binaries for android on 3 chipsets. The output file size is too large to include in the project around 15mb.

    https://github.com/falnatsheh/ffmpeg-android is the github project repo

    the .sh build script for ffmpeg is like this

    #!/bin/bash

    . abi_settings.sh $1 $2 $3

    pushd ffmpeg

    case $1 in
     armeabi-v7a | armeabi-v7a-neon)
       CPU='cortex-a8'
     ;;
     x86)
       CPU='i686'
     ;;
    esac

    make clean

    ./configure \
    --target-os="$TARGET_OS" \
    --cross-prefix="$CROSS_PREFIX" \
    --arch="$NDK_ABI" \
    --cpu="$CPU" \
    --enable-runtime-cpudetect \
    --sysroot="$NDK_SYSROOT" \
    --enable-pic \
    --enable-libx264 \
    --enable-pthreads \
    --disable-debug \
    --disable-ffserver \
    --enable-version3 \
    --enable-hardcoded-tables \
    --disable-ffplay \
    --disable-ffprobe \
    --enable-gpl \
    --enable-yasm \
    --disable-doc \
    --disable-shared \
    --enable-static \
    --pkg-config="${2}/ffmpeg-pkg-config" \
    --prefix="${2}/build/${1}" \
    --extra-cflags="-I${TOOLCHAIN_PREFIX}/include $CFLAGS" \
    --extra-ldflags="-L${TOOLCHAIN_PREFIX}/lib $LDFLAGS" \
    --extra-libs="-lm" \
    --extra-cxxflags="$CXX_FLAGS" || exit 1

    make -j${NUMBER_OF_CORES} && make install || exit 1

    popd

    I tried adding —disable-everything as the first line in configure but then the compiler complains that I didnt set a target-os even though its the next line

    In the app I only use ffmpeg to take input mp4 videos and transpose and rotate them
    here are the two commands

    -y -i %s -vf transpose=%d -tune film -metadata:s:v rotate=0 -c:v libx264 -preset ultrafast -crf 27 -c:a copy -bsf:a aac_adtstoasc %s

    where %s is a file path

    and then concat files

    -y -i concat:%s -preset ultrafast -crf 27 -c:v copy -c:a copy -bsf:a aac_adtstoasc %s

    If someone can help me with the build script that would be awesome

  • Capture multiple individual streams ALSA FFMPEG

    3 novembre 2017, par user3170450

    There are similar questions available but I couldn’t understand them properly as per my use case. As I am new to ALSA so I would like to explain my use case first.

    I am opening my application via google chrome and I need to to capture the audio being played in that chrome window. I did it successfully by capturing the speaker sound with following command :

    ffmpeg -f pulse -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -ac 1 -ar 16000 test.wav

    But the real problem is I will be opening multiple windows at the same time and I need to capture each audio stream separately. There is something like Virtual Audio device but I don’t know how to configure and use them for my use case.

    Please guide me in right direction.

    Just for a note my system has only one physical sound card available which I am capturing for one window.

  • How to make media recorder api individual chunks playable by it self

    10 août 2024, par tedGuy

    I'm trying to send individual chunks to the server instead of sending the whole chunks at once. This way, I have Ffmpeg on my Rails server to convert these chunks to HLS and upload them to S3 to stream the video instantly. However, I've encountered an issue the Media Recorder only provides playable chunks for the first segment after that, they are not playable and need to be concatenated to play.

    


    To avoid this, I've taken a different approach where I start a new Media Recorder every 3 seconds so that I get a playable chunk every time. However, this approach has its issues the video glitches a bit due to the delay when I stop and start a new Media Recorder. Is there a way to achieve this with ease ? This is my current status. please help !

    


    const startVideoRecording = async (
    screenStream: MediaStream,
    audioStream: MediaStream
  ) => {
    setStartingRecording(true);

    try {
      const res = await getVideoId();
      videoId.current = res;
    } catch (error) {
      console.log(error);
      return;
    }

    const outputStream = new MediaStream();
    outputStream.addTrack(screenStream.getVideoTracks()[0]);
    outputStream.addTrack(audioStream.getAudioTracks()[0]); // Add audio track

    const mimeTypes = [
      "video/webm;codecs=h264",
      "video/webm;codecs=vp9",
      "video/webm;codecs=vp8",
      "video/webm",
      "video/mp4",
    ];

    let selectedMimeType = "";
    for (const mimeType of mimeTypes) {
      if (MediaRecorder.isTypeSupported(mimeType)) {
        selectedMimeType = mimeType;
        break;
      }
    }

    if (!selectedMimeType) {
      console.error("No supported mime type found");
      return;
    }

    const videoRecorderOptions = {
      mimeType: selectedMimeType,
    };

    let chunkIndex = 0;

    const startNewRecording = () => {
      // Stop the current recorder if it's running
      if (
        videoRecorderRef.current &&
        videoRecorderRef.current.state === "recording"
      ) {
        videoRecorderRef.current.stop();
      }

      // Create a new MediaRecorder instance
      const newVideoRecorder = new MediaRecorder(
        outputStream,
        videoRecorderOptions
      );
      videoRecorderRef.current = newVideoRecorder;

      newVideoRecorder.ondataavailable = async (event) => {
        if (event.data.size > 0) {
          chunkIndex++;
          totalSegments.current++;
          const segmentIndex = totalSegments.current;
          console.log(event.data);
          handleUpload({ segmentIndex, chunk: event.data });
        }
      };

      // Start recording with a 3-second interval
      newVideoRecorder.start();
    };

    // Start the first recording
    startNewRecording();

    // Set up an interval to restart the recording every 3 seconds
    recordingIntervalIdRef.current = setInterval(() => {
      startNewRecording();
    }, 3000);

    setIsRecording(true);
    setStartingRecording(false);
  };