Newest 'ffmpeg' Questions - Stack Overflow

http://stackoverflow.com/questions/tagged/ffmpeg

Les articles publiés sur le site

  • Using FFMPEG and LibAV

    8 septembre 2014, par A2B

    I am trying to implement a software that can read from multiple video and audio sources. The software pipeline works like this: Read from devices -> perform some computations -> write the data. I initially thought of using ffmpeg libraries. At first I want to use libavdevice to read from all of the available devices. However I found it difficult to find proper documentation for the libav*** libraries in ffmpeg package. My questions:

    1. Is there a better suggestion than libav***? In future I also want to create video files from the captured data.
    2. Is there a suitable documentation for libav*** libraries? I haven't seen any on libavdevice over the google.
    3. Is there a way to have polling rather than waiting for frames to be captured? example: a lot of time and threads will be wasted just to read from camera @ 15 FPS. Probably there is a way to poll the camera or mic?

    Thanks you all.

  • FFMPEG overlay issue for 2 videos, sound missing from second input

    7 septembre 2014, par Abhishek Singh

    I'm trying to achive an overlay with ffmpeg wich take the two flv files as input and make a output and both videos playing simultaneously. things are working fine with below ffmpeg command:

    ffmpeg -i input1.flv -vf "[in] scale=359:320, pad=2*iw+6:ih [left]; movie=input2.flv, scale=359:320 [right]; [left][right] overlay=365:0 [out]" -b:v 3600k -y output.flv
    

    But issue is with the sound of second video and that is missing from the output.flv, only input1 sound is available in the output.flv.

    Console output is:

    ffmpeg version N-47062-g26c531c Copyright (c) 2000-2012 the FFmpeg developers
      built on Nov 25 2012 12:23:20 with gcc 4.7.2 (GCC)
      configuration: --disable-static --enable-shared --enable-gpl --enable-version3
     --disable-pthreads --enable-runtime-cpudetect --enable-avisynth --enable-bzlib
    --enable-frei0r --enable-libass --enable-lib`enter code here`opencore-amrnb --enable-libopencore-
    amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libnut -
    -enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger -
    -enable-libspeex --enable-libtheora --enable-libutvideo --enable-libvo-aacenc --
    enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enab
    le-libxavs --enable-libxvid --enable-zlib
      libavutil      52.  9.100 / 52.  9.100
      libavcodec     54. 77.100 / 54. 77.100
      libavformat    54. 37.100 / 54. 37.100
      libavdevice    54.  3.100 / 54.  3.100
      libavfilter     3. 23.102 /  3. 23.102
      libswscale      2.  1.102 /  2.  1.102
      libswresample   0. 17.101 /  0. 17.101
      libpostproc    52.  2.100 / 52.  2.100
    Input #0, flv, from 'input1.flv':
      Metadata:
        canSeekToEnd    : false
        createdby       : FMS 4.0
        creationdate    : Mon Jan 07 07:05:40 2013
        encoder         : Lavf54.37.100
      Duration: 00:03:04.81, start: 0.000000, bitrate: 314 kb/s
        Stream #0:0: Video: flv1, yuv420p, 160x120, 3600 kb/s, 1k tbr, 1k tbn, 1k tb
    c
        Stream #0:1: Audio: mp3, 22050 Hz, mono, s16, 32 kb/s
    Output #0, flv, to 'output.flv':
      Metadata:
        canSeekToEnd    : false
        createdby       : FMS 4.0
        creationdate    : Mon Jan 07 07:05:40 2013
        encoder         : Lavf54.37.100
        Stream #0:0: Video: flv1 ([2][0][0][0] / 0x0002), yuv420p, 724x320, q=2-31,
    3600 kb/s, 1k tbn, 1k tbc
        Stream #0:1: Audio: mp3 ([2][0][0][0] / 0x0002), 22050 Hz, mono, s16p
    Stream mapping:
      Stream #0:0 -> #0:0 (flv -> flv)
      Stream #0:1 -> #0:1 (mp3 -> libmp3lame)
    Press [q] to stop, [?] for help
    frame=  120 fps=0.0 q=4.5 size=     550kB time=00:00:08.57 bitrate= 525.3kbits/s
    frame=  225 fps=221 q=2.0 size=    1422kB time=00:00:18.26 bitrate= 637.6kbits/s
    Buffer queue overflow, dropping.
    [Parsed_overlay_4 @ 02259ae0] Buffer queue overflow, dropping.
        Last message repeated 1 times
    frame=  338 fps=222 q=2.0 size=    2414kB time=00:00:26.97 bitrate= 733.0kbits/s
    Buffer queue overflow, dropping.
    [Parsed_overlay_4 @ 02259ae0] Buffer queue overflow, dropping.
        Last message repeated 12 times
    frame=  452 fps=223 q=2.0 size=    3326kB time=00:00:35.38 bitrate= 770.1kbits/s
    frame=  562 fps=223 q=2.0 size=    4246kB time=00:00:43.15 bitrate= 806.0kbits/s
    Buffer queue overflow, dropping.
    [Parsed_overlay_4 @ 02259ae0] Buffer queue overflow, dropping.
        Last message repeated 11 times
    frame=  669 fps=221 q=2.0 size=    5237kB time=00:00:51.28 bitrate= 836.6kbits/s
    frame=  777 fps=220 q=2.0 size=    6105kB time=00:00:58.75 bitrate= 851.2kbits/s
    frame=  893 fps=222 q=2.0 size=    6897kB time=00:01:06.72 bitrate= 846.8kbits/s
    frame= 1006 fps=222 q=2.0 size=    7701kB time=00:01:14.60 bitrate= 845.6kbits/s
    frame= 1121 fps=223 q=2.0 size=    8539kB time=00:01:22.45 bitrate= 848.3kbits/s
    frame= 1235 fps=223 q=2.0 size=    9316kB time=00:01:30.39 bitrate= 844.3kbits/s
    frame= 1344 fps=223 q=2.0 size=   10135kB time=00:01:37.98 bitrate= 847.3kbits/s
    Buffer queue overflow, dropping.
    [Parsed_overlay_4 @ 02259ae0] Buffer queue overflow, dropping.
        Last message repeated 33 times
    frame= 1437 fps=220 q=2.0 size=   10800kB time=00:01:46.67 bitrate= 829.3kbits/s
    frame= 1540 fps=219 q=2.0 size=   11577kB time=00:01:54.16 bitrate= 830.7kbits/s
    frame= 1651 fps=219 q=2.0 size=   12330kB time=00:02:01.64 bitrate= 830.3kbits/s
    frame= 1756 fps=218 q=2.0 size=   13141kB time=00:02:09.06 bitrate= 834.1kbits/s
    frame= 1859 fps=217 q=2.0 size=   13879kB time=00:02:16.28 bitrate= 834.3kbits/s
    frame= 1962 fps=217 q=2.0 size=   14703kB time=00:02:23.69 bitrate= 838.2kbits/s
    frame= 2070 fps=217 q=2.0 size=   15448kB time=00:02:30.98 bitrate= 838.2kbits/s
    frame= 2176 fps=216 q=2.0 size=   16241kB time=00:02:38.46 bitrate= 839.6kbits/s
    Buffer queue overflow, dropping.
    [Parsed_overlay_4 @ 02259ae0] Buffer queue overflow, dropping.
        Last message repeated 20 times
    frame= 2275 fps=215 q=2.0 size=   16990kB time=00:02:46.78 bitrate= 834.5kbits/s
    frame= 2389 fps=216 q=1.6 size=   17784kB time=00:02:54.44 bitrate= 835.1kbits/s
    frame= 2493 fps=216 q=2.0 size=   18555kB time=00:03:01.73 bitrate= 836.4kbits/s
    frame= 2534 fps=216 q=2.0 Lsize=   18945kB time=00:03:04.81 bitrate= 839.7kbits/
    s
    video:18227kB audio:588kB subtitle:0 global headers:0kB muxing overhead 0.691204
    %
    

    i think -map is filter that is for the audio handling of both video.see this link.

    Superimposing two videos onto a static image?

    Thanks in Advance.

  • use ffmpeg to decode mp3 file, avcodec_decode_audio4 to decode packet, but got different data evey time

    7 septembre 2014, par Vinci

    I am trying to analyze pcm data which already decoded by ffmpeg lib(on iOS platform). I use the avcodec_decode_audio4 function to decode same packet I got many time,(by use av_read_frame function), but i found the final data in avframe is different every time. Is that normal state for ffmpeg decodeing? If I use code audio framework I can get precisely same pcm data.

  • On upload rename the file to input.mp4 not working

    7 septembre 2014, par T.A.R.D.I.S_wolf

    Ok so i'm trying to make it to were the file is uploaded then renamed to input.mp4 so that it over rights the old one. But its not working?

    But it still keeps uploading with the original file name. Or is there a way to just delete the files in the folder uploads after 30 min? Both the uploaded file and output file.

    <?php
    $fileName = $_FILES["file1"]["name"]; // The file name
    $fileTmpLoc = $_FILES["file1"]["tmp_name"]; // File in the PHP tmp folder
    $fileType = $_FILES["file1"]["type"]; // The type of file it is
    $fileSize = $_FILES["file1"]["size"]; // File size in bytes
    $fileErrorMsg = $_FILES["file1"]["error"]; // 0 for false... and 1 for true
    if (!$fileTmpLoc) { // if file not chosen
        echo "ERROR: Please browse for a file before clicking the upload button.";
        exit();
    }
    
        $newfilename = $fileName . input.mp4';
        rename($fileName, $newfilename);
    
    if(move_uploaded_file($fileTmpLoc, "uploads/$newfilename")){
    
      echo "Starting ffmpeg... 
    "; echo shell_exec("ffmpeg -y -i uploads/".$newfilename." uploads/output.mp3"); echo "Done.

    "; echo 'Click Here To open your file in a new tab.'; } else { echo "move_uploaded_file function failed"; } ?>
  • error while building handbrake cli on centos 6 (64)

    7 septembre 2014, par Masteryo

    I need to install handbrake cli on CentOS 6 (64) and found this guide for CentOS6 http://www.dandev.com/2013/10/install-handbrake-cli-v0-9-9-centos-6-4/. Unfortunatly, it would not build. The build log file reports these two failuers:

    CODE: SELECT ALL
    find: xcodebuild...(fail) not found
    find: lipo...(fail) not found
    ...
    -------------------------------------------------------------------------------
    time end: Sun Sep  1 07:04:08 2013
    duration: 8 seconds (8.49s)
    result: FAILURE (code 2)
    -------------------------------------------------------------------------------
    Build is finished!
    You may now cd into ./build and examine the output.
    

    These are not available to "#yum" or "#yum search" as xcodebuild or lipo. Any suggestions?