[Ffmpeg-devel-irc] ffmpeg.log.20160510
burek
burek021 at gmail.com
Wed May 11 02:05:01 CEST 2016
[00:13:04 CEST] <vade> Mavrik: just to be clear about time correction for stream timestamps: order is a) demux a packet, see which stream it came from. convert the packet from the stream time base to codec time base, decode, or demux a packet, see which stream it came from, decode, convert the frame packet from stream time base to codec time base?
[00:15:32 CEST] <Mavrik> demux -> (packet is now in stream timebase) -> to codec timebase -> decode -> (AVFrame is now in codec timebase) -> ...
[00:15:43 CEST] <Mavrik> Usually you set codec timebase to streamtimebase to skip that conversion
[00:19:38 CEST] <vade> when I demux, the timestamp conversion happens for me, or do I have to use av_rescale_q ?
[00:20:56 CEST] <Mavrik> when you demux, you get the timestamps as they are in the stream.
[00:21:04 CEST] <vade> ok
[00:21:17 CEST] <vade> thanks. Im just seing weird behaviour with one movie and Im trying to track it down, and likely confusing myself.
[00:21:18 CEST] <Mavrik> It's pretty obvious what they are if you just look at the numbers :/
[00:21:32 CEST] <vade> yea, im logging the numbers, i think im just converting incorrectly manually
[02:58:11 CEST] <Prelude2004c> hey, can anyone help ? I am still struggling here . [mpegts @ 0x36b7180] Non-monotonous DTS in output stream 0:0; previous: 38545191, current: 38545191; changing to 38545192. This may result in incorrect times
[03:21:23 CEST] <petecouture> Prelude2004c: Can you post your encoding line?
[03:21:32 CEST] <Prelude2004c> of course..
[03:22:16 CEST] <Prelude2004c> http://pastebin.com/raw/bpct6R03
[03:22:52 CEST] <Prelude2004c> i am so confused. i have chnaged options soo many times... i don't know what those errors are. the files play fine in VLC but when i try to use ffmpeg to convert it gives me all those errors :(
[03:24:33 CEST] <Prelude2004c> maybe its because i am outputing mpegts ?
[03:24:40 CEST] <Prelude2004c> some other format may work better ?
[03:26:50 CEST] <petecouture> I'm lookin at it now
[03:26:54 CEST] <petecouture> used to get that issue all the time
[03:26:59 CEST] <petecouture> but your script is different then I've seen
[03:27:04 CEST] <petecouture> Is NvTranscoder the source encoder?
[03:37:49 CEST] <Prelude2004c> ya hardware encoder
[03:37:56 CEST] <Prelude2004c> its nvidia
[03:38:31 CEST] <Prelude2004c> i know ffmpeg has the nvenc built in but i found it uses up more resources & to decode i have to use vdpau which also requires X... with this library it can encode/decode with x running
[03:38:41 CEST] <Prelude2004c> and it uses up less CPU resorces..
[03:38:56 CEST] <Prelude2004c> the issue seems to be from the source .. not the transcoder
[03:39:13 CEST] <Prelude2004c> i don't know how to make it so the source PTS / DTS , and everything is cleanred before sending off to transcoder
[04:03:17 CEST] <fling> Why is not 'Stream #0:2' getting copied? -> http://dpaste.com/1QPB291
[05:00:07 CEST] <Gues> If I statically link ffmpeg and only use one decoder, will my binary include a small percentage of ffmpeg?
[05:00:30 CEST] <Gues> I want to use the MP3 decoder.
[05:01:16 CEST] <Gues> Also, I'm curious roughly what size my binary will be.
[05:10:45 CEST] <Prelude2004c> petecouture , you never got back to me on throughts
[05:10:47 CEST] <Prelude2004c> thoughts*
[05:13:44 CEST] <petecou__> Prelude2004c sorry I have a lot going on atm. Give me a few minutes and I'll try to work with you on that
[05:14:14 CEST] <Prelude2004c> np..thank you for trying :)
[05:14:21 CEST] <Prelude2004c> i been stuck on this for 4 days :(
[05:52:29 CEST] <Gues> Wow, the source is 48 MB, and there are 1,148,773 lines.
[10:13:34 CEST] <c0rnw19> Hello world!
[10:16:36 CEST] <c0rnw19> Someone can help me? :) I would like use ocr with ffmpeg
[10:23:15 CEST] <loopsmark> Hi, this is quite a noob question, but after compiling the sources in raspbian I dont get the .so libraries, eventhouhg in ./configre I passed the --enable-static parameter. Could someone give me a hint?
[10:27:27 CEST] <c0rnw19> http://stackoverflow.com/questions/36373582/how-can-i-hide-a-text-on-udp-video-streaming
[10:37:03 CEST] <jkqxz> loopsmark: so == Shared Object. Try --enable-shared, not --enable-static.
[10:38:52 CEST] <loopsmark> jkqxz: yes yes yes, makes sense
[11:06:31 CEST] <mrteatime> Anyone got any ideas for a muxer that supports raw video, im using avi atm and ive gotten my rawvideo over udp stream to be almost completely stable (i also have around 100ms latency wew) but just need a touch more error correction
[11:06:52 CEST] <mrteatime> I would use matrosky but its not officially supported so ffplay doesnt like getting rawvideo from it.
[11:09:48 CEST] <CoJaBo> c0rnw19: ..what are you trying to do lol
[11:10:52 CEST] <mrteatime> Stream a rawvideo feed over a usb3.1 cable to a separate machine that will handle the encoding process.
[11:11:56 CEST] <mrteatime> Really i was just trying to eliminate as much overhead as i can, and decided stripping the encoding process on the source machine would solve alot of over head (i dont have to encode, decode and then reencode if i stream uncompressed)
[11:12:22 CEST] <mrteatime> The issue now is just finding a better container than avi that supports uncompressed :/
[11:12:43 CEST] <fling> The video got encoded with the wrong fps set. How do I fix?
[11:13:04 CEST] <fling> '-filter:v "setpts=10" -c copy' gives me 'Filtering and streamcopy cannot be used together.'
[11:13:16 CEST] <CoJaBo> mrteatime: MKV?
[11:13:48 CEST] <fling> ahh I should set the input framerate instead&
[11:14:20 CEST] <mrteatime> Yeah mkv is matrosky, i would use that but ffplay likes to shit itself if i try to play the udp stream, something about invalid header info
[11:14:54 CEST] <mrteatime> Granted i may just be missing a setting since to encode rawvideo mkv you have to force -allow_raw_vmw to do it.
[11:15:42 CEST] <mrteatime> matroska*
[11:17:35 CEST] <fling> It does not work. How do I set the new framerate for a video without a reencode?
[11:19:05 CEST] <c0rnw19> CoJaBo: I would like detect and hide a text
[11:19:22 CEST] <CoJaBo> that moves?
[11:19:40 CEST] <c0rnw19> yes.. I need to detect this position
[11:19:55 CEST] <CoJaBo> ..yeh, you're probably already doing it the optimal way then
[11:20:25 CEST] <CoJaBo> If it moves slowly, one optimization would be to crop to a bit larger than the last known rect before running the OCR
[11:20:39 CEST] <c0rnw19> with emgucv and opencv is possible I know, but very very slow.. maybe with ffmpeg will be faster
[11:20:56 CEST] <CoJaBo> AFAIK, ffmpeg does not have an OCR.. lol
[11:21:28 CEST] <c0rnw19> but when I compile, why I enable tesseract?
[11:23:13 CEST] <fling> How do I workaround this? -> https://trac.ffmpeg.org/ticket/926
[11:23:57 CEST] <CoJaBo> c0rnw19: huh, damn, there is an OCR filter. Doesn't look like it exports anything but the raw text tho
[11:25:15 CEST] <CoJaBo> c0rnw19: tesseract in ffmpeg isn't going to be any faster than tesseract in something else. It's still OCR, and OCR is slow.
[11:25:16 CEST] <c0rnw19> CoJaBo: hmm ok thanks:) And what do you think, which method can I use ?
[11:26:14 CEST] <CoJaBo> the sad part is, I have an app that does almost exactly that, but it's not something I can redistribute >_>
[11:26:22 CEST] <fling> How do I perform this using ffmpeg instead of gpac? -> MP4Box -add SourceMovie.mp4#video -raw 1 -new test && MP4Box -add test_track1.h264:fps=30 -new DestMovie.mp4
[11:26:52 CEST] <c0rnw19> If I compare an img that include my text? maybe more faster than ocr
[11:29:44 CEST] <CoJaBo> c0rnw19: If the text doesn't change, a pattern-recognition algo may be faster
[11:29:59 CEST] <CoJaBo> c0rnw19: Also, the crop thing I told you about
[11:30:34 CEST] <c0rnw19> no it doesn't change
[11:32:50 CEST] <c0rnw19> CoJaBo: can do this with ffmpeg "pattern-recognition"?
[11:33:52 CEST] <CoJaBo> I would doubt ffmpeg comes with pattern-recognition built-in lol..
[11:35:57 CEST] <CoJaBo> It's possible tesseract itself could sorta work that way if you messed with the character DB tho.. At the least, maybe removing all but the characters appearing in the string
[11:37:00 CEST] <CoJaBo> Or hell, all but one character, and figure out the bounding rect from that one. No idea how that'd impact speed/reliability tho
[11:39:11 CEST] <c0rnw19> Hmm, I found this : https://github.com/vadimkantorov/cvpr2014..
[11:39:46 CEST] <c0rnw19> If I edit dictonnary of tesseract? and leave only character that I need
[11:40:28 CEST] <CoJaBo> Also this https://github.com/tesseract-ocr/tesseract/wiki/TrainingTesseract
[11:40:49 CEST] <CoJaBo> If you can get a clean image of your text string, train it on that
[11:42:02 CEST] <CoJaBo> I maanaged to abuse the hell out of a facial-recognition tool to get it to recognize other objects once lol
[11:43:27 CEST] <c0rnw19> hehe :D , yes I will try...
[11:47:23 CEST] <c0rnw19> from doc : Tesseract is slower with large character set languages (like Chinese)
[11:47:24 CEST] <c0rnw19> :D
[12:03:38 CEST] <neuro_sys> Which would be faster to *read*? 1.5 GB raw set of BMP images or 40mb mp4?
[12:08:37 CEST] <c0rnw19> CoJaBo: do you know how can I train from clear image?
[12:12:38 CEST] <durandal_1707> neuro_sys: depends what an how much is disk reading faster than mp4 decoding
[12:17:28 CEST] <neuro_sys> I see
[12:19:00 CEST] <brontosaurusrex> vp9 with: -pix_fmt yuv420p -c:v libvpx-vp9 -crf 21 -threads 16 -tile-columns 6 -frame-parallel 1 -b:v 0
[12:19:26 CEST] <brontosaurusrex> looses over similary-bitrated x.264 everytime, what am I missing?
[12:26:11 CEST] <neuro_sys> I just realized that this doesn't work: ffmpeg -i base_video.mp4 -i animation_part1/%4d.png -i animation_part2/%4d.png -filter_complex "[0:v][1:v]overlay=enable='between(n, 100, 300)'[out1];[out1][2:v]overlay=enable='between(n, 500, 600)'[out2]" -map '[out2]' output.mp4
[12:26:44 CEST] <neuro_sys> It produces overlays using only the first frame in [1:v] and [2:v]
[12:29:42 CEST] <brontosaurusrex> trying -speed 0 now .... (getting 0.5 fps, lol)
[12:36:48 CEST] <CoJaBo> c0rnw19: the link i just sent
[12:49:20 CEST] <c0rnw19> CoJaBo: Yes I'm reading, but my english isn't very good :D
[13:34:27 CEST] <mrteatime> Ok so weve had a development, i managed to achieve around 200ms latency using tcp and tweaking my tcp settings, now that i have the whole how to stream the raw feed thing out of the way ive run into another issue.
[13:36:28 CEST] <mrteatime> Ffmpeg is outputting the rawvideo stream at less than the 60 fps i am telling it to, namely at a speed of 0.268x, id imagine thats supposed to be based on cpu usage, but ffmpg is only using 15% so clearly im missing something here.
[13:39:09 CEST] <khali> hello everyong
[13:39:17 CEST] <khali> everyone, even
[13:39:31 CEST] <mrteatime> Gday
[13:39:40 CEST] <khali> is there any documentation available for the -f libav input options?
[13:40:03 CEST] <khali> I see examples of it in many places, but can't find a list of options and what they do
[13:45:31 CEST] <jkqxz> khali: <http://ffmpeg.org/ffmpeg-formats.html>?
[13:55:57 CEST] <loopsmark> Hi everyone, I am initializing the AVCodecContext, which is loading the AV_CODEC_ID_MJPEG, with width and height, but I am getting "Picture size 960x0 is invalid" but I actually initialize it with width 1280 and height 960. Someone knows why does that happens?
[14:01:56 CEST] <jkqxz> You aren't using the headers from the same version, maybe? (Fields can move between versions.)
[14:03:02 CEST] <khali> jkqxz: I can't see anything related to libav as an input on that page, sorry
[14:03:11 CEST] <loopsmark> hmmm, could be could be, I'll double check!
[14:06:55 CEST] <jkqxz> khali: Do you actually mean -f lavfi, as in the delogo bug you're poking? Then <http://ffmpeg.org/ffmpeg-filters.html#Video-Sources>.
[14:07:00 CEST] <mrteatime> anyone know why this "ffmpeg -r 60 -f gdigrab -offset_x 0 -offset_y 0 -video_size 1920x1080 -i desktop -vf fps="fps=60" -video_size 1920x1080 -f rawvideo -pixel_format rgb32 -fflags nobuffer tcp://127.0.0.1:1234" would never output atleast 1x encoding speed
[14:07:28 CEST] <mrteatime> Ive even dropped the reso to 640x360 and gotten a cpu usage of literally 2%, still it refuses to go above 0.5x
[14:07:41 CEST] <khali> jkqxz: I think I found what I need: http://ffmpeg.org/ffmpeg-filters.html#Video-Sources
[14:07:57 CEST] <khali> ah, lol, you just wrote that, I'm slow ^^
[14:08:04 CEST] <relaxed> mrteatime: that should be -pix_fmt rgb32
[14:08:10 CEST] <khali> jkqxz: thanks, btw
[14:08:31 CEST] <jkqxz> Heh :)
[14:08:46 CEST] <mrteatime> @relaxed pixel_format rgb32 works, my issue is the output framerate doesnt match the fps values i set
[14:08:47 CEST] <relaxed> mrteatime: and "ffmpeg -framerate 60 ...
[14:09:13 CEST] <mrteatime> again -r is exactly the same setting as -framerate
[14:09:20 CEST] <relaxed> rtfm
[14:09:24 CEST] <khali> jkqxz: the delogo bug is fixed as far as I can see
[14:09:35 CEST] <khali> just waiting for someone to review my patch
[14:10:25 CEST] <khali> jkqxz: I've attached it to the bug... do you think I should post it to the list too?
[14:11:07 CEST] <mrteatime_> relaxed if you want to be a complete dipshit you might want to read the manual yourself
[14:11:24 CEST] <mrteatime_> Both of the things you mentioned are literally just different ways of writing exactly the same thing
[14:11:28 CEST] <mrteatime_> aka they are the same fucking command
[14:12:04 CEST] <mrteatime_> now if you cant figure out why the params i posted arent encoding at full speed, dont say anything
[14:12:53 CEST] <jkqxz> khali: Probably best if you post it to the list yourself.
[14:12:57 CEST] <speak> mrteatime_: I don't know which version you're using of ffmpeg, but the manual says they differ nowadays (I don't know if that affects the issue you are both talking about, though)
[14:13:50 CEST] <mrteatime_> speak_: it was more use -framerate instead of r, and -pxl_fmt instead of -pixel_format
[14:14:17 CEST] <mrteatime_> They are interchangeable basically.
[14:15:23 CEST] <speak> Alright
[14:15:43 CEST] <relaxed> from the man page, "This is not the same as the -framerate option used for some input formats like image2 or v4l2 (it used to be the same in older versions of FFmpeg)."
[14:15:57 CEST] <relaxed> OH SNAP
[14:15:57 CEST] <mrteatime_> Relaxed, im using the latest version of ffmpeg
[14:16:04 CEST] <mrteatime_> if it was on the manual page, my code wouldnt work
[14:16:05 CEST] <mrteatime_> period
[14:16:14 CEST] <mrteatime_> Read the fucking manual
[14:16:27 CEST] <relaxed> I just quoted from it
[14:16:57 CEST] <jkqxz> -framerate and -r don't do the same thing at all. -framerate is an option to some inputs to set the capture framerate. -r is a global option which tells it to throw away input timestamps and make up new ones with the given fixed framerate.
[14:17:24 CEST] <relaxed> mrteatime_: see, you need to listen more and stop assuming you know everything.
[14:17:25 CEST] <jkqxz> In this case, you want to set the capture framerate, so you want -framerate.
[14:17:39 CEST] <mrteatime_> Oh would you look at that, i changed it to -framerate instead of -r
[14:17:42 CEST] <mrteatime_> guess what happened
[14:17:44 CEST] <mrteatime_> it broke the stream
[14:17:50 CEST] <mrteatime_> Now it wont play at all *gasp*
[14:22:39 CEST] <jkqxz> (gdigrab framerate defaults to ntsc (29.97). With your -r set to throw away those timestamps and treat it as fixed-60fps it probably tries to play back at double speed. The streaming might do something weird to that, though: try writing to a file instead to test.)
[14:47:57 CEST] <khali> jkqxz: will do, thanks
[17:55:03 CEST] <dmccabe> Internet Explorer is turning the white background in my h264 video to light gray. All other browsers display white. Can ffmpeg set a color space for web that will display correctly?
[18:00:04 CEST] <vade> my ffmpeg libavformat encode to h.264 via x264 is missing the last frame. Im making sure to flush my decoders output, and my encoders output, and my packet read and written, and frame decoded and encoded count match, however im defiitely missing the last frame. Is this a known issue ? I see a lot of reports regarding this now that ive looked
[18:05:37 CEST] <Kanov> is it possible to merge two .mkv files with two different subtitles?
[18:08:31 CEST] <c_14> merge as in concatenate?
[18:10:52 CEST] <neuro_sys> Could anyone please take a look at this filter I'm trying included with the assets? ~/ffmpeg-3.0.2-64bit-static/ffmpeg -y -i small.mp4 -i monkey/monkey_%04d.png -filter_complex "[0:v][1:v]overlay=enable='between(t, 1, 5)'[out1]" -map '[out1]' output.mp4
[18:10:56 CEST] <neuro_sys> woops
[18:10:58 CEST] <neuro_sys> https://drive.google.com/file/d/0BxIQVP1zErDPYXRveG9hN0c0Qjg/view?usp=sharing
[18:12:11 CEST] <neuro_sys> Disregard the wrong paste, google drive one has the tarball
[18:15:52 CEST] <Kanov> c_14; correct
[18:16:12 CEST] <c_14> Kanov: as long as both are text, I don't see a problem
[18:16:30 CEST] <Kanov> c_14; what do you mean by text
[18:16:57 CEST] <Kanov> c_14; .mkv is a video file
[18:17:20 CEST] <c_14> Kanov: both subtitle streams, ass or srt or something like that instead of pgs etc
[18:17:36 CEST] <Kanov> c_14; yes the subtitles are both .srt
[18:17:48 CEST] <Kanov> c_14; can you give me a command which can do this please
[18:18:23 CEST] <c_14> https://trac.ffmpeg.org/wiki/Concatenate
[18:19:18 CEST] <Kanov> but what about the subtitles
[18:19:31 CEST] <c_14> that should just work
[18:19:48 CEST] <c_14> Or does each file have multiple subtitle streams?
[18:19:52 CEST] <c_14> In that case you just need to add a map
[18:20:13 CEST] <Kanov> ok
[18:20:42 CEST] <c_14> neuro_sys: looks like a bug to me
[18:22:03 CEST] <neuro_sys> c_14: when I remove enable option, it just works, except I can't specify the interval it should overlay on...
[18:22:44 CEST] <neuro_sys> I thought the possibility of its being a bug, or I'm just misunderstanding the use of enable in there.
[18:23:01 CEST] <c_14> When I removed the enable it still didn't work, let me retest
[18:23:10 CEST] <neuro_sys> I'm thinking of another way to overlay a series of images on top of a video at a specific interval
[18:23:37 CEST] <c_14> Oh, it does. Must have messed something up
[18:24:12 CEST] <c_14> You could turn the images into a video and then overlay that instead
[18:24:22 CEST] <neuro_sys> c_14: would a video keep alpha channel?
[18:24:39 CEST] <neuro_sys> also, I was wondering if I could use trim filter to try it in a different way
[18:25:11 CEST] <neuro_sys> I also plan on turning the video into images beforehand, and use imagemagick to overlay them, and later put back into a video but it sounds very inefficient.
[18:25:36 CEST] <c_14> neuro_sys: depends on the codec, some can. It will as long as it has an 'a' in the pixel format like gbra or yuva444p etc
[18:26:17 CEST] <neuro_sys> okay, I should find a suitable codec and try with that then
[18:29:57 CEST] <c_14> ffv1 should work
[18:35:20 CEST] <neuro_sys> c_14: I tried it to no avail.
[18:35:28 CEST] <neuro_sys> but wait
[18:37:17 CEST] <neuro_sys> https://gist.github.com/neuro-sys/09bdab432bbaf4e6b16c0a4d61465433
[18:37:36 CEST] <neuro_sys> This is the script I tried
[18:38:03 CEST] <neuro_sys> other than the alpha channel, it seems to do with the way enable option works.
[18:40:04 CEST] <neuro_sys> I wonder what other options I have, if not with ffmpeg
[18:44:47 CEST] <rubdos> Hi! Downconverting hi10 to standard 8 bit x264 seems very slow to me. I'm on a 5th gen Core i5 i5-5200U, 8GB of RAM and it only goes at 0.35x
[18:45:18 CEST] <rubdos> Command used: ffmpeg -i "$i" -vcodec libx264 -crf 19 -acodec copy out/$i
[18:45:38 CEST] <c_14> resolution?
[18:45:41 CEST] <rubdos> 1080p
[18:46:34 CEST] <rubdos> I would think that chopping of two bits wouldn't take so long, but converting this whole thing takes 38 hours to complete... A bit long for me ^^
[18:47:01 CEST] <c_14> It does have to reencode the entire video (and decode the 10bit part as well)
[18:47:40 CEST] Action: rubdos feels sad now.
[18:47:49 CEST] <c_14> you can use a faster preset
[18:48:17 CEST] Action: c_14 gets about 1.4x here with content that's easy to encode and without decoding on a Core i7
[18:48:59 CEST] <rubdos> I wouldn't think this is easy to encode. What preset do you use?
[18:49:08 CEST] <rubdos> (if I may ask)
[18:49:16 CEST] <c_14> default which is medium
[18:49:41 CEST] <rubdos> so, no -crf then?
[18:49:44 CEST] <c_14> neuro_sys: try adding -pix_fmt bgra when creating the mkv from the images
[18:49:51 CEST] <c_14> rubdos: -crf 19
[18:50:01 CEST] <c_14> neuro_sys: I don't think bgr0 (which is what it chose by default here) has alpha
[18:50:07 CEST] <rubdos> oh, so, exactly what I was using then... :(
[18:50:28 CEST] Action: rubdos Wonders whether he should have gone with the i7 model on this thing.
[18:51:28 CEST] <neuro_sys> c_14: It solves alpha, thanks
[18:52:02 CEST] <neuro_sys> however yet remains the dark mystery of a broken continous overlay animation
[18:53:19 CEST] <jkqxz> rubdos: The gain would not be significant if it's still a Broadwell-U (5600U or whatever). You need a chip with much higher TDP to make any useful gain.
[18:53:41 CEST] <rubdos> jkqxz, that's what I thought when I bought this thing, glad I'm kinda right :)
[18:54:12 CEST] <rubdos> sigh. I'll have to order a 16 core Xeon with some nVidia's to transcode this thing then... :D
[18:54:22 CEST] Action: rubdos made a joke. Doesn't have the money.
[18:56:08 CEST] <c_14> neuro_sys: probably still the same bug, just that it isn't related to the image2 filter but rather always happens with overlay and enable
[19:08:25 CEST] <neuro_sys> c_14: Apparently so. Are you one of the ffmpeg devs?
[19:08:54 CEST] <c_14> I have written patches for ffmpeg, but I wouldn't call myself an ffmpeg dev.
[19:40:18 CEST] <pgorley> In this table: https://trac.ffmpeg.org/wiki/HWAccelIntro#FFmpegImplementations what does the AVHWAccel column represent exactly?
[19:41:08 CEST] <pgorley> This link should direct to the right anchor, sorry: https://trac.ffmpeg.org/wiki/HWAccelIntro#FFmpegimplementations
[19:46:30 CEST] <DHE> pgorley: http://ffmpeg.org/doxygen/3.0/structAVHWAccel.html I believe it refers to this
[19:47:31 CEST] <pgorley> Basically a call to ff_find_hwaccel wouldn't return null?
[19:48:17 CEST] <DHE> as I understand it ff_* functions are considered private and not for users to use
[19:49:03 CEST] <pgorley> Oh, I'll keep that in mind then, thanks
[19:50:28 CEST] <DHE> docs on hwaccel are not as easy to find...
[19:51:14 CEST] <pgorley> I noticed haha
[19:51:52 CEST] <JEEB> https://github.com/FFmpeg/FFmpeg/blob/master/doc/examples/qsvdec.c
[19:51:56 CEST] <JEEB> example that uses one of the hwaccels
[19:52:31 CEST] <JEEB> do note that the hwaccels are just helpers putting the usage of a given hardware decoder within the libavcodec framework
[19:52:46 CEST] <JEEB> you still need to do the initialization/whatever on your own side of related things
[19:53:28 CEST] <pgorley> Thanks
[19:54:42 CEST] <JEEB> it's usually a good idea to also take a look at how the hwaccel for the thing you are planning to use looks like
[19:54:52 CEST] <JEEB> inside libavcodec
[20:13:43 CEST] <vade> what circumstances would a AVFrame decoded from avcodec_decode_video2 return a DTS thats AV_NOPTS_VALUE ?
[20:13:46 CEST] <vade> the last frame?
[20:19:51 CEST] <DHE> well, frames don't have a DTS. only a PTS. they're not encoded so no decoding is required
[20:20:26 CEST] <DHE> if you mean pkt_pts, the docs say it's not filled in when threaded decoding is used, so that might be related
[20:21:01 CEST] <vade> yes apologies, pkt_dts
[20:22:14 CEST] <vade> im having an issue where it appears a frame vanishes in my output compared to my input. Ive demuxed 120 packets, decoded 120 frames, encoded 120 frames, and muxed 120 packets to my container MP4 - Quicktime indicates frame 59 has vanished
[20:22:16 CEST] <vade> literally
[20:22:42 CEST] <vade> but I think its how it counts frames based on the duration of a track
[20:22:49 CEST] <vade> its half way through. I have a video :
[20:23:03 CEST] <vade> https://www.dropbox.com/s/6v62cqmh84mfqvr/LOST%20A%20FRAME.m4v?dl=0 (source on left, re-encode on right)
[20:23:43 CEST] <vade> stepping through timecode tagged frames shows me the issue. I m using av_rescale_q_rnd with AV_ROUND_NEAR_INF | AV_ROUND_PASS_MINMAX
[20:24:43 CEST] <vade> but i cant deduce where its happening in my liav* code
[20:24:53 CEST] <vade> *libav rather
[20:25:15 CEST] <vade> only thing I see is the last, and only the last decoded AVFrame has that no pts
[20:25:21 CEST] <vade> for pak_dts
[20:25:59 CEST] <JEEB> you should check with L-SMASH's boxdumper the timestamps for your output
[20:26:43 CEST] <JEEB> you can either get a textual representation of the whole container structure and most common values in those structures, or just the CTS/DTS
[20:26:53 CEST] <JEEB> (CTS is what is generally called PTS)
[20:37:20 CEST] <vade> Thanks, ill investigate.
[20:40:52 CEST] <storrgie> I'm using number 6 on this list to add text to a video (https://sites.google.com/a/asu.edu/wireless-video-sensor/video/how-to-setup-full-ffmpeg-tools-in-ubuntu-11-10/useful-ffmpeg-commands) but the re-encoded video has a lot of abberations in it and is significantly smaller in size than the original. Is there something I can do to preserve the original quality?
[20:41:52 CEST] <JEEB> that's because you're not setting a video encoder nor any rate control
[20:42:06 CEST] <JEEB> you can see in your terminal output which video encoder your ffmpeg build picked
[20:43:27 CEST] <JEEB> (most encoders just default to 200kbps ABR for rate control, which sounds like what's happening)
[20:43:32 CEST] <JEEB> basically somewhere after the input file you do -c:v libx264 -crf 23
[20:43:33 CEST] <JEEB> that uses the libx264 encoder which is probably the best stuff you can stuff into an mp4
[20:43:43 CEST] <storrgie> you're right, I did `-vcodec libx264 -vb 5000k` and it changed significantly
[20:43:56 CEST] <JEEB> don't use bit rate based rate control unless specifically required
[20:44:10 CEST] <JEEB> esp. with 1pass encoding
[20:44:18 CEST] <storrgie> im using what you specified now, looks great
[20:44:28 CEST] <JEEB> basically that's the default CRF value
[20:44:35 CEST] <JEEB> if it looks bad, go lower
[20:44:39 CEST] <JEEB> if it looks good, go higher
[20:44:51 CEST] <JEEB> then at some point you have found the highest CRF value that still looks good for you
[20:45:27 CEST] <JEEB> perfect for when you don't have a note somewhere saying "your file must be of file size X"
[20:45:37 CEST] <JEEB> which is the only reason to use 2pass bit rate based rate control
[20:46:05 CEST] <JEEB> (if this video is to be used through limited bandwidth pipes then you will want to use -maxrate and -bufsize to limit CRF)
[20:47:00 CEST] <JEEB> maxrate being the maximum average rate over bufsize that the video is to be able to take. it can take less, but it will limit the encoder to that as a maximum.
[20:47:11 CEST] <storrgie> nah, we're just shooting it over to someone for a presentation
[20:47:14 CEST] <storrgie> it just needed to be watermarked
[20:47:33 CEST] <JEEB> ok, then do some tests with CRF values to optimize it for compression and quality for yourself => done
[20:48:04 CEST] <vade> JEEB: so this is interesting. FFMPEG command line takes 120 frames in and returns 121 frames out for a transcode. However it is NOT missing the middle frame, but has an *extra* frame at the end
[20:48:16 CEST] <storrgie> JEEB, thanks a ton!
[20:51:51 CEST] <vade> man, even the FFMPEG converted file opened in premier starts on frame 2
[20:52:55 CEST] Action: vade is thoroughly confused
[21:22:17 CEST] <leshaste> I have two video files, one that is in a supported format and one that isn't. I would like to convert the unsupported one into exactly the codec etc that the support one uses
[21:22:20 CEST] <leshaste> is that possible?
[21:32:32 CEST] <leshaste> actually waht I need to do is to convert from h264 (High) to h264 (Main)
[21:34:00 CEST] <furq> leshaste: -c:v libx264 -profile:v main
[21:35:12 CEST] <leshaste> as a full command line is that ffmpeg -i video.mkv -c:v libx264 -profile:v main output.mp4 ?
[21:35:17 CEST] <furq> yes
[21:35:23 CEST] <furq> you probably also want -c:a copy
[21:37:17 CEST] <leshaste> thank you. Is there a multicore option?
[21:37:28 CEST] <furq> x264 will use all cores by default
[21:37:46 CEST] <leshaste> oh yes silly me
[21:37:48 CEST] <furq> you can use -threads n if you want manual control over it
[21:37:52 CEST] <leshaste> thanks.. it is whirring away
[21:37:54 CEST] <furq> but the default is generally the right choice
[21:38:01 CEST] <leshaste> all cores at 25% strangely
[21:38:40 CEST] <leshaste> it should give you a time estimate
[21:54:52 CEST] <DHE> don't you still need to do the whole bitrate selection thing, etc?
[21:58:35 CEST] <Mous> hello
[21:59:29 CEST] <Mous> i have high fps video but it has some artifacts is there a filter that would increase the quality?
[22:04:15 CEST] <vade> ok, im utterly confused - @JEEB i wrote a simple packet/sample buffer inspector using AVFoundation on OS X, and the last 3 values for my PTS and DTS are being reported as invalid by the Core Media / AVFoundation decoder - but previous samples perfectly align with what my FFMPEG based livAV encoder and muxer pass in
[22:26:19 CEST] <JEEB> vade: if you want to confirm what's in the container, use L-SMASH's boxdumper
[22:29:01 CEST] <vade> yeah, timestamps look good there. God damn it.
[22:29:09 CEST] <vade> must be an AVF bug
[22:32:42 CEST] <naildeca> I just installed ffmpeg 3.0 , when I run it, it says the delogo filter does not exist. Should I have put something with ./configure?
[22:33:16 CEST] <vade> interestingly enough, the file produced from a simple FFMPEG transcode also note invalid DTS and PTS in AVfoundation on OS X
[22:53:44 CEST] <yongyung> What is the difference between using (libx264) -b:v 1000k -bufsize 1000k and -maxrate 1000k -bufsize 1000k?
[22:57:32 CEST] <Mous> is there better explanation of -tune options? because i cant find any
[22:58:43 CEST] <vade> yea im utterly confused here.
[22:58:43 CEST] <pzich> Mous: http://superuser.com/a/564404
[22:59:06 CEST] <Mous> ty pzich
[22:59:26 CEST] <pzich> googling for "ffmpeg tune" got me there, BTW
[22:59:38 CEST] <kepstin> there's also the secret undocumented 'touhou' tune, but that's pretty rarely useful ;)
[22:59:41 CEST] <Mous> hmm not me
[00:00:00 CEST] --- Wed May 11 2016
More information about the Ffmpeg-devel-irc
mailing list