-report is very cool, sorry for wasting your attention, and mine, with terrible logs. i have piped the raw h264 to a file and this command converts is successfully. ffmpeg -report -re -framerate 30 -y -f h264 -i orbi_0148.cam1.h264 -c:v copy -an -video_size 1920x1080 -f mp4 orbi_0148.cam1-1.mp4
i then try to launch this command from my program with the same options, and also with many several options. my program doesn't mess with ffmpegs output files anymore. i close the fifos at the end of video recording and that's all. and don't get any file created and get this output, which i don't understand at all. (the successful command line output follows the execv() output) thanks, (execv output with options -report -y -i /tmp/fifocam3.h264 -c:v copy -an -video_size 1920x1080 -f mp4 /media/sd-card/orbi_0140.cam3.mp4) root@arm:/home/orbi# cat ffmpeg-20170511-001941.log ffmpeg started on 2017-05-11 at 00:19:41 Report written to "ffmpeg-20170511-001941.log" Command line: /usr/bin/ffmpeg -report -y -i /tmp/fifocam3.h264 -c:v copy -an -video_size 1920x1080 -f mp4 /media/sd-card/orbi_0140.cam3.mp4 ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers built with gcc 5.4.0 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) 20160609 configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11gr libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 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 Splitting the commandline. Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Reading option '-i' ... matched as input url with argument '/tmp/fifocam3.h264'. Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'copy'. Reading option '-an' ... matched as option 'an' (disable audio) with argument '1'. Reading option '-video_size' ... matched as AVOption 'video_size' with argument '1920x1080'. Reading option '-f' ... matched as option 'f' (force format) with argument 'mp4'. Reading option '/media/sd-card/orbi_0140.cam3.mp4' ... matched as output url. Finished splitting the commandline. Parsing a group of options: global . Applying option report (generate a report) with argument 1. Applying option y (overwrite output files) with argument 1. Successfully parsed a group of options. Parsing a group of options: input url /tmp/fifocam3.h264. Successfully parsed a group of options. Opening an input file: /tmp/fifocam3.h264. [h264 @ 0xf249a0] Format h264 probed with size=2048 and score=51 [h264 @ 0xf249a0] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 [h264 @ 0xf25460] Current profile doesn't provide more RBSP data in PPS, skipping [h264 @ 0xf25460] bytestream overread -4 [h264 @ 0xf25460] bytestream overread -4 [h264 @ 0xf25460] bytestream overread -4 [h264 @ 0xf25460] bytestream overread -4 [h264 @ 0xf25460] bytestream overread -10 [h264 @ 0xf25460] error while decoding MB 112 28, bytestream -10 [h264 @ 0xf25460] concealing 4737 DC, 4737 AC, 4737 MV errors in P frame [h264 @ 0xf25460] Frame num gap 7 5 /////// successful command line run \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ root@arm:/home/orbi# ffmpeg -report -re -framerate 30 -y -f h264 -i orbi_0148.cam1.h264 -c:v copy -an -video_size 1920x1080 -f mp4 orbi_0148.cam1-1.mp4 root@arm:/home/orbi# cat ffmpeg-20170511-002629.log ffmpeg started on 2017-05-11 at 00:26:29 Report written to "ffmpeg-20170511-002629.log" Command line: ffmpeg -report -re -framerate 30 -y -f h264 -i orbi_0148.cam1.h264 -c:v copy -an -video_size 1920x1080 -f mp4 orbi_0148.cam1-1.mp4 ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers built with gcc 5.4.0 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) 20160609 configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11gr libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 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 Splitting the commandline. Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'. Reading option '-re' ... matched as option 're' (read input at native frame rate) with argument '1'. Reading option '-framerate' ... matched as AVOption 'framerate' with argument '30'. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Reading option '-f' ... matched as option 'f' (force format) with argument 'h264'. Reading option '-i' ... matched as input url with argument 'orbi_0148.cam1.h264'. Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'copy'. Reading option '-an' ... matched as option 'an' (disable audio) with argument '1'. Reading option '-video_size' ... matched as AVOption 'video_size' with argument '1920x1080'. Reading option '-f' ... matched as option 'f' (force format) with argument 'mp4'. Reading option 'orbi_0148.cam1-1.mp4' ... matched as output url. Finished splitting the commandline. Parsing a group of options: global . Applying option report (generate a report) with argument 1. Applying option y (overwrite output files) with argument 1. Successfully parsed a group of options. Parsing a group of options: input url orbi_0148.cam1.h264. Applying option re (read input at native frame rate) with argument 1. Applying option f (force format) with argument h264. Successfully parsed a group of options. Opening an input file: orbi_0148.cam1.h264. [h264 @ 0x848a20] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 [h264 @ 0x8515b0] Current profile doesn't provide more RBSP data in PPS, skipping [h264 @ 0x8515b0] Current profile doesn't provide more RBSP data in PPS, skipping [h264 @ 0x848a20] max_analyze_duration 5000000 reached at 5005000 microseconds st:0 [h264 @ 0x848a20] After avformat_find_stream_info() pos: 3773440 bytes read:3801088 seeks:0 frames:152 Input #0, h264, from 'orbi_0148.cam1.h264': Duration: N/A, bitrate: N/A Stream #0:0, 152, 1/1200000: Video: h264 (Main), yuv420p(tv), 1920x1080, 29.97 fps, 29.97 tbr, 1200k tbn, 59.94 tbc Successfully opened the file. Parsing a group of options: output url orbi_0148.cam1-1.mp4. Applying option c:v (codec name) with argument copy. Applying option an (disable audio) with argument 1. Applying option f (force format) with argument mp4. Successfully parsed a group of options. Opening an output file: orbi_0148.cam1-1.mp4. Successfully opened the file. [mp4 @ 0x8fb230] Codec for stream 0 does not use global headers but container format requires global headers Output #0, mp4, to 'orbi_0148.cam1-1.mp4': Metadata: encoder : Lavf56.40.101 Stream #0:0, 0, 1/1200000: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1920x1080, q=2-31, 29.97 fps, 29.97 tbr, 1200k tbn, 1200k tbc Stream mapping: Stream #0:0 -> #0:0 (copy) Press [q] to stop, [?] for help [NULL @ 0x8515b0] Current profile doesn't provide more RBSP data in PPS, skipping No more output streams to write to, finishing.e=00:00:08.64 bitrate=5887.7kbits/s frame= 270 fps= 30 q=-1.0 Lsize= 6443kB time=00:00:08.97 bitrate=5880.6kbits/s video:6440kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.056839% Input file #0 (orbi_0148.cam1.h264): Input stream #0:0 (video): 270 packets read (6594052 bytes); Total: 270 packets (6594052 bytes) demuxed Output file #0 (orbi_0148.cam1-1.mp4): Output stream #0:0 (video): 270 packets muxed (6594052 bytes); Total: 270 packets (6594052 bytes) muxed 0 frames successfully decoded, 0 decoding errors [AVIOContext @ 0x931650] Statistics: 34 seeks, 308 writeouts [AVIOContext @ 0x851190] Statistics: 6594052 bytes read, 0 seeks On Wed, May 10, 2017 at 6:43 AM Moritz Barsnick <barsn...@gmx.net> wrote: > On Tue, May 09, 2017 at 22:23:29 +0000, abraxas1 wrote: > > ok, i removed the opening and the closing of the files that ffmpeg is > > opening in it's own process. (they were legacy...) > > They were wrong. ffmpeg does that just fine. ;-) > > > now it seems to proceed through the recording nicely, with no output fro > > ffmpeg until recording stops. > > If you mean the console output: You probably need to flush, in order to > see it, or make it unbuffered. (I think your program interacting with > the terminal may be buffering something like e.g. 4k of the output - > but I may be wrong.) > > > starts, but probably with closing the fifo's which tell ffmpeg to finish > > the stream and close it's output file(?) > > Yes, if the input fifo is closed, ffmpeg should detect EOF and stop > encoding. > > > and results in this. again, this is happening across 4 streams and the > > output from the four ffmpegs is rather convoluted. > > If you don't want the output to be convoluted, why don't you > - start off with one ffmpeg first, or > - log to separate outputs (e.g. with the "-report" option) - and stop > omitting parts of ffmpeg's output from your reports to the list! > > Cheers, > Moritz > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".