[FFmpeg-user] Custom Threading
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
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
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
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
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
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
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
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
>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
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
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?
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
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
> 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
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
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
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
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
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?
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