Newest 'ffmpeg' Questions - Stack Overflow

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

Les articles publiés sur le site

  • ffmpeg Transcoding Stops After Few Seconds [migrated]

    15 avril 2018, par Salem F

    I'm trying to do this over week now with no success, What's I'm trying to do is transcoding video from live streaming source and downscale it with FFmpeg, but every time I start transcoding it broadcasting for ~11 sec and stop.

    The last command I tried:

    ffmpeg  -re  -i 'http://source.com/1034.ts' -preset ultrafast http://localhost:2052/feed1.ffm
    

    I tried to download the .ts file with IDM and it finish downloading the file on the exact ~12 Sec that FFmpeg stop trans coding on it.

    Does that means that FFmpeg download that file as one segment and not continued reading the source video As what video players does usually. By the way, I tried with source with VLC player and it didn't stop playing the the same source video.

    I decided to pass FFmpeg command via FFserver config file ffserver.conf

    Launch ffmpeg -i 'http://source.com/1.ts' -copyinkf -codec copy   
    

    The stream works fine for a while but after testing couple sources I notice it's struggle to trans-coding HD videos.

    I guess the issue with my VPS KVM server being very limited CPU and RAM ( 128MB only)! Since I tried using ultrafast preset but din't solve the issue, another thing, I notice when I enable AVOptionVideo crf setting on ffserver.conf trans-coding runs bit smoothly without frame-rate dropping. Las my server uses Xeon L5520 CPU which is outdated CPU specially I gout 1/4 power of V single core (if they count HT it will be 1/8 of the real core): (

    # vlc -I dummy 'https://source.com/1034.ts' --sout '#standard{access=http,mux=flv,dst=localhost:2052}'
    VLC media player 2.2.8 Weatherwax (revision 2.2.7-14-g3cc1d8cba9)
    [09d3fdf0] pulse audio output error: PulseAudio server connection failure: Connection refused
    [09d279c0] core interface error: no suitable interface module
    [09c9b8f8] core libvlc error: interface "globalhotkeys,none" initialization failed
    [09d279c0] dbus interface error: Failed to connect to the D-Bus session daemon: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
    [09d279c0] core interface error: no suitable interface module
    [09c9b8f8] core libvlc error: interface "dbus,none" initialization failed
    [09d279c0] dummy interface: using the dummy interface module...
    [b5e04ae0] access_output_http access out: Consider passing --http-host=IP on the command line instead.
    [b5e38ab8] ts demux: MPEG-4 descriptor not found for pid 0x101 type 0xf
    [b5e90ae0] packetizer_mpeg4audio decoder: AAC channels: 2 samplerate: 48000
    [flv @ 0xb5e33b40] dimensions not set
    [b5e06360] avformat mux error: could not write header: Invalid argument
    [b5e88ef0] core decoder error: cannot continue streaming due to errors
    [b5e90ae0] core decoder error: cannot continue streaming due to errors
    

    Here output with -loglevel verbose

    :~# ffmpeg -i http://source.com/1.ts -copyinkf -codec copy  -loglevel verbose  http://127.0.0.1:8090/feed1.ffm
    ffmpeg version 2.6.9 Copyright (c) 2000-2016 the FFmpeg developers
      built with gcc 4.9.2 (Debian 4.9.2-10)
      configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/i386-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libiec61883 --enable-vaapi --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/i386-linux-gnu
      libavutil      54. 20.100 / 54. 20.100
      libavcodec     56. 26.100 / 56. 26.100
      libavformat    56. 25.101 / 56. 25.101
      libavdevice    56.  4.100 / 56.  4.100
      libavfilter     5. 11.102 /  5. 11.102
      libavresample   2.  1.  0 /  2.  1.  0
      libswscale      3.  1.101 /  3.  1.101
      libswresample   1.  1.100 /  1.  1.100
      libpostproc    53.  3.100 / 53.  3.100
    Invalid UE golomb code
        Last message repeated 2 times
    Input #0, mpegts, from 'http://source.com/1.ts':
      Duration: N/A, start: 30472.768167, bitrate: N/A
      Program 1
        Metadata:
          service_name    : Service01
          service_provider: FFmpeg
        Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 960x540 (960x544) [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 100 tbc
        Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 105 kb/s
    [graph 0 input from stream 0:1 @ 0x971f2c0] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x3
    [audio format for output stream 0:0 @ 0x9844de0] auto-inserting filter 'auto-inserted resampler 0' between the filter 'Parsed_anull_0' and the filter 'audio format for output stream 0:0'
    [auto-inserted resampler 0 @ 0x97115e0] ch:2 chl:stereo fmt:fltp r:48000Hz -> ch:1 chl:mono fmt:fltp r:22050Hz
    [graph 1 input from stream 0:0 @ 0x96f5d00] w:960 h:540 pixfmt:yuv420p tb:1/90000 fr:50/1 sar:1/1 sws_param:flags=2
    [scaler for output stream 0:1 @ 0x96f5e80] w:352 h:240 flags:'0x4' interl:0
    [scaler for output stream 0:1 @ 0x96f5e80] w:960 h:540 fmt:yuv420p sar:1/1 -> w:352 h:240 fmt:yuv420p sar:40/33 flags:0x4
    Output #0, ffm, to 'http://127.0.0.1:8090/feed1.ffm':
      Metadata:
        creation_time   : now
        encoder         : Lavf56.25.101
        Stream #0:0: Audio: wmav2, 22050 Hz, mono, fltp, 64 kb/s
        Metadata:
          encoder         : Lavc56.26.100 wmav2
        Stream #0:1: Video: msmpeg4v3 (msmpeg4), yuv420p, 352x240 [SAR 40:33 DAR 16:9], q=2-31, 256 kb/s, 50 fps, 1000k tbn, 15 tbc
        Metadata:
          encoder         : Lavc56.26.100 msmpeg4
    Stream mapping:
      Stream #0:1 -> #0:0 (aac (native) -> wmav2 (native))
      Stream #0:0 -> #0:1 (h264 (native) -> msmpeg4v3 (msmpeg4))
    Press [q] to stop, [?] for help
    Invalid UE golomb code
    *** dropping frame 3 from stream 1 at ts 1
        Last message repeated 1 times
    [msmpeg4 @ 0x970f060] warning, clipping 1 dct coefficients to -127..127
    *** dropping frame 4 from stream 1 at ts 2
        Last message repeated 1 times
    *** dropping frame 5 from stream 1 at ts 3
        Last message repeated 1 times
    *** dropping frame 5 from stream 1 at ts 4
    *** dropping frame 6 from stream 1 at ts 4
        Last message repeated 1 times
    *** dropping frame 7 from stream 1 at ts 5
        Last message repeated 1 times
    [msmpeg4 @ 0x970f060] warning, clipping 1 dct coefficients to -127..127
    *** dropping frame 8 from stream 1 at ts 6
        Last message repeated 1 times
    *** dropping frame 8 from stream 1 at ts 7
    *** dropping frame 9 from stream 1 at ts 7
        Last message repeated 1 times
    *** dropping frame 10 from stream 1 at ts 8
        Last message repeated 1 times
    *** dropping frame 11 from stream 1 at ts 9
        Last message repeated 1 times
    *** dropping frame 11 from stream 1 at ts 10
    *** dropping frame 12 from stream 1 at ts 10
        Last message repeated 1 times
    *** dropping frame 13 from stream 1 at ts 11
        Last message repeated 1 times
    *** dropping frame 14 from stream 1 at ts 12
        Last message repeated 1 times
    *** dropping frame 14 from stream 1 at ts 13
    *** dropping frame 15 from stream 1 at ts 13
        Last message repeated 1 times
    *** dropping frame 16 from stream 1 at ts 14
        Last message repeated 1 times
    *** dropping frame 17 from stream 1 at ts 15
        Last message repeated 1 times
    *** dropping frame 17 from stream 1 at ts 16
    *** dropping frame 18 from stream 1 at ts 16
        Last message repeated 1 times
    *** dropping frame 19 from stream 1 at ts 17
        Last message repeated 1 times
    *** dropping frame 20 from stream 1 at ts 18me=00:00:01.33 bitrate= 270.3kbits/s dup=0 drop=39
        Last message repeated 1 times
    *** dropping frame 20 from stream 1 at ts 19
    *** dropping frame 21 from stream 1 at ts 19
        Last message repeated 1 times
    *** dropping frame 22 from stream 1 at ts 20
        Last message repeated 1 times
    *** dropping frame 23 from stream 1 at ts 21
        Last message repeated 1 times
    *** dropping frame 23 from stream 1 at ts 22
    *** dropping frame 24 from stream 1 at ts 22
        Last message repeated 1 times
    *** dropping frame 25 from stream 1 at ts 23
        Last message repeated 1 times
    *** dropping frame 26 from stream 1 at ts 24
        Last message repeated 1 times
    *** dropping frame 26 from stream 1 at ts 25
    *** dropping frame 27 from stream 1 at ts 25
        Last message repeated 1 times
    *** dropping frame 28 from stream 1 at ts 26
        Last message repeated 1 times
    *** dropping frame 29 from stream 1 at ts 27
        Last message repeated 1 times
    *** dropping frame 29 from stream 1 at ts 28
    *** dropping frame 30 from stream 1 at ts 28
        Last message repeated 1 times
    *** dropping frame 31 from stream 1 at ts 29
        Last message repeated 1 times
    *** dropping frame 32 from stream 1 at ts 30
        Last message repeated 1 times
    *** dropping frame 32 from stream 1 at ts 31
    *** dropping frame 33 from stream 1 at ts 31
        Last message repeated 1 times
    *** dropping frame 34 from stream 1 at ts 32
        Last message repeated 1 times
    *** dropping frame 34 from stream 1 at ts 33
    *** dropping frame 35 from stream 1 at ts 33
    *** dropping frame 35 from stream 1 at ts 34
    *** dropping frame 36 from stream 1 at ts 34
        Last message repeated 1 times
    *** dropping frame 37 from stream 1 at ts 35
        Last message repeated 1 times
    Invalid UE golomb code
    *** dropping frame 38 from stream 1 at ts 36
        Last message repeated 1 times
    *** dropping frame 38 from stream 1 at ts 37
    *** dropping frame 39 from stream 1 at ts 37
        Last message repeated 1 times
    *** dropping frame 40 from stream 1 at ts 38
        Last message repeated 1 times
    *** dropping frame 41 from stream 1 at ts 39me=00:00:02.73 bitrate= 311.7kbits/s dup=0 drop=88
        Last message repeated 1 times
    *** dropping frame 41 from stream 1 at ts 40
    *** dropping frame 42 from stream 1 at ts 40
        Last message repeated 1 times
    *** dropping frame 43 from stream 1 at ts 41
        Last message repeated 1 times
    *** dropping frame 44 from stream 1 at ts 42
        Last message repeated 1 times
    *** dropping frame 44 from stream 1 at ts 43
    *** dropping frame 45 from stream 1 at ts 43
        Last message repeated 1 times
    *** dropping frame 46 from stream 1 at ts 44
        Last message repeated 1 times
    *** dropping frame 47 from stream 1 at ts 45
        Last message repeated 1 times
    *** dropping frame 47 from stream 1 at ts 46
    *** dropping frame 48 from stream 1 at ts 46
        Last message repeated 1 times
    *** dropping frame 49 from stream 1 at ts 47
        Last message repeated 1 times
    *** dropping frame 50 from stream 1 at ts 48
        Last message repeated 1 times
    *** dropping frame 50 from stream 1 at ts 49
    *** dropping frame 51 from stream 1 at ts 49
        Last message repeated 1 times
    *** dropping frame 52 from stream 1 at ts 50
        Last message repeated 1 times
    *** dropping frame 53 from stream 1 at ts 51
        Last message repeated 1 times
    [h264 @ 0x9844a00] error while decoding MB 58 12, bytestream -5
    [h264 @ 0x9844a00] concealing 1311 DC, 1311 AC, 1311 MV errors in B frame
    *** dropping frame 53 from stream 1 at ts 52
    No more output streams to write to, finishing.
    frame=   55 fps= 42 q=4.3 Lsize=     152kB time=00:00:03.66 bitrate= 339.6kbits/s dup=0 drop=119
    video:116kB audio:26kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 6.760316%
    Input file #0 (http://source.com/1.ts):
      Input stream #0:0 (video): 174 packets read (220322 bytes); 174 frames decoded;
      Input stream #0:1 (audio): 156 packets read (36657 bytes); 156 frames decoded (159744 samples);
      Total: 330 packets (256979 bytes) demuxed
    Output file #0 (http://127.0.0.1:8090/feed1.ffm):
      Output stream #0:0 (audio): 72 frames encoded (73383 samples); 72 packets muxed (26712 bytes);
      Output stream #0:1 (video): 55 frames encoded; 55 packets muxed (119080 bytes);
      Total: 127 packets (145792 bytes) muxed
    

    Here input URL file info After I download it to my PC with IDM

    General
    ID                             : 1 (0x1)
    Complete name                  : D:\1.ts
    Format                         : MPEG-TS
    File size                      : 256 KiB
    Duration                       : 2 s 520 ms
    Overall bit rate mode          : Variable
    Overall bit rate               : 788 kb/s
    
    Video
    ID                             : 256 (0x100)
    Menu ID                        : 1 (0x1)
    Format                         : AVC
    Format/Info                    : Advanced Video Codec
    Format profile                 : High@L3.1
    Format settings, CABAC         : Yes
    Format settings, RefFrames     : 2 frames
    Codec ID                       : 27
    Duration                       : 2 s 680 ms
    Width                          : 960 pixels
    Height                         : 540 pixels
    Display aspect ratio           : 16:9
    Frame rate                     : 50.000 FPS
    Color space                    : YUV
    Chroma subsampling             : 4:2:0
    Bit depth                      : 8 bits
    Scan type                      : Progressive
    
    Audio
    ID                             : 257 (0x101)
    Menu ID                        : 1 (0x1)
    Format                         : AAC
    Format/Info                    : Advanced Audio Codec
    Format version                 : Version 4
    Format profile                 : LC
    Muxing mode                    : ADTS
    Codec ID                       : 15
    Duration                       : 2 s 69 ms
    Bit rate mode                  : Variable
    Channel(s)                     : 2 channels
    Channel positions              : Front: L R
    Sampling rate                  : 48.0 kHz
    Frame rate                     : 46.875 FPS (1024 SPF)
    Compression mode               : Lossy
    Delay relative to video        : -12 ms
    
    Menu
    ID                             : 4096 (0x1000)
    Menu ID                        : 1 (0x1)
    Duration                       : 2 s 520 ms
    List                           : 256 (0x100) (AVC) / 257 (0x101) (AAC)
    Service name                   : Service01
    Service provider               : FFmpeg
    Service type                   : digital television
    
  • Build ffmpeg static library on Mac

    15 avril 2018, par CoXier

    From guide, I can successfully compile ffmpeg on Mac. After compiling, I get a binary file ffmpeg which can be executed.

    Now I have to build ffmpeg project to a static library so that I can compile it with others c source file to a so or dylib file.

    From source code, I find ffmpeg.c and ffmpeg.h in FFmpeg/fftools/ directory and there is also a Makefile file. And its content is :

    AVPROGS-$(CONFIG_FFMPEG)   += ffmpeg
    AVPROGS-$(CONFIG_FFPLAY)   += ffplay
    AVPROGS-$(CONFIG_FFPROBE)  += ffprobe
    
    AVPROGS     := $(AVPROGS-yes:%=%$(PROGSSUF)$(EXESUF))
    PROGS       += $(AVPROGS)
    
    AVBASENAMES  = ffmpeg ffplay ffprobe
    ALLAVPROGS   = $(AVBASENAMES:%=%$(PROGSSUF)$(EXESUF))
    ALLAVPROGS_G = $(AVBASENAMES:%=%$(PROGSSUF)_g$(EXESUF))
    
    OBJS-ffmpeg                        += fftools/ffmpeg_opt.o fftools/ffmpeg_filter.o fftools/ffmpeg_hw.o
    OBJS-ffmpeg-$(CONFIG_CUVID)        += fftools/ffmpeg_cuvid.o
    OBJS-ffmpeg-$(CONFIG_LIBMFX)       += fftools/ffmpeg_qsv.o
    ifndef CONFIG_VIDEOTOOLBOX
    OBJS-ffmpeg-$(CONFIG_VDA)          += fftools/ffmpeg_videotoolbox.o
    endif
    OBJS-ffmpeg-$(CONFIG_VIDEOTOOLBOX) += fftools/ffmpeg_videotoolbox.o
    
    define DOFFTOOL
    OBJS-$(1) += fftools/cmdutils.o fftools/$(1).o $(OBJS-$(1)-yes)
    $(1)$(PROGSSUF)_g$(EXESUF): $$(OBJS-$(1))
    $$(OBJS-$(1)): | fftools
    $$(OBJS-$(1)): CFLAGS  += $(CFLAGS-$(1))
    $(1)$(PROGSSUF)_g$(EXESUF): LDFLAGS += $(LDFLAGS-$(1))
    $(1)$(PROGSSUF)_g$(EXESUF): FF_EXTRALIBS += $(EXTRALIBS-$(1))
    -include $$(OBJS-$(1):.o=.d)
    endef
    
    $(foreach P,$(AVPROGS-yes),$(eval $(call DOFFTOOL,$(P))))
    
    all: $(AVPROGS)
    
    fftools/ffprobe.o fftools/cmdutils.o: libavutil/ffversion.h | fftools
    OBJDIRS += fftools
    
    ifdef AVPROGS
    install: install-progs install-data
    endif
    
    install-progs-yes:
    install-progs-$(CONFIG_SHARED): install-libs
    
    install-progs: install-progs-yes $(AVPROGS)
        $(Q)mkdir -p "$(BINDIR)"
        $(INSTALL) -c -m 755 $(AVPROGS) "$(BINDIR)"
    
    uninstall: uninstall-progs
    
    uninstall-progs:
        $(RM) $(addprefix "$(BINDIR)/", $(ALLAVPROGS))
    
    clean::
        $(RM) $(ALLAVPROGS) $(ALLAVPROGS_G) $(CLEANSUFFIXES:%=fftools/%)
    

    Now I want to compile ffmpeg to a static library. But I am new to Makefile and it seems very hard. Can anyone help me ?

    EDIT

    I want ffmpeg.a file instead of ffmpeg binary file.

  • FFMpegm. Unable to get video stream from a onvif camera

    15 avril 2018, par Denis Gottardello

    I have implemented ffmpeg in my own application to watch live video from video cameras. I have tested my application with 2 models of onvif camera and the application works perfectly. The customer has got another model of video cameram still onvif h264 but I can't watch the live stream. I can wath it using vlc but when I try to watch it with my application I obtain the following error:

    Input #0, rtsp, from 'rtsp://admin:admin@172.30.153.33:554/1':
      Metadata:
        title           : h264.mp4
      Duration: N/A, bitrate: 64 kb/s
        Stream #0:0: Video: h264, none, 90k tbr, 90k tbn, 180k tbc
        Stream #0:1: Audio: pcm_mulaw, 8000 Hz, 1 channels, s16, 64 kb/s
    [rtsp @ 0x7f86b8004e00] UDP timeout, retrying with TCP
    [rtsp @ 0x7f86b8004e00] method PAUSE failed: 455 Method Not Valid In This State
    [rtsp @ 0x7f86b8005000] Could not find codec parameters for stream 0 (Video: h264, none): unspecified size
    Consider increasing the value for the 'analyzeduration' and 'probesize' options
    

    I have already tried to modify analyzeduration and probesize without any good result.

    How to resolve this error? Could it be caused by a not up-to-date h264 library?

  • HLS to MPEG DASH

    15 avril 2018, par Maximilian

    Im currently working on a platform that relies on MPEG Dash to deliver audio and video to the browser. For onDemand im using ffmpeg to encode videos to h264/aac and MP4Box to create the manifest.mpd file. Now im trying to figure out how to create live MPEG Dash streams, more specifically encode hls live streams to MPEG Dash.

    1. Do i need to reencode all the .ts segments to .mp4(h264/aac) segments, since chrome doesnt support mpeg2ts?
    2. If so, how do i continuously reencode all the segments (different resolution, different bitrates)
    3. How do i create a dynamic manifest with MP4Box / how would the input parameter look like
  • FFMPEG convert live streaming m3u8 for mpeg-dash

    15 avril 2018, par Thiago Adriano

    How Can I create a gateway from live streaming m3u8 example http://srv6.zoeweb.tv:1935/z330-live/stream/playlist.m3u8 for mpeg-dash with FFMPEG for a player in player hhml5?