On Fri, July 11, 2014 9:33 pm, Patrick Shirkey wrote: > > On Fri, July 11, 2014 8:37 pm, Carl Eugen Hoyos wrote: >> Patrick Shirkey <pshirkey <at> boosthardware.com> writes: >> >>> On Fri, July 11, 2014 4:55 pm, Carl Eugen Hoyos wrote: >>> > Patrick Shirkey <pshirkey <at> boosthardware.com> writes: >>> > >>> >> ffmpeg -f rawvideo -i /dev/graphics/fb0 >>> > >>> > This looks plain wrong. >> >>> The commandline works if I do not use libx264 for >>> the stream codec. >> >> http://ffmpeg.org/ffmpeg-devices.html#fbdev >> indicates that ffmpeg -f fbdev -i /dev/graphics/fb0 >> should be used but I unfortunately cannot test here. >> >> Concerning that x264 doesn't work at all, please test: >> $ ffmpeg -f lavfi -i testsrc -pix_fmt yuv420p out.mov >> If this doesn't work, we have to find out why. >> >> If it works, please replace "-f lavfi -i testsrc" with >> the framebuffer input. >>
I have been able to get a working commandline with libx264 encodiing. On a dual core allwinner a20 chipset with mali GPU I see about between 5 - 10% additonal cpuload. The stream runs for 58 frames at -r 1. - I'm using this command line: ffmpeg -f fbdev -r 1 -i /dev/graphics/fb0 -vcodec libx264 -f h264 -preset:v slow -pix_fmt yuv420p http://localhost:8090/feed1.ffm If I use -f h264 the cpuload jumps up to 80% - I run ffserver like this: ffserver -f /data/ffserver.conf ffserver.conf ++++ Port 8090 RTSPPort 7654 BindAddress 0.0.0.0 RTSPBindAddress 0.0.0.0 MaxHTTPConnections 2000 MaxClients 1000 MaxBandwidth 1000 CustomLog - <Feed feed1.ffm> File /data/feed1.ffm ACL allow 127.0.0.1 </Feed> <Stream live.h264> Format rtp Feed feed1.ffm VideoCodec libx264 VideoFrameRate 1 VideoBitRate 100 VideoSize 480x800 # AVPresetVideo default # AVPresetVideo baseline NoAudio AVOptionVideo flags +global_header </Stream> ++++ ffmpeg output: ffmpeg version N-64597-g4576eff Copyright (c) 2000-2014 the FFmpeg developers built on Jul 11 2014 10:59:49 with gcc 4.7 (GCC) configuration: --arch=arm --target-os=linux --enable-cross-compile --cross-prefix=/4.4/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin/arm-linux-androideabi- --sysroot=/4.4/prebuilts/ndk/current/platforms/android-18/arch-arm --enable-gpl --enable-avresample --enable-libx264 --enable-ffplay --extra-cflags='-fno-builtin-sin -fno-builtin-sinf -I/4.4/external/x264' --extra-ldflags=-L/4.4/external/x264 libavutil 52. 92.100 / 52. 92.100 libavcodec 55. 69.100 / 55. 69.100 libavformat 55. 45.100 / 55. 45.100 libavdevice 55. 13.102 / 55. 13.102 libavfilter 4. 10.100 / 4. 10.100 libavresample 1. 3. 0 / 1. 3. 0 libswscale 2. 6.100 / 2. 6.100 libswresample 0. 19.100 / 0. 19.100 libpostproc 52. 3.100 / 52. 3.100 [fbdev @ 0x1c42d40] w:800 h:480 bpp:32 pixfmt:bgra fps:1/1 bit_rate:12288000 Input #0, fbdev, from '/dev/graphics/fb0': Duration: N/A, start: 1405514019.655622, bitrate: 12288 kb/s Stream #0:0: Video: rawvideo (BGRA / 0x41524742), bgra, 800x480, 12288 kb/s, 1 fps, 1 tbr, 1000k tbn, 1 tbc [libx264 @ 0x1c45260] using cpu capabilities: ARMv6 NEON [libx264 @ 0x1c45260] profile High, level 2.2 [h264 @ 0x1c44460] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead. Output #0, h264, to 'http://localhost:8090/feed1.ffm': Metadata: encoder : Lavf55.45.100 Stream #0:0: Video: h264 (libx264), yuv420p, 800x480, q=-1--1, 1 fps, 1 tbn, 1 tbc Metadata: encoder : Lavc55.69.100 libx264 Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264)) Press [q] to stop, [?] for help av_interleaved_write_frame(): Connection reset by peer0.00 bitrate=N/A frame= 58 fps=0.9 q=-1.0 Lsize= 69kB time=00:00:-1.00 bitrate=N/A video:69kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000% [libx264 @ 0x1c45260] frame I:1 Avg QP: 6.88 size: 70966 [libx264 @ 0x1c45260] frame P:15 Avg QP:12.18 size: 200 [libx264 @ 0x1c45260] frame B:42 Avg QP:18.33 size: 47 [libx264 @ 0x1c45260] consecutive B-frames: 3.4% 0.0% 0.0% 96.6% [libx264 @ 0x1c45260] mb I I16..4: 42.3% 27.5% 30.3% [libx264 @ 0x1c45260] mb P I16..4: 0.1% 0.0% 0.0% P16..4: 1.8% 0.0% 0.2% 0.0% 0.0% skip:98.0% [libx264 @ 0x1c45260] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 2.0% 0.0% 0.0% direct: 0.0% skip:98.0% L0:24.4% L1:75.6% BI: 0.0% [libx264 @ 0x1c45260] 8x8 transform intra:27.3% inter:84.0% [libx264 @ 0x1c45260] direct mvs spatial:95.2% temporal:4.8% [libx264 @ 0x1c45260] coded y,uvDC,uvAC intra: 82.0% 32.0% 29.6% inter: 0.2% 0.1% 0.0% [libx264 @ 0x1c45260] i16 v,h,dc,p: 77% 8% 14% 0% [libx264 @ 0x1c45260] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 36% 13% 40% 2% 1% 1% 3% 1% 4% [libx264 @ 0x1c45260] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 21% 9% 8% 8% 7% 8% 7% 7% [libx264 @ 0x1c45260] i8c dc,h,v,p: 54% 15% 30% 1% [libx264 @ 0x1c45260] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x1c45260] ref P L0: 93.0% 0.0% 4.7% 2.3% [libx264 @ 0x1c45260] ref B L0: 63.7% 35.0% 1.3% [libx264 @ 0x1c45260] ref B L1: 76.0% 24.0% [libx264 @ 0x1c45260] kb/s:10.48 Conversion failed! - Seperately I am trying to view the stream remotely with this commandline: $ ./ffplay -analyzeduration 2147483647 -probesize 2147483647 -vcodec libx264 http://192.168.1.106:8090/live.h264 ffplay version N-64597-g4576eff Copyright (c) 2003-2014 the FFmpeg developers built on Jul 16 2014 15:24:17 with gcc 4.7 (Debian 4.7.2-5) configuration: --enable-gpl --enable-avresample --enable-libx264 --enable-ffplay --disable-shared --enable-static libavutil 52. 92.100 / 52. 92.100 libavcodec 55. 69.100 / 55. 69.100 libavformat 55. 45.100 / 55. 45.100 libavdevice 55. 13.102 / 55. 13.102 libavfilter 4. 10.100 / 4. 10.100 libavresample 1. 3. 0 / 1. 3. 0 libswscale 2. 6.100 / 2. 6.100 libswresample 0. 19.100 / 0. 19.100 libpostproc 52. 3.100 / 52. 3.100 [h264 @ 0x26ba3e0] Format h264 detected only with low score of 1, misdetection possible! [h264 @ 0x26ba3e0] Could not find codec parameters for stream 0 (Video: h264): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options http://192.168.1.106:8090/l.h264: could not find codec parameters nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 -- Patrick Shirkey Boost Hardware Ltd _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user
