[FFmpeg-user] Let ffmpeg pick correct fps from stdin

Jean-Marie Baran jean-marie.baran at ama.bzh
Thu Jan 14 14:38:54 CET 2016



On 14/01/2016 12:54, Moritz Barsnick wrote:
> Please show us the full, uncut console output. It contains valuable
> information (especially about the detection of the input and the
> configuration of the output formats/codecs).

Here is the full output:

fmpeg -y -thread_queue_size 1024 -f s16le -ar 44100 -i 
tcp://localhost:5624?listen=1 -re -f mjpeg -thread_queue_size 1024 -i - 
-c:v libx264 -preset fast -crf 28 -vsync 0 -strict -2 -acodec aac 
-threads 0 -ar 44100 file.mp4

WARNING: linker: libx264.so has text relocations. This is wasting memory 
and prevents security hardening. Please fix.
ffmpeg version 2.8.3 Copyright (c) 2000-2015 the FFmpeg developers
   built with gcc 4.8 (GCC)
   configuration: --arch=arm --target-os=android --enable-cross-compile
   libavutil      54. 31.100 / 54. 31.100
   libavcodec     56. 60.100 / 56. 60.100
   libavformat    56. 40.101 / 56. 40.101
   libavfilter     5. 40.101 /  5. 40.101
   libavresample   2.  1.  0 /  2.  1.  0
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  2.101 /  1.  2.101
   libpostproc    53.  3.100 / 53.  3.100
Guessed Channel Layout for  Input Stream #0.0 : mono
Input #0, s16le, from 'tcp://localhost:39325?listen=1':
   Duration: N/A, bitrate: 705 kb/s
     Stream #0:0: Audio: pcm_s16le, 44100 Hz, 1 channels, s16, 705 kb/s
[mjpeg @ 0xb6427c00] Changeing bps to 8
Input #1, mjpeg, from 'pipe:':
   Duration: N/A, bitrate: N/A
     Stream #1:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 
720x480 [SAR 1:1 DAR 3:2], 25 tbr, 1200k tbn, 25 tbc
No pixel format specified, yuvj420p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0xb6428800] using SAR=1/1
[libx264 @ 0xb6428800] using cpu capabilities: ARMv6 NEON
[libx264 @ 0xb6428800] profile High, level 3.0
[libx264 @ 0xb6428800] 264 - core 148 - H.264/MPEG-4 AVC codec - 
Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: 
cabac=1 ref=2 deblock=1:-1:-1 analyse=0x3:0x113 me=hex subme=6 psy=1 
psy_rd=1.00:0.15 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 
cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-3 threads=6 
lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 
bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 
b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=250 
keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=30 rc=crf 
mbtree=1 crf=28.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 
aq=1:1.00
Output #0, mp4, to '/storage/emulated/0/DCIM/AMA/NP/record//test.mp4':
   Metadata:
     encoder         : Lavf56.40.101
     Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), 
yuvj420p(pc), 720x480 [SAR 1:1 DAR 3:2], q=-1--1, 25 fps, 12800 tbn, 25 tbc
     Metadata:
       encoder         : Lavc56.60.100 libx264
     Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, mono, 
fltp, 128 kb/s
     Metadata:
       encoder         : Lavc56.60.100 aac
Stream mapping:
   Stream #1:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
   Stream #0:0 -> #0:1 (pcm_s16le (native) -> aac (native))
frame=    8 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A
frame=   14 fps= 13 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A
frame=   21 fps= 13 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A
frame=   26 fps= 12 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A
frame=   31 fps= 12 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A
frame=   37 fps= 11 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A
frame=   46 fps= 12 q=33.0 size=      33kB time=00:00:00.16 
bitrate=1689.9kbits/s
frame=   52 fps= 12 q=33.0 size=      69kB time=00:00:00.40 
bitrate=1408.2kbits/s
frame=   57 fps= 12 q=33.0 size=      96kB time=00:00:00.60 
bitrate=1299.8kbits/s
frame=   64 fps= 12 q=33.0 size=     136kB time=00:00:00.88 
bitrate=1266.3kbits/s
frame=   71 fps= 12 q=33.0 size=     174kB time=00:00:01.16 
bitrate=1227.3kbits/s
...

> Furthermore, you are using two inputs (tcp://localhost:5624?listen=1
> and stdin). Can you reproduce this problem with just your stdin? If so,
> please show us that command line and the complete console output.
The TCP server is the audio stream. I will try to reproduce it without 
the audio, see what happens.
>
>
> I think the first task would be to determine whether your stdin
> actually can deliver your desired 25 fps, but show us your console
> outputs first please.
>
Just to precise: 25 fps is not the required fps, it is the one put in 
the recorded video file by ffmpeg, which is not correct.

Thank you.

-- 
*Jean-Marie Baran*
AMA developer



More information about the ffmpeg-user mailing list