Newest 'ffmpeg' Questions - Stack Overflow

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

Les articles publiés sur le site

  • ffmpeg co-located POCs unavailable

    17 juin 2016, par Naz NazD Derbigny

    I'm having trouble trying to figure out how to stop this bug.

    When it reaches 00:37:04,the time, it displays co-located POCs unavailable and I don't know how to get rid of it. The quality for that specific second looks like it is pixelated. I am new to this kind of thing and I was wondering if you guys can help me out.

    Here is everything that happens when it reaches it.

        Past duration 0.999992 too large
    [Parsed_subtitles_0 @ 0000000002886860] fontselect: (Open Sans Semibold, 700, 100) -> OpenSans-Semibold, 0, OpenSans-Semibold
    [Parsed_subtitles_0 @ 0000000002886860] fontselect: (Open Sans Semibold, 700, 0) -> OpenSans-Semibold, 0, OpenSans-Semibold
    [h264 @ 0000000002599e80] co located POCs unavailable:03.63 bitrate=1003.2kbits/s dup=0 drop=369 speed=2.73x
    Past duration 0.619041 too large  272502kB time=00:37:05.51 bitrate=1003.1kbits/s dup=0 drop=370 speed=2.73x
        Last message repeated 2 times
    Past duration 0.642845 too large
        Last message repeated 2 times
    Past duration 0.666664 too large
        Last message repeated 3 times
    Past duration 0.690468 too large
        Last message repeated 2 times
    
  • How save an audio buffer with Fluent FFmpeg

    17 juin 2016, par Luke

    I have a Buffer object that contains audio data and I'm wondering if I can save this Buffer through Fluent FFmpeg without writing it to a file temporary first.

    I came across this other question: fluent-ffmpeg module: "end" event does not fire

    Which seems to do what I need but with video, however, this technique doesn't seem to work for me. I get the following error:

    ffmpeg write error 'Input stream error: not implemented'
    

    How can I pipe a Buffer directly to Fluent FFmpeg without writing it to a temporary file first?

  • FFmpeg Hardware Acceleration with NVENC produces Half Green output video

    17 juin 2016, par Dan Sandland

    Using the FFmpeg build found here: https://github.com/illuspas/ffmpeg-hw-win32

    gcc 5.3.0
    --enable-nvenc nvidia_video_sdk_6.0.1
    --enable-libmfx Intel(R)_Media_SDK_2016.0.1
    --enable-libfdk-aac 0.1.4
    --enable-libspeex 1.2rc1
    --enable-libx264 1:148.20150725
    --enable-libopenh264 1.5.0
    --enable-libx265 1.8
    --enable-libopus 1.1.2
    --enable-libmp3lame 3.99.5
    --enable-libkvazaar 0.8.2
    

    ./configure --prefix=/home/aliang/FFmpeg/x86_64 --enable-small --disable-debug --disable-doc --arch=x86_64 --cc='ccache x86_64-w64-mingw32-gcc' --cross-prefix=x86_64-w64-mingw32- --enable-cross-compile --target-os=mingw32 --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libspeex --enable-libx264 --enable-libx265 --enable-libmfx --enable-nvenc --enable-libopenh264 --enable-libkvazaar --enable-gpl --enable-nonfree

    I'm running Windows on a MacBook Pro. I also tried with a more recent build and had the same output.

    Input video is from sample-videos.com.

    The ffmpeg command I am running is:

    ffmpeg -y -i sample.mp4 -vcodec nvenc_h264 -pixel_format yuv420p -f mp4 sample-out-nvenc.mp4
    

    sample-out-nvenc.mp4 looks like this via ffplay or vlc:

    enter image description here

    When I grab a frame using jpeg2, the colors appear normal, but the height is squished.

    ffmpeg -y -ss 15.5 -i sample.mp4 -vframes 1 -s 480x300 -f image2 grab.jpg
    

    enter image description here

    The ffprobe results for the output (sample-out-nvenc.mp4):

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'sample-out-nvenc.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf57.25.100
      Duration: 00:00:31.02, start: 0.021333, bitrate: 1994 kb/s
        Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p(tv), 640x480 [SAR 1:1 DAR 4:3], 1650 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 342 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    

    Lastly the output from the nvenc encoding command:

    ffmpeg -y -i sample.mp4 -vcodec nvenc_h264 -pixel_format yuv420p -f mp4 sample-out-nvenc.mp4
    ffmpeg version 3.0 Copyright (c) 2000-2016 the FFmpeg developers
      built with gcc 5.3.0 (GCC)
      configuration: --prefix=/home/aliang/FFmpeg/x86_64 --enable-small --disable-debug --disable-doc --arch=x86_64 --cc='ccache x86_64-w64-mingw32-gcc' --cross-prefix=x86_64-w64-mingw32- --enable-cross-compile --target-os=mingw32 --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libspeex --enable-libx264 --enable-libx265 --enable-libmfx --enable-nvenc --enable-libopenh264 --enable-libkvazaar --enable-gpl --enable-nonfree
      libavutil      55. 17.103 / 55. 17.103
      libavcodec     57. 24.102 / 57. 24.102
      libavformat    57. 25.100 / 57. 25.100
      libavdevice    57.  0.101 / 57.  0.101
      libavfilter     6. 31.100 /  6. 31.100
      libswscale      4.  0.100 /  4.  0.100
      libswresample   2.  0.101 /  2.  0.101
      libpostproc    54.  0.100 / 54.  0.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'sample.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        creation_time   : 1970-01-01 00:00:00
        encoder         : Lavf53.24.2
      Duration: 00:00:31.00, start: 0.000000, bitrate: 1353 kb/s
        Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 966 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
        Metadata:
          creation_time   : 1970-01-01 00:00:00
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 383 kb/s (default)
        Metadata:
          creation_time   : 1970-01-01 00:00:00
          handler_name    : SoundHandler
    Output #0, mp4, to 'sample-out-nvenc.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf57.25.100
        Stream #0:0(und): Video: h264 (nvenc_h264) ([33][0][0][0] / 0x0021), yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 2000 kb/s, 25 fps, 12800 tbn, 25 tbc (default)
        Metadata:
          creation_time   : 1970-01-01 00:00:00
          handler_name    : VideoHandler
          encoder         : Lavc57.24.102 nvenc_h264
        Side data:
          unknown side data type 10 (24 bytes)
        Stream #0:1(und): Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, 5.1, fltp, 341 kb/s (default)
        Metadata:
          creation_time   : 1970-01-01 00:00:00
          handler_name    : SoundHandler
          encoder         : Lavc57.24.102 aac
    Stream mapping:
      Stream #0:0 -> #0:0 (h264 (native) -> h264 (nvenc_h264))
      Stream #0:1 -> #0:1 (aac (native) -> aac (native))
    Press [q] to stop, [?] for help
    frame=  774 fps=253 q=-0.0 Lsize=    7551kB time=00:00:30.99 bitrate=1995.6kbits/s speed=10.1x
    video:6236kB audio:1297kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.243011%
    [aac @ 000001cdd9900520] Qavg: 743.457
    
  • Use Ffmpeg on android with linux commands

    17 juin 2016, par soheila

    I'm new programmer for android. I want to use ffmpeg with android.

    But my question is can I use ffpmeg on android programming with Linux commands? for example use this ffmpeg code :

    ffmpeg -framerate 1/5 -i img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
    

    on android programming??

  • libx265 motion compensation and CU traverse

    17 juin 2016, par Ariana

    I'm trying to play with the H.265 motion compensation and search (HEVC- libx265 implementation from here: https://bitbucket.org/multicoreware/x265/downloads). I need to slightly extend the edge extension search, and fill the macro block with left-most pixels as if my sample videos are like cylinder (rightmost is connected to leftmost).

    What I need to do is basically this:

    enter image description here

    One way to do that is to modify the edge extension area (which is already in the code, in the frameFilter.cpp), and do that for rightmost and fill parts of blocks which are out with leftmost pixels. I identified the piece of code here which apparently is responsible for that. Can someone help me with implementing this feature?

    if ((col == 0) | (col == m_frameFilter->m_numCols - 1))
        {
            // TODO: improve by process on Left or Right only
            primitives.extendRowBorder(reconPic->getLumaAddr(m_rowAddr), stride, reconPic->m_picWidth, realH, reconPic->m_lumaMarginX);
    
            if (m_frameFilter->m_param->internalCsp != X265_CSP_I400)
            {
                primitives.extendRowBorder(reconPic->getCbAddr(m_rowAddr), strideC, reconPic->m_picWidth >> hChromaShift, realH >> vChromaShift, reconPic->m_chromaMarginX);
                primitives.extendRowBorder(reconPic->getCrAddr(m_rowAddr), strideC, reconPic->m_picWidth >> hChromaShift, realH >> vChromaShift, reconPic->m_chromaMarginX);
            }
        }
    
        // Extra Left and Right border on first and last CU
        if ((col == 0) | (col == m_frameFilter->m_numCols - 1))
        {
            copySizeY += lumaMarginX;
            copySizeC += chromaMarginX;
        }
    
        // First column need extension left padding area and first CU
        if (col == 0)
        {
            pixY -= lumaMarginX;
            pixU -= chromaMarginX;
            pixV -= chromaMarginX;
        }