[Ffmpeg-devel-irc] ffmpeg.log.20160905

burek burek021 at gmail.com
Tue Sep 6 03:05:01 EEST 2016


[03:39:58 CEST] <Chloe> how can I get an AVCodecID from a fourcharcode code? I found av_codec_get_id() but I wasn't entirely sure how to use it
[04:15:04 CEST] <Mista-D> can I have a live RTP feed as a source, and once its finished, use the next item on the playlist as a next source meterial, all outputing to HLS live?
[04:53:56 CEST] <mogita> Hi does anyone know how to use images as video source and dynamically change them, while transcoding a RTMP stream? I need to change the images now and then, based on some user operations, and this is for the educational streaming purpose. Thanks!
[06:01:38 CEST] <jya> is there a way to make ffmpeg generate a mp4 where the first sample doesn't exactly starts in 0 ? (but like 0.095 something like that)
[06:21:51 CEST] <tremby> I have noticed that ffprobe at least in some cases only needs to read the first 30k or so of a file (streaming to stdin) before it gives its output and exits. Is this something I can rely on? Can I get reliable information about a file from just the first chunk?
[06:22:21 CEST] <DHE> depends on the format. some yes, some no
[06:22:43 CEST] <tremby> DHE: So there are some cases where I'd need the entire file?
[06:23:11 CEST] <DHE> it's rare, but yes. sometimes a seek to the start and a seek to the end are good enough.
[06:24:07 CEST] <tremby> Hm, a seek to the end may not be possible since this will be streaming on stdin
[06:24:21 CEST] <relaxed> jya: look at -itsoffset in the man page
[06:24:49 CEST] <tremby> DHE: In the case where a whole file has to be streamed before it can give output, do you know what memory usage would be like? Does it have to hold the whole file in memory or will it be more efficient than that?
[06:25:16 CEST] <DHE> well, if it's on a pipe then you're definitely not getting a full set of information from it. like duration.
[06:25:28 CEST] <DHE> but a couple kilobytes or megabytes may be good enough to list the streams, codec specs, etc.
[06:25:35 CEST] <tremby> DHE: seems to work in the first 30k or so with my local tests. Streaming and limiting speed with pv
[06:26:03 CEST] <tremby> Duration is included, but I'm aware this is just stored metadata in the file
[06:26:09 CEST] <tremby> (Or how would it know)
[06:26:24 CEST] <tremby> So the main question now is memory usage if streaming the whole file.
[06:26:55 CEST] <DHE> I don't think I've heard of it actually doing that...
[06:27:15 CEST] <DHE> but check the man pages  noted above. there are parameters that affect how much data to check
[06:28:56 CEST] <tremby> I didn't see any man pages noted above. Unless relaxed, you meant that for me?
[06:29:18 CEST] <DHE> ah yes you're right, I got confused
[06:29:23 CEST] <DHE> it is past midnight
[06:29:34 CEST] <DHE> ffprobe has a couple of options for how much and how long to probe for.
[06:29:55 CEST] <tremby> Do you know what I can search for? The man page is pretty huge
[06:30:28 CEST] <DHE> -analyzeduration and -formatprobesize are probably good places to start
[06:30:59 CEST] <relaxed> tremby: it was not, but maybe you can specify the format with ffprobe?
[06:32:07 CEST] <tremby> Hm, neither is in my manpage. Maybe they are newer features.
[06:32:40 CEST] <relaxed> man ffmpeg-all|less +/analyzeduration
[06:32:46 CEST] <tremby> relaxed: I won't know the format ahead of time! That's part of the point of this. I will have thousands of files on Amazon S3 and need to get metadata for each. Ideally I don't want to download the whole file for each one.
[06:32:57 CEST] <tremby> Cool, thanks, I'll take a look
[06:33:08 CEST] <tremby> Ah yes there it is
[06:33:19 CEST] <k_sze> Is there a tutorial somewhere about using ffmpeg libraries to encode video?
[06:33:34 CEST] <k_sze> dranger has a tutorial for video *playback*, but I want to encode video.
[06:34:26 CEST] <DHE> under the doc directory is examples. lots of code samples there. fairly thorough, including error detection
[06:57:41 CEST] <k_sze> Is there an enum for the AVCodecContext context_model
[06:57:48 CEST] <k_sze> I mean the field.
[06:57:56 CEST] <k_sze> Or C defs.
[08:17:57 CEST] <jya> relaxed: thank you
[08:18:23 CEST] <jya> one more thing, any way to copy audio but lower the volume (even make it silent, but keeping an audio track)
[09:00:18 CEST] <k_sze> How do I make sense of this? http://ffmpeg.org/doxygen/3.1/ffv1enc_8c.html#a384ff94b5139f441c282c9b4c7b985e6
[09:02:08 CEST] <k_sze> If I understand correctly, "rice", "range_def", "range_tab", and "ac" are supposed to be possible values for the "coder" option. But then why are they defined in the same AVOption options array as "coder" itself?
[09:02:22 CEST] <k_sze> How does this even work??
[09:06:05 CEST] <JEEB> k_sze: I think there's a pointer given in their definition that defines them as suboptions for some key
[09:11:17 CEST] <k_sze> So how do I use it? Suppose I already have an AVCodecContext *c. Do I do, for instance, av_opt_set_int(c->priv_data, "coder", AV_RANGE_DEFAULT_TAB_FORCE, 0)?
[09:19:43 CEST] <k_sze> But I don't have access to the AV_RANGE_DEFAULT_TAB_FORCE defined in libavcodec/ffv1.h (I can't include libavcodec/ffv1.h in my program, it's not part of the include files installed by `make install`)
[09:26:03 CEST] <JEEB> nah, I'm pretty sure you set those options with their names or so
[09:26:14 CEST] <JEEB> as in key and value as strings
[09:59:15 CEST] <k_sze> gah
[09:59:29 CEST] <mdoe> 0_o
[09:59:34 CEST] <k_sze> I'm getting a segfault at avio_open
[10:00:00 CEST] <k_sze> ffmpeg is hard. :(
[10:00:07 CEST] <k_sze> I have no idea how anything works.
[10:00:31 CEST] <JEEB> I think there were some examples under docs
[10:00:50 CEST] <k_sze> yes there are, but there is really not enough coverage.
[10:01:18 CEST] <JEEB> that I don't disagree with
[10:07:59 CEST] <k_sze> Do I need to align AVFormatContext's oformat against OutputStream's st->codec?
[10:09:17 CEST] <k_sze> I'm going to guess that I need to.
[10:09:53 CEST] <JEEB> avformat is the "container", and codecs usually are what goes in them
[10:10:02 CEST] <JEEB> so I'm not sure how you could align them outside of some raw bit stream ones
[10:37:48 CEST] <mdoe> Greetings ffmpeg. I was wondering, do the bitrate constraints applied work better or worse depending on the encoder? i.e. software/hardware. I'm struggling to get a constant bit rate at the moment :/
[10:44:05 CEST] <k_sze> Actually, I don't know why my AVOutputFormat's flags has AVFMT_NOFILE.
[10:44:36 CEST] <k_sze> The AVOutputFormat is guessed using av_guess_format(NULL, "output.nut", NULL).
[10:44:44 CEST] <k_sze> I don't understand how that can be AVFMT_NOFILE.
[10:45:15 CEST] <k_sze> .nut is a container format known to ffmepg.
[10:49:43 CEST] <JEEB> mdoe: yeah - all encoders have different rate control
[10:50:08 CEST] <JEEB> for example libvpx => sucks , libx264 => pretty gut , libx265 => lol dongs
[10:50:31 CEST] <mdoe> I'm using OMX on the Rpi, it's great, but the resulting output variation is huge
[10:50:42 CEST] <mdoe> +/- 3000
[10:51:21 CEST] <JEEB> yeah, you're completely out there. as long as libavcodec's wrapper sets the values right then it's up to that thing to fail or be OK
[10:51:34 CEST] <JEEB> I have no idea if it supports VBV / HRD even
[10:54:50 CEST] <mdoe> I've tinkered with the min/maxrate and the buffrate and although I can affect some change to the resulting output, it's generally negative in terms of consistancy.
[10:54:59 CEST] <mdoe> Either HUGE spikes and HUGE dips.
[10:55:42 CEST] <JEEB> minrate you generally shouldn't use, it's often something implemented inside FFmpeg rather than the encoders themselves
[10:55:48 CEST] <JEEB> and that's usually suboptimal
[10:56:27 CEST] <mdoe> Ah ok. I'll tinker with that. As usual, google supplied me with 5+ years of comnflicting information :D
[10:57:08 CEST] <JEEB> well people still do use it for various things that I might not agree with, it's just generally something that doesn't "just map into external encoder option"
[11:00:04 CEST] <mdoe> I don't think it helps that the OMX encoder outputs to High 4 profile, with no way of changing it.
[11:00:17 CEST] <mdoe> BUt I don't know its thats a rpi lib problem, of ffmpeg.
[11:01:07 CEST] <mdoe> *or
[11:07:01 CEST] <jya> relaxed: -itoffset doesn't appear to do what I'm looking for..
[11:20:10 CEST] <hapie> Hello everyone, Recently I migrated my code to latest ffmpeg 3.1.3 and facing somme issues with av_read_frame constantly returning error -104 for some audio streams. Do you guys know what's going on here?
[11:20:42 CEST] <hapie> Other streams are working just fine. I think -104 is ECONNRESET error
[11:21:45 CEST] <hapie> My stream play audio for 5 seconds and then av_read_frame returns -104 and stops
[11:40:10 CEST] <hapie> Hello everyone, Recently I migrated my code to latest ffmpeg 3.1.3 and facing somme issues with av_read_frame constantly returning error -104 for some audio streams. Do you guys know what's going on here?
[11:59:20 CEST] <roxlu> Hey! I'm looking in to libswresample and hitting a segfault. I'm recieving 44100,FLT32,stereo audio from a microphone and I want to convert it to 48000,FLT32P. The segfault is caused by " 0x10008b7dc <+0>:  movdqa xmm0, xmmword ptr [rsi + 8*rdx]". I think the issue is related to memory alignment but I'm not 100% sure. Someone around who knows if this can be the cause?
[11:59:57 CEST] <Nanashi> -to mm:ss seems to be ignored and it keeps going forever. What couild be wrong?
[12:00:22 CEST] <roxlu> I've pasted the full output here (+code) here: https://gist.github.com/roxlu/6d8765f290a4e8ef6cbe01020b1d129e#file-lldb-log
[12:03:54 CEST] <hapie> latest ffmpeg 3.1.3 which is getting ECONNRESET "connection reset by peer" as return value of av_read_frame
[12:04:11 CEST] <hapie> Can anyone help please ?
[12:26:27 CEST] <jya> so I have a fragmented mp4, where the audio start at 0 and the video starts at 0.095 and I'd like to keep the start time that way as for testing purposes... Problem is that I'm trying to lower the volume of audio. As soon as ffmpeg is configure to output fragmented mp4, it rewrites the timestamps and make them both start at 0.
[12:26:59 CEST] <jya> here is the command line I'm using ffmpeg -i input.mp4 -c:a aac -c:v copy -af 'volume=0' -movflags empty_moov+omit_tfhd_offset+frag_keyframe+default_base_moof output.mp4
[12:27:03 CEST] <jya> any suggestions ?
[12:28:24 CEST] <jya> doesn't seem to be related to the reencoding of the audio track. as this ffmpeg -i input.mp4 -c:a copy -c:v copy -movflags empty_moov+frag_keyframe+default_base_moof output.mp4 gives me the same results
[12:28:27 CEST] <jya> any suggestions ?
[12:28:52 CEST] <jya> I've played with -copyts , -vsync etc.. to no available
[12:40:25 CEST] <roxlu> ok, I found the issue; was reading from the wrong source pointer.
[13:14:35 CEST] <brimonk> Does anyone know how to take in input (video and sound) from only one application on linux?
[13:40:36 CEST] <nonex86> brimonk: you mean an output? maybe obs?
[13:52:15 CEST] <BtbN> brimonk, audio, not possible without PulseAudio. Video, hacky, requires acting as compositor and copying the X drawable you get.
[13:52:23 CEST] <BtbN> With ffmpeg, both is impossible.
[14:02:29 CEST] <brimonk> Darn.
[14:02:43 CEST] <brimonk> So, something like obs is required. Oh well.
[16:03:36 CEST] <OnceMe_> when I record website screencast, what is the best possible format to record in, if I want to transform it into gif with minimal size and to preserve quality?
[16:07:35 CEST] <kepstin> if you're planning to turn a screencast into a gif, you should probably record with a codec that's lossless and supports rgb. depending how fast your computer is, maybe ffv1 or utvideo?
[16:08:13 CEST] <DHE> h264 is also an option but you need to confirm the colourspace if you want true lossless, otherwise there's a little bit of colour inaccuracy
[16:09:23 CEST] <kepstin> in this case, you'd use the 'libx264rgb' encoder in ffmpeg, yeah
[16:10:36 CEST] <DHE> oh yeah, forgot that even existed... yuv is just so standard..
[16:11:42 CEST] <kepstin> the yuv-rgb conversion probably wouldn't even be that bad if the final target is a gif, since the image will have to be converted to 256color palette anyways
[16:12:21 CEST] <kepstin> but yeah, probably still better to stay in rgb
[16:13:57 CEST] <DHE> I was thinking more of the colour bleeding of 420 mode might be obvious in a screencast and have negative impacts on gif colour selection
[16:25:38 CEST] <OnceMe_> well I was using h264
[16:25:51 CEST] <OnceMe_> but converting from mp4 to gif makes gif bigger im size
[16:27:55 CEST] <DHE> record with -qp 0
[16:28:01 CEST] <DHE> instead of any bitrate options
[16:39:40 CEST] <furq> OnceMe_: bigger than what
[16:39:58 CEST] <furq> if you mean bigger than the mp4 then that's to be expected
[16:42:46 CEST] <kepstin> I mean, if you just want to show this on a web page, you really should just put an mp4 in a <video> tag, rather than convert it to a gif :/
[16:43:10 CEST] <furq> if that's possible then yeah
[16:44:10 CEST] <furq> depends whether he owns the web page
[19:20:09 CEST] <Mandevil> ffmpeg -i input.mp3 -c:a pcm_u16le 01.wav ... why doesn't this work?
[19:20:17 CEST] <Mandevil> Is that cmdline ok?
[19:21:41 CEST] <c_14> Mandevil: pcm_u16le codec not supported in WAVE format
[19:21:59 CEST] <Mandevil> Ah.
[19:22:27 CEST] <Mandevil> Oh right, signed works fine.
[19:22:28 CEST] <Mandevil> Thanks!
[20:30:35 CEST] <roxlu> Hi, I'm using libswresample to convert from 32000hz-interleaved, to 44100hz-planar but I'm experiencing some strange issues. When I write one channel of the planar data that I get from the resampler to a file I can play it back (with Audacity) w/o any issues. Though I'm leaking memory because I'm not reading all destination-samples that are available
[20:31:20 CEST] <roxlu> When I read all destination-samples (3rd arg for swr_convert), I'm hearing glitches in the output data
[20:31:37 CEST] <roxlu> Does someone knows why this could be?
[20:55:25 CEST] <ericwooley> Hey guys, I am trying to use the desktop recording feature. and get the output as a pipe into vlc (as a test, eventually I want to pipe to my node program). I keep getting "Unable to find a suitable output format for 'pipe:1'". The command I am running is: `ffmpeg -f avfoundation -i "1:0" pipe:1 | vlc -`
[20:56:07 CEST] <furq> ericwooley: you need to specify an output format
[20:56:13 CEST] <furq> if it's rawvideo then -f nut
[20:56:22 CEST] <furq> otherwise probably -f mpegts
[20:56:37 CEST] <ericwooley> @furq awesome, thanks! I'll give that a shot
[20:57:39 CEST] <ericwooley> @fur that definitly did something, Im getting tons of errors from vlc though. Video is half playing though!
[20:57:55 CEST] <furq> try with ffplay
[20:59:03 CEST] <ericwooley> @furq, -f mpegts worked beautifully
[20:59:47 CEST] <furq> that'll be reencoding
[21:00:23 CEST] <furq> presumably to mpeg2video/mp2, which is probably not what you want for screen capturing
[21:00:51 CEST] <ericwooley> got ya
[21:00:57 CEST] <ericwooley> Thats what I thought
[21:01:05 CEST] <furq> oh fun
[21:01:16 CEST] <furq> i assumed nut defaulted to rawvideo but it defaults to mpeg4 for some dumb reason
[21:01:21 CEST] <furq> try -c copy -f nut
[21:01:33 CEST] <ericwooley> I am going to be streaming it over a high band width connection, so maybe nuts will be ok?
[21:01:53 CEST] <furq> i don't know of any other streamable format which supports rawvideo
[21:02:21 CEST] <furq> your player will need to support it though
[21:02:38 CEST] <ericwooley> Ugh, i wish I had more docs on what my player supports
[21:02:50 CEST] <ericwooley> it's the unity3d movie texture
[21:03:11 CEST] <ericwooley> There doesn't seem to be many docs on that at all
[21:03:25 CEST] <furq> Video files are imported via Apple QuickTime. On Windows movie importing requires Quicktime to be installed (download here).
[21:03:28 CEST] <furq> what
[21:03:38 CEST] <furq> well that's the worst thing i've read today
[21:03:55 CEST] <ericwooley> For -f nut?
[21:04:03 CEST] <furq> https://docs.unity3d.com/Manual/class-MovieTexture.html
[21:04:12 CEST] <furq> i doubt that supports nut but idk
[21:04:35 CEST] <furq> i've been blessed with a life without quicktime
[21:04:53 CEST] <ericwooley> hahaha
[21:05:04 CEST] <ericwooley> I wonder how that will work on android
[21:05:05 CEST] <furq> When a video file is added to your Project, it will automatically be imported and converted to Ogg Theora format.
[21:05:08 CEST] <furq> wtf
[21:05:38 CEST] <ericwooley> That is strange, but I am streaming it from a local server, so I don't need to worry about that
[21:06:10 CEST] <furq> well if you can bypass the import thing then i guess you need to use theora
[21:06:30 CEST] <furq> i think ogg is streamable so just `-f ogg` should work
[21:07:05 CEST] <ericwooley> interesting... Would ogg work compression wise for high detail?
[21:07:13 CEST] <furq> theora isn't great
[21:07:17 CEST] <ericwooley> I'm pretty newbish on video compression
[21:07:23 CEST] <furq> but from that it looks like it's the only codec supported
[21:07:33 CEST] <ericwooley> :(
[21:07:47 CEST] <ericwooley> Maybe I should just switch to native android...
[21:08:06 CEST] <ericwooley> That would be so much more work though
[21:10:26 CEST] <ericwooley> @furq for `ffmpeg -f avfoundation -i "1:0"  -f ogg pipe:1 | vlc -` I get `Encoder (codec theora) not found for output stream #0:0`, does that mean I need to recompile ffmeg?
[21:10:44 CEST] <furq> ffmpeg -codecs | grep theora
[21:10:53 CEST] <furq> if it's not there then you'll need to rebuild
[21:11:29 CEST] <furq> https://docs.unity3d.com/ScriptReference/Handheld.PlayFullScreenMovie.html
[21:11:34 CEST] <furq> there's also that but it doesn't mention android support
[21:12:01 CEST] <ericwooley> ```
[21:12:13 CEST] <ericwooley> ` D.V.L. theora               Theora` is something it found
[21:12:26 CEST] <furq> that's decode only
[21:12:48 CEST] <ericwooley> ah, ok, time to recompile
[21:13:26 CEST] <ericwooley> just out of curiousity, how do you know that? There seems to be so much stuff we these codecs to know about, I don't even know where to start
[21:14:50 CEST] <DHE> it's in the configure command. see the help.
[21:14:52 CEST] <furq> http://vpaste.net/UerpN
[21:15:13 CEST] <ericwooley> mind blown
[21:16:25 CEST] <ericwooley> laptops about to die, I'll be back on in a few. Thanks for the help
[21:19:07 CEST] <bearded_gentleme> I was wondering, how accurate is the command line report of the current bit rate?
[21:20:45 CEST] <DHE> it's just file size divided by timestamp. time discontinuity, or starting at times other than 0s, will throw it off
[21:21:45 CEST] <c_14> I think he means the encoding output, which should be relatively accurate (it includes all streams and overhead though)
[21:24:15 CEST] <bearded_gentleme> So, for exampled, looking at the constant updates at the commandline, streaming to RTMP, I see its between 2900 and 3100, i can't see a single spike above that
[21:24:28 CEST] <bearded_gentleme> the server end sees spikes of 4000, 5000 and even 6000
[21:25:15 CEST] <c_14> the bitrate on the commandline is an average over time delta x
[21:25:29 CEST] <c_14> the incidental bitrate may be higher or lower
[21:25:32 CEST] <DHE> it might be looking at instantaneous bitrates. ffmpeg isn't going to smoothen out the data flow very much, so large keyframes may cause a packet burst
[21:25:53 CEST] <ericwooley> @furq, on my ride home I was thinking about this. Maybe I could take the raw video, and break the frames into images, and create my own movie player by swapping out frames
[21:27:08 CEST] <bearded_gentleme> I see. I don't know much about video, but just about makes sense to a layman like me
[21:27:46 CEST] <bearded_gentleme> What would cause large keyframes?
[21:28:15 CEST] <c_14> keyframes are always large(er than other frames)
[21:29:45 CEST] <ericwooley> so my new question is: How would use use -f image2 with pipe:1?
[21:30:02 CEST] <furq> isn't the bitrate in the stats the average for the whole output
[21:30:36 CEST] <bearded_gentleme> Full disclosure, I'm streaming to twitch via ffmpeg > rmtp. Twitch requires 2 second keyframes and a consistent bit rate, I must confess, I'm struggling to attain that, I think I've tried everything :D
[21:30:50 CEST] <c_14> I think it's the average for the last stats period, but I'm not sure.
[21:30:54 CEST] <c_14> bearded_gentleme: you have -maxrate?
[21:31:07 CEST] <c_14> ericwooley: probably -f image2pipe though I don't know if that's only a demuxer or also a muxer
[21:31:09 CEST] <furq> ericwooley: iirc -f image2pipe -c:v bmp
[21:31:24 CEST] <bearded_gentleme> ffmpeg -hide_banner -re -vcodec h264_mmal -i rtmp://127.0.0.1:1935/transcode -vcodec h264_omx -r 30 -tune zerolatency -force_key_frames 0:00:02 -b:v 2900k -maxrate 2900k -bufsize 1500k -threads 0 -acodec copy -f flv rtmp://127.0.0.1:1935/live
[21:31:41 CEST] <bearded_gentleme> thats my current command line
[21:31:49 CEST] <furq> c_14: last stats period?
[21:31:50 CEST] <ericwooley> rad! Thanks guys! This is always the most helpful irc channel
[21:32:25 CEST] <ericwooley> If you guys throw up some btc addresses, I will donate
[21:32:33 CEST] <c_14> furq: the stats are updated every second I think, so the time delta between the current update and the last
[21:32:45 CEST] <furq> i'm pretty sure it's a longer delta than that
[21:32:58 CEST] <c_14> Might be, haven't looked at that part of the code in a long while.
[21:32:58 CEST] <furq> i figured it was for the entire duration of the file
[21:34:15 CEST] <furq> bearded_gentleme: most of those options don't do anything with h264_omx afaik
[21:34:47 CEST] <furq> -tune and -threads definitely don't, and i don't think maxrate/bufsize do either
[21:35:22 CEST] <bearded_gentleme> welp....
[21:35:47 CEST] <furq> it was pretty much just -g and -b:v last time i checked
[21:35:59 CEST] <bearded_gentleme> The only time the bit rate has been stable is on a static image, them it hits the bit rate spot on
[21:36:17 CEST] <furq> i was curious to see just how bad h264_omx is
[21:36:19 CEST] <furq> turns out it's bad
[21:36:37 CEST] <bearded_gentleme> I'll show you a graph of the bitrate
[21:36:39 CEST] <furq> fortunately i don't use my rpi for anything so that was the last i saw of it
[21:37:06 CEST] <bearded_gentleme> Im using mine as 2nd encoding device to offload the work
[21:37:09 CEST] <bearded_gentleme> or at least trying to
[21:38:23 CEST] <bearded_gentleme> http://imgur.com/a/Qjhb5 thats the state of the output, as displayed by the twitch inspector
[21:38:43 CEST] <furq> nice ratecontrol
[21:39:07 CEST] <bearded_gentleme> Oddly, the rate is bang on at the end
[21:39:17 CEST] <bearded_gentleme> that was a pause screen/tabbed out for a while
[21:39:49 CEST] <bearded_gentleme> Which is the rate set at the command line, more or less.
[21:40:08 CEST] <furq> https://ffmpeg.org/doxygen/3.1/omx_8c_source.html#l00386
[21:40:18 CEST] <bearded_gentleme> So it can't be completely ignoring it?
[21:40:20 CEST] <furq> i had to dig through that to figure out what options were available
[21:40:38 CEST] <furq> -b:v definitely does something
[21:40:50 CEST] <furq> the ratecontrol just sucks
[21:41:14 CEST] <bearded_gentleme> Where is that rate control applied? In the GPU or the code?
[21:41:23 CEST] <bearded_gentleme> excuse the lay questions :D
[21:41:30 CEST] <furq> that's the encoder's job
[21:41:48 CEST] <furq> so that's the hardware's fault
[21:42:04 CEST] <OnceMe_> may I ask then how is this recorded in size with only 400kb https://www.digitalocean.com/assets/media/homepage/create-5fe2f870.gif ?
[21:42:53 CEST] <bearded_gentleme> >_> Thats a shame, the quality of the output from the pi is quite resonable
[21:43:03 CEST] <bearded_gentleme> picture wise, if not rate control lol
[21:43:12 CEST] <OnceMe_> it last for 23 seconds and it quality is nice
[21:43:22 CEST] <OnceMe_> bearded_gentleme: ?
[21:43:28 CEST] <OnceMe_> how do I accomplish this?
[21:44:26 CEST] <bearded_gentleme> Sorry, I was replying to furq
[21:45:46 CEST] <OnceMe_> ok
[21:47:14 CEST] <furq> OnceMe_: as has been said, don't use gif if you can avoid it
[21:47:22 CEST] <furq> but if you can't avoid it then there are better gif optimisers than ffmpeg
[21:47:26 CEST] <furq> https://www.lcdf.org/gifsicle/
[21:47:27 CEST] <furq> this is one
[21:48:58 CEST] <bearded_gentleme> furq: I can see that openMAX has a OMX_Video_ControlRateMax control type, would that help?
[21:49:48 CEST] <bearded_gentleme> I can see nTargetBitrate
[21:49:48 CEST] <bearded_gentleme>  in the code, which is the target rate
[21:58:34 CEST] <bearded_gentleme> Or am I talking out of my ass? :D
[22:22:07 CEST] <bearded_gentleme> Actually looking at that code "vid_param_bitrate.eControlRate" is already in that source you linked. That sets the control rate type, one of which is OMX_Video_ControlRateMax
[23:06:02 CEST] <bearded_gentleme> Ok, changed the OMX_Video_ControlRateVariable to OMX_Video_ControlRateConstant, going to recompile and see if it explodes ^_^
[23:22:49 CEST] <Kiicki> retard you here?
[23:24:21 CEST] <Kiicki> Guess not. I'm curious on what is the best way to download music from Youtube with minimal quality loss. I need to be able to download playlists and/or multiple songs at the same time.
[23:26:51 CEST] <klaxa> youtube-dl is your friend
[23:28:24 CEST] <Kiicki> I have heard people talking about it. I have no idea what that is or how to use it. Will google it
[23:28:39 CEST] <retard> Kiicki: youtube-dl
[23:28:53 CEST] <Kiicki> There you are. I will give it a shot
[23:29:41 CEST] <Kiicki> Playlists and multiple songs should be possible right?
[23:30:02 CEST] <Kiicki> Will it also copy the picture? I just prefer it has some kind of a picture
[23:30:41 CEST] <retard> it is a general purpose youtube downloader, it will work with playlists and multiple songs
[23:30:55 CEST] <retard> it has some rudimentary transcoding support and uses ffmpeg
[23:32:20 CEST] <Kiicki> Downloading Python. Hope I'm doing right here
[23:34:39 CEST] <retard> what platform are you on?
[23:34:56 CEST] <Kiicki> W10
[23:35:21 CEST] <retard> there is a native executable with python bundled
[23:35:27 CEST] <retard> https://yt-dl.org/latest/youtube-dl.exe
[23:35:52 CEST] <Kiicki> Thank you
[23:36:29 CEST] <retard> good luck
[23:36:37 CEST] <retard> there may be some frontend that exposes the options for you
[23:37:03 CEST] <Kiicki> I have no idea what happened. I opened the exe and something happened, but it happened quick and nothing is happening now
[23:37:13 CEST] <retard> it's a command line tool, much like ffmpeg
[23:37:52 CEST] <Kiicki> So I don't actually open it?
[23:38:24 CEST] <retard> you can run it in a cmd window
[23:38:27 CEST] <retard> it is a command line tool
[23:38:42 CEST] <retard> it's like having a text-based conversation with your computer, like we are doing now
[23:39:45 CEST] <retard> maybe ask in #youtube-dl if someone can recommend you a frontend
[23:57:27 CEST] <spreeuw> hey guys, whats a good base bitrate for vp9 video? 700*562
[23:57:48 CEST] <spreeuw> a smudgy vhs rip
[23:58:29 CEST] <spreeuw> I see on some sites you can go with 50% of x264
[23:58:41 CEST] <spreeuw> 600kbps ?
[23:59:41 CEST] <klaxa> i would suggest to encode a bit at different bitrates and judge which one is acceptable to you
[00:00:00 CEST] --- Tue Sep  6 2016


More information about the Ffmpeg-devel-irc mailing list