Newest 'ffmpeg' Questions - Stack Overflow
Les articles publiés sur le site
-
ffmpeg Transcoding Stops After Few Seconds [migrated]
15 avril 2018, par Salem FI'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 enableAVOptionVideo crf
setting onffserver.conf
trans-coding runs bit smoothly without frame-rate dropping. Las my server usesXeon 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 CoXierFrom 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
ordylib
file.From source code, I find
ffmpeg.c
andffmpeg.h
inFFmpeg/fftools/
directory and there is also aMakefile
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 toMakefile
and it seems very hard. Can anyone help me ?EDIT
I want
ffmpeg.a
file instead offfmpeg
binary file. -
FFMpegm. Unable to get video stream from a onvif camera
15 avril 2018, par Denis GottardelloI 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 MaximilianIm 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.
- Do i need to reencode all the .ts segments to .mp4(h264/aac) segments, since chrome doesnt support mpeg2ts?
- If so, how do i continuously reencode all the segments (different resolution, different bitrates)
- 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 AdrianoHow 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?