[00:00:53 CEST] <deweydb> llogan: gotcha! the -preset ultrafast seems to have helped quite a bit. [00:02:31 CEST] <deweydb> llogan: http://pastebin.com/74V5RrnM [00:03:30 CEST] <deweydb> not sure if this can be optimized further? [00:04:44 CEST] <llogan> i mostly wanted to make sure you weren't using --disable-(y)asm. you could try a modern FFmpeg and see if it makes a difference. [00:30:53 CEST] <Hitechcg> remind me to unalias ffmpeg if I ever ask for help [00:31:08 CEST] <Hitechcg> I have all the ffmpeg commands aliased to (command) -hide_banner [02:08:30 CEST] <Victorma> Hello! I am getting "Connection to ... failed: Error number 26 occurred" inside avformat_open_input. Anyone knows what does it mean? [02:08:51 CEST] <memeka> hi; how can i convert AVFrame/AVPacket to annexB? [02:16:31 CEST] <Kadigan> Hello, fair folk of the ffmpeg land. :) [02:17:13 CEST] <DHE> memeka: if you're talking h264/265 for copying, there's a bsf for that... [02:17:37 CEST] <DHE> Victorma: what OS? [02:19:44 CEST] <Victorma> DHE: lets say none, it's happening inside a 3DS [02:19:59 CEST] <memeka> DHE: yes i know how to do it with ffmpeg [02:20:28 CEST] <memeka> but how to in code -> i am trying to feed a hw decoder only annexB frames (or else it's not decoding) ... [02:21:14 CEST] <memeka> DHE: like, in here: https://github.com/mihailescu2m/FFmpeg/commit/cca21ca457da2c921d16b5ffb29d6b... - how can i do it? [02:23:41 CEST] <DHE> memeka: based on ffmpeg cli code, I'd start here: https://ffmpeg.org/doxygen/3.0/group__lavc__misc.html#ga4f87a57cd7c08c1d9b9b... [02:26:18 CEST] <memeka> DHE: so i need to do that actually outside of avpriv_v4l_enqueue_frame_or_pkt_or_buf, such that avpriv_v4l_enqueue_frame_or_pkt_or_buf will receive annexb already, correct? [02:26:49 CEST] <memeka> i won't be converting frame in there, but have a filter higher up that converts the entire stream, before feeding it [02:28:00 CEST] <DHE> well, I'm looking into the code some more and there are a few API changes in newer versions of ffmpeg, so the exact function sequence varies... [02:28:24 CEST] <DHE> but you should be able to just pass in the AVPacket (or the payload thereof, still not sure which function to use) and you'll get the annexB version back out [02:31:16 CEST] <memeka> DHE: thx, i'll try [03:34:48 CEST] <kyleogrg> is yadif + mcdeint much better than just yadif? is there a better free deinterlacer that can be used with ffmpeg? [03:35:03 CEST] <BigWoop> arighgt fuck it (o°¡° o5 ;; ffmpeg -i "$INDIR/$@" -i $LOGODIR/watermark.png -filter_complex 'overlay=x=main_w-overlay_w-5:y=main_h-overlay_h-5' -strict -2 "$OUTDIR/$@" [03:35:17 CEST] <BigWoop> and I'm getting [png_pipe @ 0x3744920] Could not find codec parameters for stream 0 (Video: png, none): unspecified size [03:35:17 CEST] <BigWoop> Consider increasing the value for the 'analyzeduration' and 'probesize' options [03:35:36 CEST] <BigWoop> anyoen have a clue cause I'm grittin the teeth over here lol [03:36:40 CEST] <deweydb> is there syntax for the ffmpeg concat demuxer that does not require a file. i.e. a commandline version? instead of -i somefiles.txt perhaps -i filename.mp4 -file2.mp4 etc? [03:41:24 CEST] <Kadigan> deweydb: You can always string together multiple inputs and multiple outputs... [03:41:51 CEST] <deweydb> you mean using a filter? [03:43:11 CEST] <Kadigan> In the specific case of concat, [03:43:33 CEST] <deweydb> yeah, but a concat filter is much slower than a concat demuxer [03:43:34 CEST] <Kadigan> I'm seeing `-i "contact:file1.mp4|file2.mp4|file3.mp4"` [03:43:37 CEST] <Kadigan> Ah. [03:43:48 CEST] <Kadigan> concat: * [03:44:10 CEST] <deweydb> its ok. i'm just gonna script it to create that file. and then delete the file afterwards. [03:44:16 CEST] <deweydb> its a bit clunky but oh well [03:44:24 CEST] <Kadigan> Have You tried < "" ? [03:44:37 CEST] <Kadigan> I never did that stuff with ffmpeg before, to be honest... [03:44:51 CEST] <deweydb> yeah, i'm waaaaay down the rabbit hole [03:45:02 CEST] <deweydb> its funny cause what i'm doing ought to be pretty simple [03:45:08 CEST] <deweydb> but its surprisingly difficult. [03:45:15 CEST] <Kadigan> Funny, yes. [03:45:17 CEST] <Kadigan> Funny. [03:45:19 CEST] <Kadigan> >.> [03:45:31 CEST] <Kadigan> "Been there, done that, got the scars." comes to mind [03:45:37 CEST] <deweydb> lol [03:45:57 CEST] <Kadigan> (if You catch the reference, I love You ;)) [03:47:50 CEST] <Kadigan> If You ever need another challenge like this one, try changing a video framerate w/o modifying frames (either dropping or duplicating) in a codec that doesn't support timestamps. [03:52:17 CEST] Action: deweydb shudder [03:53:29 CEST] <Kadigan> I mean, it's basically a case of flipping the FPS bit, so to speak, but ffmpeg seems unable to do it (maybe because it's a hack?) [03:54:03 CEST] <Kadigan> Well, I base my theory on the fact that it took a second for multi-GB files in a small app once, but ffmpeg takes its sweet time to recode PTS. [03:54:59 CEST] <ytan> hey guys [03:55:31 CEST] <Kadigan> Hello. [03:55:59 CEST] <ytan> I'm having problems trying to stream using TLS protocol [03:56:10 CEST] <Kadigan> I'm not the person to ask. [03:56:12 CEST] <ytan> Not sure if this is the place to ask... [03:56:15 CEST] <ytan> hahha [03:56:31 CEST] <ytan> been stuck for a few days now [03:56:33 CEST] <Kadigan> No, seriously. I don't know anything about it. Wanted to save You the trouble of asking me specifically, since I'm active. ;) [03:56:39 CEST] <ytan> I think my sanity is slipping away [03:56:49 CEST] <ytan> no that's cool [03:56:49 CEST] <Kadigan> Oh, THAT I know plenty about, [03:56:53 CEST] <Kadigan> in conjuction with ffmpeg :D [03:56:55 CEST] <ytan> I just needed someone to talk to [03:57:10 CEST] <Kadigan> Go ahead, ask deweydb about his remuxing issues. [03:57:12 CEST] <Kadigan> Just ask. ;D [03:57:15 CEST] <ytan> and commiserate with [03:58:19 CEST] <ytan> if you don't mind me asking, what do you use ffmpeg for? [03:58:49 CEST] <Kadigan> Though I suppose this isn't a channel that takes kindly to commiserating, I suppose. But You can find help with various issues here, most of the time. [03:59:10 CEST] <Kadigan> Me? Hm, mostly recoding video. [03:59:11 CEST] <Kadigan> :D [03:59:42 CEST] <Kadigan> But seriously -- mostly for processing of incoming media (so it's a process I control, not my software), and then producing deliveries when post is done. [04:00:02 CEST] <Kadigan> That, at work. [04:00:17 CEST] <Kadigan> At home, I just use it to put all of my media into one, standard format (typically mkv and flac). [04:00:26 CEST] <Kadigan> (where it's sane to do so, anyway) [04:00:45 CEST] <ytan> I see [04:00:55 CEST] <ytan> have you considered using webm format? [04:01:21 CEST] <Kadigan> MKV has ordered chapter support. I don't know about webm. [04:01:42 CEST] <Kadigan> Can webm contain more than audio/video streams - stuff like subs, fonts, scripts etc.? [04:01:49 CEST] <ytan> ordered chapter support? is that like bookmarking in a video? [04:02:22 CEST] <ytan> good question. I don't know. [04:02:25 CEST] <Kadigan> I think You could call it that, though it's not user-generated but rather pre-made (ie. you specify them at mux). [04:02:40 CEST] <Kadigan> It also supports linked chapters, [04:02:55 CEST] <Kadigan> so you can put a common part of multiple video files (like a TV series intro) into its own file and just link against it. [04:03:49 CEST] <ytan> wow. that's neat. [04:04:01 CEST] <Kadigan> So all in all, even despite the fact that I don't put such stuff in myself, [04:04:16 CEST] <Kadigan> I do watch a lot of stuff that uses that, and I like to have a certain order to my media. So... MKV. [04:05:18 CEST] <Kadigan> As for webm, I do sometimes find myself producing such files when I need to put something up on the web, in some player or other. But that doesn't happen all that often. I usually just put up an .mp4 file coded for streaming. [04:05:36 CEST] <ytan> turns out webm is considered a profile in Matroska using VP8 and Vorbis: https://en.wikipedia.org/wiki/Comparison_of_video_container_formats [04:06:08 CEST] <Kadigan> Seems webm is a subset of Matroska, yeah. [04:06:28 CEST] <Kadigan> Or, based on. [04:06:38 CEST] <Kadigan> Says so on webmproject.org. [04:07:54 CEST] <ytan> so it seems [04:08:15 CEST] <Kadigan> And now if You'll excuse me, I have some watching before work. :D [04:08:38 CEST] <ytan> sure [04:08:42 CEST] <ytan> nice talking to you [04:12:45 CEST] <Kadigan> Likewise. :) [04:23:26 CEST] <BigWoop> Does anyone understand [png_pipe @ 0x3744920] Could not find codec parameters for stream 0 (Video: png, none): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [04:23:45 CEST] <BigWoop> cause I'm a nub anything ffmpeg related and could use anyones help [04:30:18 CEST] <memeka> hi, i'm converting each AVPacket to h264_annexb before decoding, but as a result I get: Packet header is not contained in global extradata, corrupted stream or invalid MP4/AVCC bitstream [04:31:30 CEST] <memeka> any idea why this happens? [04:35:15 CEST] <BigWoop> Sall greek to me I've been trying to google out what I can. Doesn't seem like there is much alive here :( [04:38:35 CEST] <mrelcee> beyond my use. [04:48:09 CEST] <deweydb> with the -t flag, is there some trick to getting the end of the file and backing off from there. [04:48:43 CEST] <deweydb> like: ffmpeg -ss 5 -t endOfVideo-5 -i myvid.mp4 myclip.mp4 [04:48:50 CEST] <deweydb> would take 5 seconmds off both ends [04:57:04 CEST] <ytan> if you know how long the video is, you can specify the length of the video you want to crop [05:01:16 CEST] <ytan> you can use ffprobe for that ffprobe -i input.file -show_format | grep duration [05:02:46 CEST] <Victorma> hi, i'm trying to load hls streamings in my 3ds but i'm always getting "connection to tcp:// ... failed: error number 26 occurred". i cant find any reference anywhere... this happens all the time with tcp i think. however, when i put "hls+" before the url it starts to try over and over again, and in the end i get an "invalid data found when processing input" and it seems that the connections are made through http [05:03:34 CEST] <Victorma> maybe I am missing something important to receive hls streamings? [05:23:17 CEST] <miketo> hey, i'm having trouble with some old divx/xvid/mpeg4 files. running "ffmpeg -i test.avi -c copy test.mkv" fails with notice "Can't write packet with unknown timestamp" [05:24:22 CEST] <miketo> i've tried a few different files and they all report the same. is there something strange about the way old xvid-era video streams were encoded that prevents ffmpeg from finding timestamps ^^? [05:52:01 CEST] <ytan> Hi, I'm getting the errror "Protocol not found" when I try to run ffplay tls://127.0.0.1:8554 [05:52:06 CEST] <ytan> any idea why that is? [07:07:22 CEST] <Victorma> hi, i'm trying to open a hls streaming using avformat_open_input, is there any problem with leaving the format and options as NULL? [07:11:17 CEST] <memeka> after converting a packet to annexb (bsf), i get [vd] Error while decoding frame! => any idea why this might happen? [07:33:44 CEST] <ricemuffinball> if google/youtube/gmail/maps/etc cost $10/year to use it, would you still use it? [07:37:02 CEST] <memeka> anyone can help me with the annexb filter?? [07:47:17 CEST] <BigWoop> Anyone alive in here? [07:52:41 CEST] <miketo> probably not [07:54:09 CEST] <ricemuffinball> miketo cheapstake [07:55:42 CEST] <miketo> ricemuffinball: i was responding to BigWoop [07:56:07 CEST] <ricemuffinball> miketo oh, put a name in front next time [07:58:09 CEST] <miketo> is cheapstake bad steak? [08:05:01 CEST] <Gedrean> hi, I have a problem trying to work with ffmpeg and ffserver and I can find no information online that seems to match my problem. I am running Ubuntu Server 16.0something LTS, and using the ffmpeg as included in that distro. I run ffserver and it seems to take its settings, have a feed with avi and a feed with asf (as enabled by the default config). When I run ffmpeg, input with an mp4 file, output to [08:05:04 CEST] <Gedrean> localhost:port/feed1.ffm, it loads up fine, gives me some error about past duration .79992 too large, then proceeds to start encoding at something like 110-320 fps. The server gives no indication of a problem until a client connects and then it's just dropped frame errors spamming the console until the client disconnects - client gets no data. [08:06:45 CEST] <Gedrean> A friend suggested I try -framerate 60 but that option seems gone or deprecated or never existed. I tried -r 60 for a reduction in rate, but that didn't change the fps at all. [08:13:20 CEST] <squ> what if you can change framerate in the video itself :) [08:15:04 CEST] <Gedrean> i'm not sure what you mean, squ [08:15:35 CEST] <squ> try to stream video with other framerate [08:16:04 CEST] <Gedrean> I'm still not following - where am I changing a framerate? [08:18:47 CEST] <memeka> anyone can help me with the annexb filter?? [08:19:36 CEST] <Gedrean> A bit more searching using a few other options has revealed I could try -re - which seems to have put the output of ffmpeg at the same framerate as the feed settings (15 for now) in the ffserver config - but when connecting using a media player (VLC in this case) to the ffserver I still see a "too large number of skipped frames" error [08:20:01 CEST] <Gedrean> Same if I set the feed framerate to 30 [08:20:22 CEST] <squ> Gedrean: you can encode a video file with specific framerate [08:20:44 CEST] <squ> if framerate is your problem, which I don't know if it is [08:21:43 CEST] <furq> fyi ffserver is going to be removed soon so you probably shouldn't use it [08:21:53 CEST] <furq> you also probably shouldn't use it because it sucks [08:22:20 CEST] <Gedrean> ahhh [08:22:36 CEST] <Gedrean> squ: I'm not encoding a file the file is already encoded fine. It plays fine just trying to stream it [08:22:49 CEST] <squ> oh my [08:22:53 CEST] <Gedrean> but if ffserver is deprecating which it sounds like, what's a better streaming server you'd suggest? [08:23:07 CEST] <squ> you can encode a file with needed framerate and stream it [08:23:09 CEST] <Gedrean> furq that is [08:23:10 CEST] <furq> the only one i've ever used is nginx-rtmp [08:23:27 CEST] <Gedrean> heh, except trying to avoid flash necessity here lol [08:23:37 CEST] <Gedrean> well, thanks anyway. :) [08:23:39 CEST] <furq> if you're connecting with vlc then you can do that just fine with rtmp [08:23:44 CEST] <Gedrean> oh you can? [08:23:47 CEST] <Gedrean> hmm [08:23:47 CEST] <furq> it also outputs to hls/dash if you care about web browsers [08:23:51 CEST] <squ> you can stream with vlc itself [08:24:21 CEST] <furq> although if you're not using a web browser then rtmp is much better than those two hack jobs [08:24:25 CEST] <Gedrean> yeah streaming with vlc is a headache on its own [08:24:32 CEST] <squ> why [08:24:42 CEST] <squ> last time I tried it worked ok [08:24:48 CEST] <Gedrean> Because the documentation and usage is completely unclear [08:24:59 CEST] <squ> clear as day [08:25:03 CEST] <Gedrean> For every command line, it mentions "options" and doesn't say what those are [08:25:27 CEST] <Gedrean> the wiki page for command line arguments is just a copy paste of the --help and that doesn't detail what things to put in [08:25:45 CEST] <bencoh> --fullhelp [08:26:03 CEST] <Gedrean> yeah that's all the wiki page is, and it's not clear [08:26:20 CEST] <squ> maybe problem is with you [08:27:09 CEST] <squ> I'm told you couple of times to try to encode video with framerate you want (15), and you don't get it [08:27:27 CEST] <bencoh> well vlc definitely isn't a proper broadcast solution, but it can do the job [08:27:49 CEST] <squ> I streamed hockey match for my friend with it [08:28:17 CEST] <squ> he called me in emergency saying there is important match going on now [08:28:22 CEST] <Gedrean> I'm going to drop the whole encoding, framerate, etc, bullshit because you're stukc on saying I need to re-encode the video which is not at all the damn problem. [08:28:32 CEST] <bencoh> yeah and I know ISPs than stream a few hundreds channels with it [08:28:35 CEST] <bencoh> but still :) [08:28:36 CEST] <squ> I figured out how to stream it quite quickly [08:28:48 CEST] <furq> squ: did you do so with the express written consent of the national hockey league [08:28:49 CEST] <Gedrean> squ: Did you have a GUI? [08:29:04 CEST] <squ> me? gui? [08:29:08 CEST] <squ> well [08:29:34 CEST] <bencoh> he probably meant guilt or something like that [08:30:14 CEST] <Gedrean> no I meant GUI [08:30:18 CEST] <Gedrean> Graphical user Interface [08:30:29 CEST] <Gedrean> because every fuckign streaming tutorial out there for vlc is based upon using a windows gui [08:30:30 CEST] <furq> as an aside, the whole framerate thing is an artefact of ffserver not letting you stream without reencoding [08:30:38 CEST] <furq> because, as i might have said, ffserver sucks [08:30:55 CEST] <furq> so you probably don't actually need to do that [08:30:55 CEST] <bencoh> Gedrean: just kidding :) [08:30:56 CEST] <Gedrean> furq: Wow. Okay yeah that explains that. Thank you. You were FAR more helpful at explaining why something is. [08:31:40 CEST] <Gedrean> I swear all I'm trying to do is take a video and begin streaming it so multiple stations can receive it, this is giving me an ulcer I fear. I'm off to try to study the VLC documentation more. [08:35:09 CEST] <ytan> furq [08:36:07 CEST] <ytan> have you had experience streaming using encryption? [08:36:31 CEST] <memeka> :( can anyone help me with my issue? :( [08:37:38 CEST] <ytan> what's your issue? [08:39:16 CEST] <memeka> ytan: my decoder can't handle frames that are not annexb; if i run ffmpeg to save a file after doing a h264_mpeg4annexb filter and play that file, it works, but my code to convert the AVPacket directly is not [08:39:41 CEST] <memeka> where the code is: https://github.com/mihailescu2m/FFmpeg/commit/d012bc50211fbf8c2cd61624d71fc1... [08:40:14 CEST] <memeka> basically replace packet data with the one resulted from the av_bitstream_filter_filter function [08:41:18 CEST] <memeka> the file converted by ffmpeg will complain that "packet was not converted to annexb" and play (cause it's already converted); files that are not annexb will say "packet was successfully converted to annexb" but won't actually play :( [08:51:58 CEST] <nonex86> why converting from avcc to anneb and vise versa is a problem for you? its quite easy task [08:52:11 CEST] <nonex86> *annexb [08:59:59 CEST] <ytan_> I don't know the answer to that. Sorry. [09:01:55 CEST] <memeka> nonex86: well i can't see what's wrong wuith my code [09:02:54 CEST] <nonex86> well, lets see how this should work [09:03:01 CEST] <nonex86> you open the source file [09:03:06 CEST] <nonex86> check the extradata [09:03:31 CEST] <nonex86> if its in avcc format, get the size of length prefix [09:03:46 CEST] <nonex86> than for every nalu in packet [09:03:54 CEST] <nonex86> read the size of nalu [09:04:08 CEST] <nonex86> put a start code to decoder [09:04:13 CEST] <nonex86> put a nalu payload [09:04:21 CEST] <nonex86> thats all i guess [09:04:33 CEST] <nonex86> if the extradata contains annexb payload [09:04:43 CEST] <nonex86> you even dont need to convert anything [09:07:18 CEST] <nonex86> if the size of length is 4 bytes you can just replace it with start code "inplace" [09:08:48 CEST] <nonex86> and if you dont see whats wrong with code i guess it would be good idea to check it in debugger :) [09:13:46 CEST] <memeka> well, it all looks good [09:13:56 CEST] <memeka> but mpv complains [09:15:51 CEST] <memeka> nonex86: what i do: if codec = H264, create av_bitstream_filter_init("h264_mp4toannexb") ; for each packet, av_bitstream_filter_filter(s->bsf, avctx, NULL, &p_filtered, &n_filtered, avpkt->data, avpkt->size, avpkt->flags & AV_PKT_FLAG_KEY); [09:16:16 CEST] <nonex86> i never used ffmpeg bitstream conversion filters [09:16:26 CEST] <nonex86> i just converted payload myself [09:16:29 CEST] <memeka> then replace avpkt->data with p_filtered and avpkt->size with n_filtered [09:16:29 CEST] <nonex86> but again [09:16:44 CEST] <nonex86> you can check in debugger what do you get [09:16:56 CEST] <nonex86> after using conversion filter [09:17:12 CEST] <nonex86> what exactly happends with your packet payload [09:17:21 CEST] <nonex86> to be sure its the thing you want [09:17:55 CEST] <memeka> i may need debug flags when compiling, now debugging doesn't work [09:19:34 CEST] <nonex86> well, actually you can debug any code, even not a debug build :) but if you need, yes, rebuild it with debug information, its not a problem i guess [09:20:17 CEST] <nonex86> one more question [09:20:25 CEST] <nonex86> avpkt->flags & AV_PKT_FLAG_KEY [09:20:39 CEST] <nonex86> ^^^ why do you need this parameter? [09:20:56 CEST] <nonex86> what does it mean in context of conversion process? [09:21:00 CEST] <nonex86> just curious [09:22:06 CEST] <nonex86> its a keyframe flag, but why do it need to be supplied to conversion? [09:23:13 CEST] <nonex86> ah, well, never mind [09:23:19 CEST] <nonex86> i already check documentation :) [09:28:54 CEST] <memeka> i have no idea [09:29:11 CEST] <memeka> but the function had flag, so i supplied it [09:29:21 CEST] <nonex86> yeah, i already check it :) [09:56:34 CEST] <well> hey guys, i want to convert a bluray (mkv) into a 480p video with max size of 160mb. with other sources the results were really good but now i got a source where the results looks really ugly [09:56:50 CEST] <well> can you maybe tell me what i have to adjust or recommend anything? [10:06:31 CEST] <gauthier> Hi! I have trouble with avformat_new_stream(). [10:07:57 CEST] <gauthier> The comment for AVStream's member `codecpar` in avformat.h states that memory is allocated for `codecpar` in `avformat_new_stream()` [10:09:00 CEST] <gauthier> Yet after calling `av_st = avformat_new_stream(av_oc, video_codec);`, which does not return any error, I get: [10:09:17 CEST] <gauthier> av_oc->streams[0]->codecpar == 0 [10:09:55 CEST] <gauthier> my guess is that the ffmpeg source I am looking for does not match what I got installed on my system. [10:10:36 CEST] <gauthier> But I don't know how to match the lib version with the source version. [10:10:48 CEST] <gauthier> ldd on my application says: [10:10:55 CEST] <gauthier> libavformat.so.56 => /usr/local/lib/libavformat.so.56 (0x00007f629ef8f000) [10:10:55 CEST] <gauthier> [10:11:28 CEST] <gauthier> but what tag or commit should I look for in the repo? [11:33:25 CEST] <manusitara> Hi [11:33:27 CEST] <manusitara> all [11:33:56 CEST] <manusitara> How can I extract the count of particular macro block types(I, P and S) from the frames in the video (H.264 and MP4)? [11:35:14 CEST] <BtbN> S? [11:39:52 CEST] <pihpah> Any idea how to fix that error: [aac @ 0x5621547692a0] element type mismatch 3 != 0 [11:40:17 CEST] <pihpah> I am trying to convert mkv video to mp4. [11:41:13 CEST] <manusitara> @BtbN S stands for skipped macro block [11:41:39 CEST] <pihpah> It looks like the problem is with the audio stream. [11:48:11 CEST] <pihpah> Okay, seems like I can just ignore that error. [11:48:56 CEST] <pihpah> Thanks for helping, feel free to grab some cookies in the jar. [11:49:14 CEST] <manusitara> How can I extract the count of particular macro block types(I, P and S) from the frames in the video (H.264 and MP4)? [12:27:52 CEST] <iive> manusitara: maybe something in ffprobe would help you in that... [12:27:56 CEST] <c_14> manusitara: ffprobe -v quiet -show_entries frame=pict_type -select_streams v -count_frames -of flat ako_framed.webm | sed 's/[^=]\+="\(.\)"/\1/' | gawk '{array[$0]+=1} END {for (i in array) { print i, array[i] } }' [12:28:59 CEST] <manusitara> thanks for the suggestions [12:29:00 CEST] <manusitara> Also, I would like to extract the prediction residual of each of the P and B frames (computed from its corresponding reference frame) in the video from the encoded version itself while the package is decoding it. [12:29:01 CEST] <iive> c_14: isn't that only frame types? [12:29:42 CEST] <c_14> Oh, hmm. I don't think ffprobe will give you anything about macro blocks [12:30:17 CEST] <c_14> you'd probably have to hook into the h264 decoder to get those [12:30:43 CEST] <manusitara> any suggestions on how to do that? [12:31:47 CEST] <BigWoop> anyone see anything wrong with this by chance ffmpeg -i movie.mp4 -i logos/watermark.png -filter_complex 'overlay=x=main_w-overlay_w-10:y=main_h-overlay_h-10' -strict -2 output.mp4? I'm at a loss [12:34:29 CEST] <BigWoop> I'm I asking the wrong question lol? [12:37:12 CEST] <c_14> manusitara: ah, nvmd. ffmpeg -debug mb_type -i video -f null /dev/null [12:37:18 CEST] <c_14> Have fun parsing the output though& [12:38:27 CEST] <c_14> For the prediction residual you'd probably have to modify the decoder/parser in ffmpeg [12:38:45 CEST] <BigWoop> Ewwww :( [12:39:23 CEST] <c_14> BigWoop: hmm? [12:40:07 CEST] <BigWoop> Nada I'm just having my own fit over here probably something silly but its killing me [12:41:20 CEST] <BigWoop> http://pastebin.com/EKGfXv4N [12:44:20 CEST] <c_14> try adding -analyzeduration 1G -probesize 1G before -i logos/watermark.png [12:45:12 CEST] <manusitara> thanks c_14 [12:45:36 CEST] <c_14> But it looks like the png is missing its (or has a corrupted) header, you could probably rewrite it using anything that can open it (imagemagick, gimp w/e) [12:45:51 CEST] <c_14> Also you shouldn't need -strict -2 anymore with teh version of ffmpeg you have. [12:49:39 CEST] <BigWoop> k just s second lemme givec it go [12:51:53 CEST] <BigWoop> http://pastebin.com/dm2KmQUS [12:54:01 CEST] <c_14> Yeah, try rewriting the png with something like imagemagick or gimp or whatever [12:54:21 CEST] <BigWoop> resaving the file? [12:56:16 CEST] <BigWoop> Its just a normal PNG file thats worked before but I haven't the foggiest idea why.. resaved it image file seems fine though [12:59:53 CEST] Action: BigWoop scratchs his head [13:05:07 CEST] <BigWoop> c_14: any other ideas? [13:05:33 CEST] <c_14> What dimensions does the png have? [13:05:36 CEST] <c_14> widthxheight [13:06:06 CEST] <c_14> try -s widthxheight -i logos/watermark.png [13:06:39 CEST] <c_14> and/or -video_size widthxheight -i logos/watermark.png [13:06:45 CEST] <c_14> not sure if those are aliases [13:07:32 CEST] <BigWoop> hmm [13:08:08 CEST] <BigWoop> http://pastebin.com/uLLQm9UN [13:09:21 CEST] <c_14> ffmpeg -decoders | grep png [13:09:58 CEST] <BigWoop> http://pastebin.com/Y7Szu4fC [13:10:07 CEST] <c_14> Well [13:10:10 CEST] <c_14> That explains everything [13:10:17 CEST] <BigWoop> O.o [13:10:28 CEST] <c_14> Does your system have zlib-devel installed? [13:11:03 CEST] <c_14> or anything that provides zlib.pc (or at least zlib.h) [13:11:38 CEST] <BigWoop> I don't believe i put that in just a moment while I sift thru this [13:12:10 CEST] <furq> zlib1g-dev on ubuntu [13:13:19 CEST] <BigWoop> yteah just apt cached it I give -dev a try since I was like nope I'm not doing yum here ;) [13:13:19 CEST] <BigWoop> ok were installed on zlib [13:13:47 CEST] <c_14> now rebuild ffmpeg [13:14:00 CEST] <BigWoop> an new option in configure? [13:14:10 CEST] <furq> it's enabled by default if it finds it [13:14:11 CEST] <c_14> It should pick it up automagically [13:14:22 CEST] <c_14> you can check the configure output to see if it's there [13:15:04 CEST] <BigWoop> Usually go with ./configure --enable-gpl --enable-nonfree --enable-pthreads --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-encoder=png [13:15:27 CEST] <furq> is libfaac even still supported [13:15:52 CEST] <Kakashi> hello. is there a precise way to RMS normalize a file with ffmpeg? [13:15:58 CEST] <c_14> furq: afaik for now it's still there [13:16:03 CEST] <BigWoop> *shrug* I don't too much things to keep track of :P [13:16:08 CEST] <furq> well don't use it anyway [13:16:20 CEST] <furq> if you want to use a halfway decent non-free aac encoder then use fdk [13:16:24 CEST] <furq> otherwise just use the builtin one [13:18:14 CEST] <BigWoop> I'll be honest I'm a moron with anything ffmpeg by comparision. I just need it to water mark things though I've tinkered around with some rtmp stuff but just trying to get my quest completed here lol [13:18:41 CEST] <BigWoop> Bonking my head on the wall ... durpie dee [13:18:42 CEST] <c_14> Kakashi: https://ffmpeg.org/ffmpeg-filters.html#dynaudnorm the r value sets the rms [13:19:02 CEST] <Kakashi> c_14: thanks! [13:19:36 CEST] <durandal_1707> thats not typically normalization [13:19:55 CEST] <BigWoop> c_14: http://pastebin.com/YJb20VSi [13:20:29 CEST] <Kakashi> c_14: so, can I specify dBFS? [13:20:42 CEST] <BigWoop> c_14: it might be working just a moment on me [13:21:00 CEST] <Kakashi> I can do so with normalize_audio, but it doesn't support raw audio [13:21:39 CEST] <Kakashi> and I'd prefer not to have to transcode before normalizing [13:22:35 CEST] <Kakashi> "This filter applies a certain amount of gain to the input audio in order to bring its peak magnitude to a target level (e.g. 0 dBFS)." << aha. [13:28:22 CEST] <BigWoop> c_14: seems like its kind of working now... Now I just have to check and see if it has any problems along the way.. Thank you very much though! [14:06:25 CEST] <gauthier> Hi, I'm very new to libav. I'm going through (the right version of, this time) doc/examples/output.c, and I'm a bit overwhelmed by the amount of setup needed to output a video. [14:06:49 CEST] <gauthier> Is all that is there really necessary? [14:07:07 CEST] <gauthier> Is there any other - more minimalistic - example? [14:08:01 CEST] <gauthier> What I mean is that I'm surprised there isn't a simpler, higher level API [14:08:08 CEST] <_jason_> hello [14:08:29 CEST] <_jason_> i have cross complied build for windows on linux [14:08:44 CEST] <DHE> gauthier: you make an AVFormatContext to store the file itself, you make AVCodecContext(s) to encode the video (and audio), and so on [14:08:53 CEST] <_jason_> using https://github.com/rdp/ffmpeg-windows-build-helpers [14:09:05 CEST] <_jason_> it created a ffmpeg_g file [14:09:48 CEST] <_jason_> when i'm trying to execute it : ./ffmpeg_g.exe -f dshow -r 30 -i video="screen-capture-recorder" -s 1366x786 -vcodec libx264 output.mkv [14:10:00 CEST] <DHE> gauthier: where is this output.c you find? The official examples are list at: http://ffmpeg.org/doxygen/3.1/examples.html (a bit version dependent) [14:10:04 CEST] <_jason_> it gives : bash: ./ffmpeg_g.exe: cannot execute binary file: Exec format error [14:10:16 CEST] <gauthier> DHE: that sounds simple enough. Which is why I wonder why doc/examples/output.c is so complex [14:10:37 CEST] <gauthier> DHE: they are in the source. [14:10:56 CEST] <DHE> ... not in mine [14:11:11 CEST] <gauthier> DHE: I currently have commit 1985c2e checked out, since I want the lib version 56 [14:11:31 CEST] <DHE> oh wow, 2014 [14:11:55 CEST] <gauthier> yeah, it's the one distributed in Debian Jessie [14:12:07 CEST] <DHE> ah, that'd make sense... [14:12:59 CEST] <furq> gauthier: there's a newer version in jessie-backports [14:14:22 CEST] <gauthier> Or I could just build from git and install (I made a short attempt at that, but only the static libs seemed to install, not .so) [14:14:37 CEST] <furq> --enable-shared [14:14:48 CEST] <gauthier> (so I decided to go for the ones in apt-get) [14:14:57 CEST] <furq> the one in backports is pretty recent [14:15:08 CEST] <furq> 3.0.1 iirc [14:15:17 CEST] <gauthier> of course, you recommend to go for the latest version :) ... [14:15:50 CEST] <DHE> well, as a guy who follows the development out of both personal and professional interest, yes I do [14:16:05 CEST] <gauthier> but that's I had checked out when I was looking for examples, and the examples in master were not much simpler. [14:16:13 CEST] <furq> i'm not really sure which version you are using [14:16:18 CEST] <furq> it's not in the normal jessie repos [14:16:37 CEST] <DHE> they're designed to be thorough. like the audio encoding examples will deal with the fact that different codecs produce different amounts of output and consume different amounts of input [14:16:51 CEST] <gauthier> exactly! [14:16:52 CEST] <DHE> and of course, checking all return codes for errors [14:17:28 CEST] <gauthier> I don't mind my implementation being very narrow minded when it comes to what to output [14:18:10 CEST] <gauthier> I need a video stream, I need either no compression or mpeg... I don't need the flexibility. [14:23:18 CEST] <gauthier> Ok, I'll start over. Checking out n3.1.3, I'll install with --enable-shared. That will probably break other programs, we'll see [14:23:29 CEST] <xmedeko> Hi, I have found a great option force_original_aspect_ratio in the http://ffmpeg.org/ffmpeg-filters.html#scale filter. But rarelly it causes ffmpeg error "height not divisible by 2". is there any option, how to make this option behave like -2 in scale width or height? ths [14:25:33 CEST] <gauthier> by the way, building gives quite the number of warnings. Array bounds, deprecated, discarding const... Is it normal? [14:28:48 CEST] <durandal_1707> Yes [14:34:42 CEST] <xmedeko> looking at the source code i'm afraid force_original_aspect_ratio cannot make divisible height, width. it's pitty [14:41:41 CEST] <gauthier> any reason why --enable-shared would not imply --enable-pic in configure? [14:43:47 CEST] <durandal_1707> because its different option [14:45:28 CEST] <gauthier> I'm just trying to understand why one would like to build shared libs without PIC. (really, this is not meant as an aggressive question) [16:21:14 CEST] <inkbottle> Hi, I'm trying to do sth like that: ffmpeg -i test.wav -f avi pipe:1 | cat > test.avi, but from a webcam, and to a video player [16:22:48 CEST] <inkbottle> this: ffmpeg -v verbose -r 5 -s 320x240 -f video4linux2 -i /dev/video0 pipe:1 | ffmpeg - [16:23:00 CEST] <inkbottle> gives Unable to find a suitable output format for 'pipe:1' [16:23:28 CEST] <furq> you had the answer in your first command [16:24:38 CEST] <inkbottle> furq: really? [16:24:45 CEST] <Spring> is it possible to merge two videos on top of each other with ffmpeg? [16:24:47 CEST] <furq> add -f avi (and probably also -c copy) before pipe: [16:25:05 CEST] <furq> or -f nut if the webcam outputs rawvideo [16:25:27 CEST] <furq> it'll probably be mjpeg though in which case i guess avi is right [16:25:49 CEST] <furq> Spring: what does "merge two videos on top of each other" mean [16:25:55 CEST] <furq> overlay? [16:26:45 CEST] <durandal_1707> vstack? blend? [16:26:56 CEST] <durandal_1707> lut2? [16:27:18 CEST] <Spring> vstack looks like it's what I [16:27:24 CEST] <Spring> 'm looking for, thanks [16:28:09 CEST] <durandal_1707> your videos need to be of same format and width [16:28:28 CEST] <inkbottle> I must be doing sth silly: ffmpeg -v verbose -r 5 -s 320x240 -f video4linux2 -i /dev/video0 -f avi -c copy "pipe:1" | ffmpeg - => Unable to find a suitable output format for 'pipe:' [16:28:47 CEST] <inkbottle> same without the quotes [16:29:11 CEST] <inkbottle> I tryed "-f nut" [16:29:15 CEST] <furq> if the player you're piping to is actually ffmpeg then you probably need -f avi on that side as well [16:29:25 CEST] <inkbottle> ok [16:30:13 CEST] <durandal_1707> replace pipe with -? [16:33:54 CEST] <inkbottle> At least that works: ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0 output.mkv => and then playing output.mkv [16:34:07 CEST] <inkbottle> as for the piping nothing worked yet [16:36:45 CEST] <Spring> durandal_1707, by format you mean codec? Or everything, including bitrate? [16:37:09 CEST] <Spring> also used one too many 'looks' in my previous post :p [16:37:31 CEST] <durandal_1707> Spring: pixel format [16:39:23 CEST] <Spring> that shouldn't be a problem then [16:49:54 CEST] <inkbottle> I'll probably find the solution some other time [18:09:26 CEST] <Lucretia> hi, I'm getting corrupt screengrabs, https://youtu.be/pFqhIGYLbDM can someone point me in the right direction of which component could be failing? [18:16:36 CEST] <iive> Lucretia: unfortunately, this looks like xorg driver issue [18:17:16 CEST] <Lucretia> iive: I was wondering whether it would be kernel, xorg, libdrm, mesa or ffmpeg [18:17:58 CEST] <Lucretia> so many components [18:27:15 CEST] <Lucretia> iive: the /usr/lib/xorg/modules/drivers/amdgpu_drv.so not the /usr/lib/dri/radeonsi_dri.so module? [18:49:38 CEST] <Mista_D> Trying to set up libx264 to use static IDR with "-g" and use non-IDR intra-refresh frames for scene change. Any advice? [18:53:01 CEST] <bencoh> is that even possible without patching it? [20:28:03 CEST] <transhuman_> anyone know how to launch ffmpegYAG or ffmpeg-hi? [22:32:28 CEST] <pxl__> hello hello [22:46:02 CEST] <Kayy> odd question. Ive got a still image that im turning into a video but I cant manage to get it over 50kbs to save my life. I'm aiming for at least 200kbs to stress test a system with. [22:46:13 CEST] <Kayy> http://pastebin.com/ccCHtATH [23:49:52 CEST] <Denise0311> Hi, is there a way to access webcam raw video stream without modifying its firmware? [23:54:25 CEST] <kyleogrg> does libvpx-vp9 have any tune options like libx264? [23:54:41 CEST] <Jnorthrup> is there a filter to un-aperture quicktime codings? [00:00:00 CEST] --- Wed Aug 31 2016
participants (1)
-
burek