[FFmpeg-user] Custom Threading

2018-02-14 Thread Robert Nagy
In avfilter it is very easy to override the default threading
implementation by just assigning to AVFilterGraph->execute.

However, this doesn't seem to be possible avcodec. You can't just simply
assign to AVCodecContext->execute(2) since ffmpeg internally always
initializes it's own threading.

Am I missing something? Is it possible to do custom threading with avcodec
somehow?
___
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] hls: hls_list_size breaks program_date_time

2016-11-10 Thread Robert Nagy
If hls_list_size is enabled then the X-DATETIME tags will be wrong when
segments are started to be removed.

On Thu, Nov 10, 2016 at 4:10 PM, Steven Liu  wrote:

> 2016-11-10 18:53 GMT+08:00 Robert Nagy :
>
> > If using hls_list_size together with program_date_time the
> > EXT-X-PROGRAM-DATE-TIME
> > tags start to become wrong when segments are removed.
> > initial_prog_date_time should probably be incremented by the duration of
> > the segments removed.
> >
>
> I can not sure if i misunderstand you,
> Do you mean if use -hls_flags  program_date_time, then should not use
> hls_list_size with value big than 0?
>
> > ___
> > 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".
___
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] hls: hls_list_size breaks program_date_time

2016-11-10 Thread Robert Nagy
If using hls_list_size together with program_date_time the
EXT-X-PROGRAM-DATE-TIME
tags start to become wrong when segments are removed.
initial_prog_date_time should probably be incremented by the duration of
the segments removed.
___
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] hls: program_date_time with user specified inital_prog_date_time

2016-11-10 Thread Robert Nagy
It would be nice if one could explicitly specify the initial_prog_date_time
instead of always using the current system clocks. Especially in cases
where you are transcoding.
___
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] HTTP Reconnect not Recovering

2016-07-29 Thread Robert Nagy
I'm unable to get ffplay/ffmpeg to properly wait and reconnect to a http
stream.

1. ffplay -reconnect 1 -i
http://localhost:8000/file/cir7q2zxh00013l5hh0src1fh.mxf
2. Kill file server
3. Start file server
4. ffplay does not recover

I've also tried with a H264 stream with similar results. Am I doing
something wrong here or misunderstanding the reconnect feature?

Given that I'm getting decoder errors after the 3rd reconnect (before the
file server has started) it looks like the decoder is either getting
incomplete data or just continuing without waiting for the complete data.
Do I need to provide some other flag somewhere?

ffplay -reconnect 1 -i
http://localhost:8000/file/cir7q2zxh00013l5hh0src1fh.mxf
ffplay version 3.1.1 Copyright (c) 2003-2016 the FFmpeg developers
  built with Apple LLVM version 7.3.0 (clang-703.0.31)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.1.1 --enable-shared
--enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables
--enable-avresample --cc=clang --host-cflags= --host-ldflags=
--enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid
--enable-libtheora --enable-libvorbis --enable-libvpx --enable-librtmp
--enable-libass --enable-ffplay --enable-openssl --enable-libwebp
--disable-lzma --enable-nonfree --enable-vda
  libavutil  55. 28.100 / 55. 28.100
  libavcodec 57. 48.101 / 57. 48.101
  libavformat57. 41.100 / 57. 41.100
  libavdevice57.  0.101 / 57.  0.101
  libavfilter 6. 47.100 /  6. 47.100
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale  4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc54.  0.100 / 54.  0.100
Input #0, mxf, from '
http://localhost:8000/file/cir7q2zxh00013l5hh0src1fh.mxf':
  Metadata:
uid : 4d1aae04-d0ab-054c-95dd-c34331a6c180
generation_uid  : e3383bad-5640-d74c-b17d-52f501bf5232
company_name: AVID
product_name: TRMG
product_version : 3.01
product_uid : ----
modification_date: 2016-05-25 19:02:01
material_package_umid:
0x060A2B340101010501010D1313007BC188289BB1014EA5B0C324D39FBD82
timecode: 00:00:00:00
  Duration: 00:01:36.20, start: 0.00, bitrate: 52773 kb/s
Stream #0:0: Video: mpeg2video (4:2:2), yuv422p(tv, bt709), 1920x1080
[SAR 1:1 DAR 16:9], 5 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc
Metadata:
  file_package_umid:
0x060A2B340101010501010D1313005E29E99955696B49929422F6D96275AA
Stream #0:1: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152
kb/s
Metadata:
0x060A2B340101010501010D1313005E29E99955696B49929422F6D96275AA=0KB
sq=0B f=0/0
Stream #0:2: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152
kb/s
Metadata:
  file_package_umid:
0x060A2B340101010501010D1313005E29E99955696B49929422F6D96275AA
2016-07-29 14:40:33.552 ffplay[37392:18604198] 14:40:33.552 WARNING:  140:
This application, or a library it uses, is using the deprecated Carbon
Component Manager for hosting Audio Units. Support for this will be removed
in a future release. Also, this makes the host incompatible with version 3
audio units. Please transition to the API's in AudioComponent.h.
[http @ 0x7faffac2f0e0] Stream ends prematurely at 24747376, should be
634606248
[http @ 0x7faffac2f0e0] Will reconnect at 24747376 error=Input/output error.
[tcp @ 0x7faffad53d80] Connection to tcp://localhost:8000 failed
(Connection refused), trying next address
[tcp @ 0x7faffad53d80] Connection to tcp://localhost:8000 failed:
Connection refused
[http @ 0x7faffac2f0e0] Failed to reconnect at 24747376.
[tcp @ 0x7faffad53d80] Connection to tcp://localhost:8000 failed
(Connection refused), trying next address
[tcp @ 0x7faffad53d80] Connection to tcp://localhost:8000 failed:
Connection refused
[http @ 0x7faffac2f0e0] Stream ends prematurely at 24747376, should be
634606248
[http @ 0x7faffac2f0e0] Will reconnect at 24747376 error=Input/output error.
[tcp @ 0x7faffd02a8e0] Connection to tcp://localhost:8000 failed
(Connection refused), trying next address
[tcp @ 0x7faffd02a8e0] Connection to tcp://localhost:8000 failed:
Connection refused
[http @ 0x7faffac2f0e0] Failed to reconnect at 24747376.
[http @ 0x7faffac2f0e0] Stream ends prematurely at 24747376, should be
634606248
[http @ 0x7faffac2f0e0] Will reconnect at 24747376 error=Input/output error.
[mpeg2video @ 0x7faffe809e00] ac-tex damaged at 14 640B f=0/0
[mpeg2video @ 0x7faffe809e00] Warning MVs not available
[mpeg2video @ 0x7faffe809e00] concealing 480 DC, 480 AC, 480 MV errors in B
frame
___
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] Detect Aborted HTTP Stream

2016-03-12 Thread Robert Nagy
When streaming a non-seekable http response (without Content-Length in
response) that is cancelled on server side, ffmpeg doesn't seem to provide
any warning and it looks to the user like everything worked fine.

Is there any container or options that could at least print a warning if
the connection was closed by the server before the entire stream was
downloaded, e.g. missing trailer?

I have only tried with webm and mkv containers so far. Is there some
streamable demuxer that will fail/warn when not receiving a proper trailer?
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Re: [FFmpeg-user] Accurate Trimming Without Transcoding

2016-03-07 Thread Robert Nagy
I'm not suggesting to throw away the frames.

Keep the frames but set an appropriate start time. That way the "trimmed"
frames would be decoded but not displayed.
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


[FFmpeg-user] Accurate Trimming Without Transcoding

2016-03-07 Thread Robert Nagy
Is it possible to achieve frame accurate trimming of clips without
transcoding?

e.g. if I have a 50 fps file with a fixed gop of 50 frames and I'd like to
trim the first 24 frames without transcoding. Shouldn't ffmpeg simply
generate a remuxed file with a startTime of 0.48s and a duration adjusted
accordingly?

Is this possible to achieve?

I've tried:

ffmpeg -ss 0.48 -i in.mxf -c copy out.mxf

However, this produces a file with startTime 0. Which isn't correct...
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Re: [FFmpeg-user] No duration with pipe:1 as output

2016-02-08 Thread Robert Nagy
>Not if there are filters that alter the timestamps, nor if the source file
> duration is not accurate enough or completely unknown.

True, but if that is not the case then it would? In theory it should
be possible to make a conservative guess.

Would be nice to be able to at least specify it manually if known in
advance:

e.g.

-metadata duration=00:00:25:00

or something...
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Re: [FFmpeg-user] No duration with pipe:1 as output

2016-02-08 Thread Robert Nagy
And why is that an issue? It could just pipe out the duration at the start
of the file since it knows the duration from the source file... or is it
possible to manually specify the duration so that it is written?
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


[FFmpeg-user] No duration with pipe:1 as output

2016-02-08 Thread Robert Nagy
When I set "pipe:1" as the output the resulting file always ends up without
a duration in it's metadata/header (ffprobe doesn't find it).

I'm primarily interested in outputting webm, but I have the same issues
with nut and mkv.

Is there a way around this?
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


[FFmpeg-user] Always merge audio all streams?

2016-02-01 Thread Robert Nagy
Is there a way to always merge all audio streams into a single one? Without
knowing in advance how many there are?

I've tried to use the amerge filter but it requires the number of audio
streams provided manually...
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


[FFmpeg-user] Memory Leak

2015-11-12 Thread Robert Nagy
While reading a raw mpeg2video stream the memory usage of each ffmpeg
thread is constantly and slowly increasing.

read_source | ffmpeg -f mpegvideo -probesize 5000 -i - -f mpeg1video
-bf 0 -b 2M -vf field,scale=w=320:h=180 -threads 1 -an - | write_target

Also even though I have specified threads 1 in htop I can see that the
ffmpeg process has spawned several threads.

Any ideas as to what might be issue?

ffmpeg version 2.8.1 Copyright (c) 2000-2015 the FFmpeg developers

built with gcc 5.2.0 (GCC)

configuration: --prefix=/usr --disable-debug --disable-static
--disable-stripping --enable-avisynth --enable-avresample
--enable-fontconfig --enable-gnutls --enable-gpl --enable-ladspa
--enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi
--enable-libgsm --enable-libmodplug --enable-libmp3lame
--enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg
--enable-libopus --enable-libpulse --enable-libschroedinger
--enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora
--enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libwebp
--enable-libx264 --enable-libx265 --enable-libxvid --enable-shared
--enable-version3 --enable-x11grab

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
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Re: [FFmpeg-user] Concurrent Segment/Concat Read/Writes

2015-04-26 Thread Robert Nagy
> It would have been easier if the format itself was concatenable.

What formats would you suggest?

> You can probably do slightly better using
pipes.

Hm. You mean I would create a named pipe for every segment with the name =
filename?

> Please do not top-post on this mailing-list. If you do not know what it
> means, look it up.

Yea, sorry about that. Forgot that gmail hides the post.
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Re: [FFmpeg-user] Concurrent Segment/Concat Read/Writes

2015-04-26 Thread Robert Nagy
In what way does it depend on the formats? The files are streamed to/from
in a nut container.

I've managed to fake it on the segmenting side by buffering through a file,
i.e. the segmenter writes to disk and then I wait for the segment_list
items and start uploading and then remove from disk once finished.
Unfortunately this solution will only upload completed segments, it cannot
upload while writing since the segment_list is only updated for finished
segments.

On the concat side I haven't found any workaround.


On Sun, Apr 26, 2015 at 11:20 AM, Nicolas George  wrote:

> Le septidi 7 floréal, an CCXXIII, Robert Nagy a écrit :
> > I'm using ffmpeg to segment/concat a 120Mbit/s file in 2 second segments
> > to/from a HTTP server. The problem is that ffmpeg only writes/reads one
> > segment at a time which doesn't fully use all available bandwidth.
> >
> > Each request to/from the server has a limit of 10MB/s. However using 5+
> > concurrent request it can get all the way up to 50+ MB/s.
> >
> > Is there some way I can get the segment/concat muxer/demuxer to run
> several
> > requests concurrently?
>
> Not currently.
>
> I can see several manual solutions, based on using an external HTTP client
> instead of the one built into FFmpeg, but it all depends on the exact
> formats you use.
>
> Regards,
>
> --
>   Nicolas George
>
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
>
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


[FFmpeg-user] Concurrent Segment/Concat Read/Writes

2015-04-26 Thread Robert Nagy
I'm using ffmpeg to segment/concat a 120Mbit/s file in 2 second segments
to/from a HTTP server. The problem is that ffmpeg only writes/reads one
segment at a time which doesn't fully use all available bandwidth.

Each request to/from the server has a limit of 10MB/s. However using 5+
concurrent request it can get all the way up to 50+ MB/s.

Is there some way I can get the segment/concat muxer/demuxer to run several
requests concurrently?

If not I'll have to modify ffmpeg myself and would in that case appreciate
any tips.
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


[FFmpeg-user] Frame Accurate and Fast Clip Trimming

2015-01-31 Thread Robert Nagy
I need to frame accurately trim the start on a long clip in a fast way.

I am aware that for frame accurate seeking one needs to decode and
re-encode a clip. However, that would be to slow for my usage.

So what I was think of was seeking to the first frame before the seek point
and decode to the first frame after the seek point. Re-encode that part and
then concat the new start with the clip from the first key after the seek
point.

I'm not quite sure how to achieve this. In particular, how I would make
sure to seek to the keyframe after and not before for the second concat
part?
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Re: [FFmpeg-user] X264 and Smooth Text

2015-01-19 Thread Robert Nagy
Haven't tried two-pass encode. But I can't quite use 2 pass encoding in my
usage scenario since I'm capturing live.

On Mon, Jan 19, 2015 at 6:04 PM, Werner Robitza 
wrote:

> On Mon, Jan 19, 2015 at 7:49 AM, Robert Nagy  wrote:
>
> > However, at the first 1-2 seconds of the video the text looks quite a bit
> > worse and then "pops" to better quality.
> >
> > Is there some setting I can use so that x264 uses a higher bitrate at the
> > beginning of a clip as to avoid the "pop"?
> >
>
> I'm surprised that CRF 18 exhibits this kind of rate control issue. Have
> you tried a fixed-bitrate two-pass encode?
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


[FFmpeg-user] X264 and Smooth Text

2015-01-18 Thread Robert Nagy
I'm encoding some video using x264 to Main 3.2 for streaming playback on
Apple devices.

The video contains quite a bit of text which ends up with rather non smooth
edges. Which there probably is not much to do about in Main profile.

However, at the first 1-2 seconds of the video the text looks quite a bit
worse and then "pops" to better quality.

Is there some setting I can use so that x264 uses a higher bitrate at the
beginning of a clip as to avoid the "pop".

I'm using settings along the following lines right now:

ffmpeg -i in.mov -codec:v libx264 -crf 18 -maxrate 3M -bufsize 12M -preset
faster -profile:v main -level 3.2 out.mov
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


[FFmpeg-user] select scene and skip 2 seconds?

2015-01-05 Thread Robert Nagy
I want to generate some thumbnails for a video library.

Currently I'm using:

-frames:v 1 -filter:v "select=gt(scene\,0.5)" thumb.png

Which almost works. The problem is that I'd like the thumbnail to be taken
2 seconds after the scene change have been detected.

Is there a way to achieve that?
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user