[FFmpeg-user] The efficacy of speed up a .ts file

2017-05-10 Thread Champion
Hi ffmpeg members,

Recently, I have a job to make a speed up mp4 file, and I'm lack of video
knowledge,
so I suffer some issue, below is the command I used:

[1] trim ts file
 ffmpeg -ss 2 -i input.ts -t 5 -vcodec copy -acodec copy output.ts

[2] merge ts file
 ffmpeg -i concat:input1.ts|input2.ts|inputN.ts -y -c copy -bsf:a
aac_adtstoasc output.mp4

[3] speed up 2x and output a mp4 file
 ffmpeg -i input.mp4 -y -filter:v fps=30, setpts=0.5*PTS -an output.mp4

The issue are below:
1. I use JAVA to call the ffmpeg command, and the command [3] is too slow,
I run my code in AWS EC2(c3.xlarge) and input a 6min30sec .mp4 video,
the process time about 250 sec, do I have some idea to speed up the
process time?

- I change input and output to .ts file, [3] just cost 1/6 time which
compare to output .mp4 file,
  but the output quality is down(although they are the same pixel rate
1280x720),
  is this cause by speed up .ts file will lose I frame?

- I try to add "-preset ultrafast" , the process time will become about
40 sec, but we think this still too slow, do you have some idea to improve
this?

2. When ffmpeg is running, the CPU rate is too high.
my server(4 core) just run one [3] command, the CPU rate almost
250-300%,
how can I optimize the cost?

- I try to use "-threads 1", the CPU rate down to 90-100%, but the
process time is slower.

We want to develop this speed up model as a service, but the process speed
and CPU rate are not good for a service,
do you have some suggest for us?

Many thanks.

Best regards,
Champion Chen
___
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".

Re: [FFmpeg-user] Feeding FFMPEG from buffer in c code RAW H264 to MP4 wrapping, or named fifo?

2017-05-10 Thread abraxas1
-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
  libavformat56. 40.101 / 56. 40.101
  libavdevice56.  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
  libpostproc53.  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 

[FFmpeg-user] Video and audio desync when recording screen

2017-05-10 Thread Leonardo Soares Müller
Hello

I am trying to record my screen on Xubuntu 16.04.2. While I can record 
both video and audio, on some software the video and audio are out of 
sync. When watching the video in VLC, the audio and the video are in 
sync, but when editing with Kdenlive or uploading directly the video to 
YouTube, audio and video get out of sync.

I am using a script to do this recording. The command line, considering 
its options, would be:

env PULSE_LATENCY_MSEC=25 ffmpeg \
-vaapi_device /dev/dri/renderD128 -hwaccel vaapi -hwaccel_output_format 
yuv420p  \
-thread_queue_size 4096 -f pulse -sample_rate 44100 -channels 2 -i 
alsa_output.pci-_00_1f.3.analog-stereo.monitor \
-thread_queue_size 1024 -f x11grab -s 1366x768 -r "30" -i :0.0 \
-acodec libfdk_aac -b:a 160k \
-vf 'format=nv12,hwupload,scale_vaapi=w=1280:h=720' -vcodec h264_vaapi 
-qp 24 \
-f flv -strict experimental TEST4.flv

The output on terminal is:

ffmpeg version N-85539-g5caaa3a Copyright (c) 2000-2017 the FFmpeg 
developers
   built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
   configuration: --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-libdc1394 
--enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 
--enable-libopencv --enable-libfdk-aac --enable-libmfx --enable-vaapi 
--enable-nonfree --enable-gpl --enable-libxcb --enable-libxcb-shm 
--enable-libxcb-xfixes --enable-libxcb-shape
   libavutil  55. 61.100 / 55. 61.100
   libavcodec 57. 92.100 / 57. 92.100
   libavformat57. 72.101 / 57. 72.101
   libavdevice57.  7.100 / 57.  7.100
   libavfilter 6. 84.101 /  6. 84.101
   libavresample   3.  6.  0 /  3.  6.  0
   libswscale  4.  7.101 /  4.  7.101
   libswresample   2.  8.100 /  2.  8.100
   libpostproc54.  6.100 / 54.  6.100
libva info: VA-API version 0.39.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, pulse, from 'alsa_output.pci-_00_1f.3.analog-stereo.monitor':
   Duration: N/A, start: 1494455796.589364, bitrate: 1411 kb/s
 Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
[x11grab @ 0x16073a0] Stream #0: not enough frames to estimate rate; 
consider increasing probesize
Input #1, x11grab, from ':0.0':
   Duration: N/A, start: 1494455796.988299, bitrate: N/A
 Stream #1:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1366x768, 
30 fps, 1000k tbr, 1000k tbn, 1000k tbc
Stream mapping:
   Stream #1:0 -> #0:0 (rawvideo (native) -> h264 (h264_vaapi))
   Stream #0:0 -> #0:1 (pcm_s16le (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
[swscaler @ 0x1636ba0] Warning: data is not aligned! This can lead to a 
speedloss
Output #0, flv, to 'TEST4.flv':
   Metadata:
 encoder : Lavf57.72.101
 Stream #0:0: Video: h264 (h264_vaapi) (High) ([7][0][0][0] / 
0x0007), vaapi_vld(progressive), 1280x720, q=0-31, 30 fps, 1k tbn, 30 tbc
 Metadata:
   encoder : Lavc57.92.100 h264_vaapi
 Stream #0:1: Audio: aac (libfdk_aac) ([10][0][0][0] / 0x000A), 
44100 Hz, stereo, s16, 160 kb/s
 Metadata:
   encoder : Lavc57.92.100 libfdk_aac
frame=  897 fps= 30 q=-0.0 Lsize=3430kB time=00:00:29.83 bitrate= 
941.9kbits/s speed=0.999x
video:2808kB audio:583kB subtitle:0kB other streams:0kB global 
headers:0kB muxing overhead: 1.157823%

While I am using VAAPI, the fact audio and video get out of sync on some 
software happens too when using software encoding (plus 65% of CPU usage).

On the output of the terminal, it can be seen that the start of pulse 
stream is 1494455796.589364, while the x11grab stream starts at 
1494455796.988299. Can this be why video and audio are out of sync on 
Kdenlive and YouTube?

If yes, is there a way to make the streams start at the same time?

Thank you.
___
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".

Re: [FFmpeg-user] differences between -vf and -filter_complex

2017-05-10 Thread Nicolas George
Le primidi 21 floréal, an CCXXV, Paul B Mahol a écrit :
> ffmpeg -f lavfi -i testsrc2=r=1:d=5,format=yuv422p10le -f framemd5 -

This is still suboptimal.

ffmpeg -lavfi testsrc2=r=1:d=5,format=yuv422p10le -f framemd5 -

No need to wrap the frames in packets.

Regards,

-- 
  Nicolas George


signature.asc
Description: Digital signature
___
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".

Re: [FFmpeg-user] differences between -vf and -filter_complex

2017-05-10 Thread Paul B Mahol
On 5/10/17, Dave Rice  wrote:
>
>> On May 10, 2017, at 2:13 PM, Paul B Mahol  wrote:
>>
>> On 5/10/17, Dave Rice > wrote:
>>> Hi ffmpeg-user,
>>>
>>> In some cases I've been using -vf and -filter_complex interchangeability
>>> but
>>> notice that some behavior is unexpectedly different.
>>>
>>> For instance if I use format=yuv422p10le within -vf and within
>>> -filter_complex the output is different. Is there something else I should
>>> add to the filterchain to get consistent results.
>>>
>>> Below is the output of:
>>> ffmpeg -f lavfi -i testsrc2=r=1:d=5 -vf format=yuv422p10le -f
>>> framemd5 -
>>> and
>>> ffmpeg -f lavfi -i testsrc2=r=1:d=5 -filter_complex format=yuv422p10le -f
>>> framemd5 -
>>
>> Both commands are suboptimal, use:
>>
>> ffmpeg -f lavfi -i testsrc2=r=1:d=5,format=yuv422p10le -f framemd5 -
>
> I usually avoid lavfi formatted inputs when I can, because IIUC there's no
> method to preserve frame interlacement data from the input through the
> filterchain. See https://trac.ffmpeg.org/ticket/4057.

How is that even related? format simply tells in what format testsrc2
will render its output.

By your command it is doing slow scale work internally always.
___
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".

Re: [FFmpeg-user] differences between -vf and -filter_complex

2017-05-10 Thread Dave Rice

> On May 10, 2017, at 2:13 PM, Paul B Mahol  wrote:
> 
> On 5/10/17, Dave Rice > wrote:
>> Hi ffmpeg-user,
>> 
>> In some cases I've been using -vf and -filter_complex interchangeability but
>> notice that some behavior is unexpectedly different.
>> 
>> For instance if I use format=yuv422p10le within -vf and within
>> -filter_complex the output is different. Is there something else I should
>> add to the filterchain to get consistent results.
>> 
>> Below is the output of:
>> ffmpeg -f lavfi -i testsrc2=r=1:d=5 -vf format=yuv422p10le -f
>> framemd5 -
>> and
>> ffmpeg -f lavfi -i testsrc2=r=1:d=5 -filter_complex format=yuv422p10le -f
>> framemd5 -
> 
> Both commands are suboptimal, use:
> 
> ffmpeg -f lavfi -i testsrc2=r=1:d=5,format=yuv422p10le -f framemd5 -

I usually avoid lavfi formatted inputs when I can, because IIUC there's no 
method to preserve frame interlacement data from the input through the 
filterchain. See https://trac.ffmpeg.org/ticket/4057.
Dave Rice
___
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".

Re: [FFmpeg-user] differences between -vf and -filter_complex

2017-05-10 Thread Paul B Mahol
On 5/10/17, Dave Rice  wrote:
> Hi ffmpeg-user,
>
> In some cases I've been using -vf and -filter_complex interchangeability but
> notice that some behavior is unexpectedly different.
>
> For instance if I use format=yuv422p10le within -vf and within
> -filter_complex the output is different. Is there something else I should
> add to the filterchain to get consistent results.
>
> Below is the output of:
> ffmpeg -f lavfi -i testsrc2=r=1:d=5 -vf format=yuv422p10le -f
> framemd5 -
> and
> ffmpeg -f lavfi -i testsrc2=r=1:d=5 -filter_complex format=yuv422p10le -f
> framemd5 -

Both commands are suboptimal, use:

ffmpeg -f lavfi -i testsrc2=r=1:d=5,format=yuv422p10le -f framemd5 -
___
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] gst-ffmpeg on ARM Linux: GNU assembler not found, install/update gas-preprocessor

2017-05-10 Thread Gottfried Haider
I've been trying to compile the latest GStreamer for the Raspberry Pi
running Raspbian (Debian).

When I try to build gst-ffmpeg, it fails with the message:
GNU assembler not found, install/update gas-preprocessor

I've downloaded gas-preprocessor.pl file [1] and put it in my $PATH,
with the executable flag set. The "test" target in the Makefile also
succeeds with no errors. Still, the initial error message remains when
trying to build gst-ffmpeg.

Any hints?

(I've successfully built different previous versions (e.g. 1.10.1) of
gst-ffmpeg without this dependency on the same setup.)

Thanks
Gottfried

[1] https://github.com/FFmpeg/gas-preprocessor
___
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".

Re: [FFmpeg-user] differences between -vf and -filter_complex

2017-05-10 Thread Dave Rice

> On May 10, 2017, at 11:55 AM, Gyan  wrote:
> 
> On Wed, May 10, 2017 at 9:08 PM, Gyan  wrote:
> 
>> 
>> 
>> On Wed, May 10, 2017 at 8:17 PM, Dave Rice  wrote:
>> 
>>> 
>>> For instance if I use format=yuv422p10le within -vf and within
>>> -filter_complex the output is different. Is there something else I should
>>> add to the filterchain to get consistent results.
>>> 
>>> Best Regards,
>>> Dave Rice
>>> 
>> 
>> These two commands produce the same result:
> 
> ffmpeg -f lavfi -i testsrc2=r=1:d=5 -f lavfi -i testsrc2=r=1:d=5
> -filter_complex scale=flags=bicubic,format=yuv422p10le  -f framemd5 -
> 
> ffmpeg -f lavfi -i testsrc2=r=1:d=5 -f lavfi -i testsrc2=r=1:d=5 -vf
> scale=flags=bicubic,format=yuv422p10le -f framemd5 -
> 
> 
> 0,  0,  0,1,   307200,
> b8ef3d6c4fc96d70fafbf20afd8f9cdf
> 0,  1,  1,1,   307200,
> dada36d572dfe9b75b799b207e54590b
> 0,  2,  2,1,   307200,
> f6b2bd8a2cafbe7261bd97cd41930ad3
> 0,  3,  3,1,   307200,
> 5efbf76a4e8af59271de6a3e8cfb63f4
> 0,  4,  4,1,   307200,
> f2289ce67d1f24230cee1219dc2557a5

Thank you so much. Adding `scale=flags=bicubic` into my workflow produced 
consistent results. I'm still a bit uncertain why these two routes opt for 
different defaults, but this method allows them to be forced to the same 
default. Thanks again.
Dave Rice

___
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".

Re: [FFmpeg-user] differences between -vf and -filter_complex

2017-05-10 Thread Gyan
On Wed, May 10, 2017 at 9:08 PM, Gyan  wrote:

>
>
> On Wed, May 10, 2017 at 8:17 PM, Dave Rice  wrote:
>
>>
>> For instance if I use format=yuv422p10le within -vf and within
>> -filter_complex the output is different. Is there something else I should
>> add to the filterchain to get consistent results.
>>
>> Best Regards,
>> Dave Rice
>>
>
> These two commands produce the same result:

ffmpeg -f lavfi -i testsrc2=r=1:d=5 -f lavfi -i testsrc2=r=1:d=5
-filter_complex scale=flags=bicubic,format=yuv422p10le  -f framemd5 -

ffmpeg -f lavfi -i testsrc2=r=1:d=5 -f lavfi -i testsrc2=r=1:d=5 -vf
scale=flags=bicubic,format=yuv422p10le -f framemd5 -


0,  0,  0,1,   307200,
b8ef3d6c4fc96d70fafbf20afd8f9cdf
0,  1,  1,1,   307200,
dada36d572dfe9b75b799b207e54590b
0,  2,  2,1,   307200,
f6b2bd8a2cafbe7261bd97cd41930ad3
0,  3,  3,1,   307200,
5efbf76a4e8af59271de6a3e8cfb63f4
0,  4,  4,1,   307200,
f2289ce67d1f24230cee1219dc2557a5
___
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".

Re: [FFmpeg-user] differences between -vf and -filter_complex

2017-05-10 Thread Gyan
On Wed, May 10, 2017 at 8:17 PM, Dave Rice  wrote:

>
> For instance if I use format=yuv422p10le within -vf and within
> -filter_complex the output is different. Is there something else I should
> add to the filterchain to get consistent results.
>
> Best Regards,
> Dave Rice
>

Does not affect conversions to RGB formats of any bit depth. Does not
affect conversions if chroma sampling scheme is the same i.e. -f lavfi -i
testsrc2=r=1:d=5,format=yuv422p or yuv422p16le. Also does not affect if
only the luma plane is converted. So this has to do with converting the
chroma sampling frequency in swscale.
___
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] differences between -vf and -filter_complex

2017-05-10 Thread Dave Rice
Hi ffmpeg-user,

In some cases I've been using -vf and -filter_complex interchangeability but 
notice that some behavior is unexpectedly different.

For instance if I use format=yuv422p10le within -vf and within -filter_complex 
the output is different. Is there something else I should add to the 
filterchain to get consistent results.

Below is the output of:
ffmpeg -f lavfi -i testsrc2=r=1:d=5 -vf format=yuv422p10le -f 
framemd5 -
and
ffmpeg -f lavfi -i testsrc2=r=1:d=5 -filter_complex format=yuv422p10le -f 
framemd5 -

The output framemd5 do not match and there is not minor differences in the 
pixel values. Is this expected? Any recommendations to get the same result when 
using format=yuv422p10le in both -vf and -filter_complex? Which output is 
correct?

ffmpeg -f lavfi -i testsrc2=r=1:d=5 -vf format=yuv422p10le -f framemd5 -
ffmpeg version N-47211-g164e277326 Copyright (c) 2000-2017 the FFmpeg developers
  built with Apple LLVM version 8.1.0 (clang-802.0.38)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD-164e277 --enable-shared 
--enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables 
--enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay 
--enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtesseract 
--enable-libvpx --enable-libx264 --enable-libxvid --enable-opencl 
--disable-lzma --enable-vda
  libavutil  55. 62.100 / 55. 62.100
  libavcodec 57. 95.100 / 57. 95.100
  libavformat57. 72.101 / 57. 72.101
  libavdevice57.  7.100 / 57.  7.100
  libavfilter 6. 88.100 /  6. 88.100
  libavresample   3.  6.  0 /  3.  6.  0
  libswscale  4.  7.101 /  4.  7.101
  libswresample   2.  8.100 /  2.  8.100
  libpostproc54.  6.100 / 54.  6.100
[opencl @ 0x10fe94d68] Same kernel code has been registered
Last message repeated 1 times
Input #0, lavfi, from 'testsrc2=r=1:d=5':
  Duration: N/A, start: 0.00, bitrate: N/A
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 320x240 [SAR 1:1 
DAR 4:3], 1 fps, 1 tbr, 1 tbn, 1 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> rawvideo (native))
Press [q] to stop, [?] for help
#format: frame checksums
#version: 2
#hash: MD5
#software: Lavf57.72.101
#tb 0: 1/1
#media_type 0: video
#codec_id 0: rawvideo
#dimensions 0: 320x240
#sar 0: 1/1
#stream#, dts,pts, duration, size, hash
Output #0, framemd5, to 'pipe:':
  Metadata:
encoder : Lavf57.72.101
Stream #0:0: Video: rawvideo (Y3[10][10] / 0xA0A3359), yuv422p10le, 320x240 
[SAR 1:1 DAR 4:3], q=2-31, 1536 kb/s, 1 fps, 1 tbn, 1 tbc
Metadata:
  encoder : Lavc57.95.100 rawvideo
0,  0,  0,1,   307200, b8ef3d6c4fc96d70fafbf20afd8f9cdf
0,  1,  1,1,   307200, dada36d572dfe9b75b799b207e54590b
0,  2,  2,1,   307200, f6b2bd8a2cafbe7261bd97cd41930ad3
0,  3,  3,1,   307200, 5efbf76a4e8af59271de6a3e8cfb63f4
0,  4,  4,1,   307200, f2289ce67d1f24230cee1219dc2557a5
frame=5 fps=0.0 q=-0.0 Lsize=   1kB time=00:00:05.00 bitrate=   
1.0kbits/s speed= 754x
video:1500kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing 
overhead: unknown


ffmpeg -f lavfi -i testsrc2=r=1:d=5 -filter_complex format=yuv422p10le -f 
framemd5 -
ffmpeg version N-47211-g164e277326 Copyright (c) 2000-2017 the FFmpeg developers
  built with Apple LLVM version 8.1.0 (clang-802.0.38)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD-164e277 --enable-shared 
--enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables 
--enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay 
--enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtesseract 
--enable-libvpx --enable-libx264 --enable-libxvid --enable-opencl 
--disable-lzma --enable-vda
  libavutil  55. 62.100 / 55. 62.100
  libavcodec 57. 95.100 / 57. 95.100
  libavformat57. 72.101 / 57. 72.101
  libavdevice57.  7.100 / 57.  7.100
  libavfilter 6. 88.100 /  6. 88.100
  libavresample   3.  6.  0 /  3.  6.  0
  libswscale  4.  7.101 /  4.  7.101
  libswresample   2.  8.100 /  2.  8.100
  libpostproc54.  6.100 / 54.  6.100
[opencl @ 0x1026d6d68] Same kernel code has been registered
Last message repeated 1 times
Input #0, lavfi, from 'testsrc2=r=1:d=5':
  Duration: N/A, start: 0.00, bitrate: N/A
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 320x240 [SAR 1:1 
DAR 4:3], 1 fps, 1 tbr, 1 tbn, 1 tbc
Stream mapping:
  Stream #0:0 (rawvideo) -> format
  format -> Stream #0:0 (rawvideo)
Press [q] to stop, [?] for help
#format: frame checksums
#version: 2
#hash: MD5
#software: Lavf57.72.101
#tb 0: 1/1
#media_type 0: video
#codec_id 0: rawvideo
#dimensions 0: 320x240
#sar 0: 1/1
#stream#, dts,pts, duration, size, hash
Output #0, framemd5, to 'pipe:':
  Metadata:
encoder : Lavf57.72.101
  

Re: [FFmpeg-user] No video only audio in the output file

2017-05-10 Thread Moritz Barsnick
On Tue, May 09, 2017 at 20:59:13 +0530, richard nirmal singh wrote:
> Added -pix_fmt yuv420p but it creates video with watermarkimage and audio
> but actual video content is not available.
> 
> ffmpeg.exe -y -i MHPDV000195.mpg -i DAL_WaterMark642x342_new.png
> -filter_complex "overlay=W-w-0:H-h-0" -r 1/10 -s 500x376 -f image2
> OTMM__OUTPUT__FILE%4d.jpg -s 640x352 -aspect 16:9 -r 29.97 -b:v 80 -b:a
> 96000 -ar 48000 -pix_fmt yuv420p MHPDV000195-O.mp4

[...]
> Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bottom first), 
> 432x324 [SAR 1:1 DAR 4:3], 3932 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
[...]
> Stream #1:0: Video: png, rgba(pc), 652x342, 25 tbr, 25 tbn, 25 tbc

You watermark image is larger than your base video. Are you sure the
watermark is in the base's visible area?

>   Stream #0:0 (mpeg2video) -> overlay:main (graph 0)
>   Stream #1:0 (png) -> overlay:overlay (graph 0)
>   overlay (graph 0) -> Stream #0:0 (mjpeg)
>   Stream #1:0 -> #1:0 (png (native) -> h264 (libx264))
>   Stream #0:1 -> #1:1 (mp2 (native) -> aac (native))

Ah, you're doing it wrong. Your filter_complex needs to end in
something like "[out]". And then you add to your command line:
  -map "[out]" -map 0:a

ffmpeg's defaults are taking different streams than you expect.

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".

Re: [FFmpeg-user] Feeding FFMPEG from buffer in c code RAW H264 to MP4 wrapping, or named fifo?

2017-05-10 Thread Moritz Barsnick
On Tue, May 09, 2017 at 22:23:29 +, 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".

Re: [FFmpeg-user] Feeding FFMPEG from buffer in c code RAW H264 to MP4 wrapping, or named fifo?

2017-05-10 Thread Carl Eugen Hoyos
2017-05-09 20:08 GMT+02:00 abraxas1 :
> yes, thanks carl, i went on to do just that.
> first i fed the buffer output to the fifo and piped that to a file.

The ffmpeg command line tool should be able to read from
the fifo to allow you testing without the call to exec().

> Successfully opened the file.

Do not cut the console output if you request help here.

Please do not top-post here, Carl Eugen
___
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".

Re: [FFmpeg-user] ffmpeg: gif to video conversion does not keep gif time delay between frames.

2017-05-10 Thread Carl Eugen Hoyos
2017-05-07 18:16 GMT+02:00 Email Me :

> ffmpeg -f gif -i test.gif -pix_fmt yuv420p -c:v libx264 -f mp4 out1.mp4

> ffmpeg -f gif -i test.gif -f mp4 out2.mp4

Complete, uncut console output missing.

> The input gif has variable frame delays:
>
> Frame 1 - no delay
> Frame 2 - 1 sec
> Frame 3 - 2 sec
> Frame 4 - 4 sec
>
> The generated video file does not maintain these time delay
> between the frames.

It is impossible to show the first frame for "no" time, and this
has an effect on the following frames.

Only constant frame rate mp4 output files are supported by libavformat,
since you didn't provide an output frame rate, FFmpeg tries to
guess one which is not easy for a gif file: It guesses -r 1 because
this is the granularity of the given gif file. Choose a higher frame rate
like -r 10 or -r 25 to show the first frame for a shorter amount of time.
Output frame rates lower than -r 6 will trigger timestamp issues,
the fps filter avoids them but fails outputting the last frame.

Carl Eugen
___
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".

Re: [FFmpeg-user] ffmpeg: gif to video conversion does not keep gif time delay between frames.

2017-05-10 Thread Cley Faye
2017-05-07 18:16 GMT+02:00 Email Me :

> ffmpeg -f gif -i test.gif -f mp4 out2.mp4


​It's hard to tell without seeing the full output from ffmpeg, but there's
a distinct possibility you need to specify a framerate for the output using
-r.
___
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".