[Ffmpeg-devel-irc] ffmpeg.log.20140620
burek
burek021 at gmail.com
Sat Jun 21 02:05:01 CEST 2014
[02:08] <RadSurfer> trying to concat .mp4 files, why is it stopping after 1st one?
[02:10] <llogan> RadSurfer: because you didn't show your ffmpeg command and the complete console ouptut
[02:10] <RadSurfer> huh?
[02:11] <RadSurfer> ffmpeg -i "concat:SDV_0223.MP4|SDV_0224.MP4|SDV_0225.MP4|SDV_0226.MP4"
[02:11] <RadSurfer> why is that stopping after 1st one?
[02:11] <sacarasc> IIRC, you have to use the concat filter with MP4s.
[02:11] <RadSurfer> ?
[02:12] <sacarasc> http://ffmpeg.org/ffmpeg-all.html#concat-3
[02:14] <RadSurfer> yet it works just fine with vob, etc. Grrr
[02:16] <sacarasc> Because you can do cat *.vob output.vob and have it work, but not cat *.mp4 | player
[02:17] <RadSurfer> and mkv's have also to be handled special?
[02:18] <sacarasc> I think they work with the concat protocol.
[02:19] <RadSurfer> Plan B... I have a video I made of Tall Ships sailing vessels coming to our town, overall its only 1:10:00 long,
[02:19] <RadSurfer> but of course its over 4gb mp4 files.
[02:19] <RadSurfer> trying to make it into a single movie
[02:25] <RadSurfer> would be ironic to save out to .vob, if that were possible, and do it that way, lol
[02:41] <llogan> RadSurfer: https://trac.ffmpeg.org/wiki/How%20to%20concatenate%20%28join,%20merge%29%20media%20files#demuxer
[02:44] <RadSurfer> meanwhile, I'm trying my own experiment :)
[03:12] <RadSurfer> I managed to get my 1:12:00 movie from 3.94 raw .mp4 down to 1.082gb .mkv :-) seems to play well.
[03:12] <RadSurfer> but that is still large.
[03:16] <BtbN> 1GB for a 1h movie is quite small, at least if it's a good resolution.
[03:16] <RadSurfer> 720p
[03:16] <BtbN> you won't get it any smaller without massively degrading the quality
[03:19] <RadSurfer> 980mb for Parts 1 -4, yet avidemux made it 1.082? that much overhead?
[03:19] <BtbN> avidemux can output mkv?
[03:20] <RadSurfer> Evidently it can... I used copy mode in this case though.
[03:20] <BtbN> which format was it before?
[03:20] <RadSurfer> 980mb of .mkv's copied into one...
[03:20] <RadSurfer> I can try ffmpeg next :-) see how it compares
[03:20] <RadSurfer> doesn't take long either
[03:23] <RadSurfer> ok. running -i concat:mkv|mkv...
[03:23] <RadSurfer> nope, it stops after 1st one...
[03:23] <RadSurfer> can't just concat
[03:23] <llogan> use the demuxer
[03:23] <llogan> concat demuxer. not concat protocol.
[03:23] <RadSurfer> ?
[03:24] <RadSurfer> in any event, I did get what I wanted, & it will fit a DVD along w/other stuff.
[03:25] <llogan> use two-pass encoding next time if you're trying to target a specific output file size
[05:36] <skylto> I'm not solve for days
[05:37] <relaxed> what are you trying to do?
[05:37] <skylto> How to control the H264 frame rate?
[05:39] <skylto> How to set the AVCodecContext parameters?
[05:40] <skylto> Á÷
[08:27] <average> is there any free stream for the world cup.. somewhere
[08:27] <average> ?
[08:30] <llogan> ffplay -f lavfi -i worldcup=team=ghana
[08:31] <sacarasc> Hehe.
[08:56] <average> llogan: that is so funny
[08:56] <average> llogan: you should try doing some stand-up comedy
[09:00] <sacarasc> Try Googling for p2p streaming.
[09:01] <average> sacarasc: any particular p2p stremaing software you'd recommend ?
[09:02] <sacarasc> I don't use it at all.
[09:02] <average> ah, that's sneaky
[09:02] <sacarasc> I just heard about this kind of thing in other channels.
[09:02] <average> I recommend things I never use all the time too!
[09:07] <anshul> is there any invalid value of pts
[09:08] <anshul> I want to use some value,so that i can take out meaning that its not set
[09:11] <anshul> can someone point(mailing list) me disscussion that tell why AV_NOPTS_VALUE is safe value and in real time cant be achived
[09:13] <anshul> if any intrested in looking what is it, #define AV_NOPTS_VALUE ((int64_t)UINT64_C(0x8000000000000000))
[10:14] <zfox> with ffmpeg 2.0, converting a AAC audio to PCM produced will product a lot of noise, when resampling from AV_SAMPLE_FMT_FLTP to AV_SAMPLE_FMT_S16 . my code such as http://codepad.org/gsJU4Ydp
[10:19] <anshul> how does av_rescale_rnd works ?
[10:19] <anshul> what a, b and c parameter means in this function
[10:42] <metathink> Hi
[10:45] <metathink> How can I set the profile High at 4.1 please ?
[10:45] <metathink> High at L4.1
[10:47] <sacarasc> -profile:v high -level:v 4.1
[10:47] <sacarasc> I think.
[10:48] <metathink> Thanks :)
[10:50] <miep1> I'm still trying to strip audio from a video file. I modified doc/examples/muxer.c so that it never copies any AVPackets with streams larger than 0 (assuming video is always 0 and audio is always higher).
[10:50] <miep1> Code is here: http://codepad.org/tNduhPjQ
[10:51] <miep1> But my file size reduction is very modest, for example an MP4 file goes from 6773494 (with audio stream) to 6273994 (without), a measly 500 Kb in reduction
[10:53] <miep1> I have a feeling I'm doing something wrong, maybe my understanding of 'how to strip audio' isn't correct. My stripping takes place at line 579, where it filters out any packets not associated with stream 0
[10:53] <miep1> Is this the best way of doing it?
[10:59] <Mavrik> miep1, did you actually check if stream 0 is audio in your code?
[10:59] <Mavrik> or are you just blindly hoping that for EVERY input file the audio will ALWAYS magically be stream 0? :)
[11:00] <miep1> Mavrik, blindly hoping, I'll replace that call with a check later. But I'm checking against a file for which I *know* video is stream #0, so for testing purposes I've hardcoded the stream id in.
[11:00] <Mavrik> ah
[11:00] <Mavrik> sorry, misunderstood
[11:01] <Mavrik> yes, losing 50MB of 650MB file when stripping audio is totally normal
[11:01] <Mavrik> after all, remember, a 10min mp3 is only like 5-6mb usually ;)
[11:01] <Mavrik> (thought you were stripping video away)
[11:02] <miep1> ah, nice, that is the test. I'll see what happens if I strip away the video stream, should end up with only audio then :)
[11:04] <miep1> Success! So my code does work after all, it's just that my understanding of what would happen was off :) To be honest, I'm used to see audio being a much bigger chunk of data. A typical 650 mb video on my hard drive is over an hour of video, which translates to at least a 100-200mb audio chunk
[11:05] <miep1> Hmm, maybe not :)
[11:07] <miep1> So what is a good way to check if a stream is an audio stream? Should I look at the identity of the codec? Or is that stored somewhere as metadata?
[11:10] <miep1> There is a s stream_identifier int on AVStream, but the comments indicate it is private
[11:11] <Mavrik> miep1, AVStream->codec->codec_type == AVMEDIA_TYPE_VIDEO
[11:11] <Mavrik> :)
[11:13] <Mavrik> lookup AVCodecContext and AVStream on doxygen
[11:15] <metathink> How can I set an encoding setting when I use libx264 ? The options we see with mediainfo for example. (Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / ...)
[11:15] <JEEB> you shouldn't
[11:15] <JEEB> use presets for speed vs compression
[11:16] <JEEB> -preset name http://mewiki.project357.com/wiki/X264_Settings#preset
[11:16] <JEEB> also -tune is also available, but you generally don't need that one
[11:19] <metathink> I would like to follow a tutorial I found to create lightweight videos using x264 options.
[11:20] <JEEB> if that tutorial is setting specific options it is either old or completely incorrect
[11:20] <metathink> I already use preset for other things, and I whoul like to understand how to pass theses options to x264
[11:20] <JEEB> do you mean lightweight as in "uses less CPU power to decode"?
[11:20] <metathink> Its not a tutorial for ffmpeg
[11:21] <JEEB> I don't care what it's for, if it tells you to set specific x264 options it most probably is incorrect
[11:21] <JEEB> or just old
[11:21] <JEEB> and blindly following some idiocy never leads to good things
[11:21] <JEEB> so as I ask you again, do you want to make it easier for a CPU to decode?
[11:21] <JEEB> or what do you mean by "lightweight"?
[11:21] <metathink> Just want to test myself to understand what theses thing does and how it works.
[11:22] <JEEB> you can do that later after I tell you the correct way to do what you want to do
[11:22] <JEEB> because otherwise you will end up left with old/incorrect information
[11:22] <JEEB> and that is never, ever good
[11:23] <metathink> For example, at the bottom of this page, there is some presets: http://dev.beandog.org/x264_preset_reference.html
[11:23] <metathink> How can I change an option of this presets ?
[11:23] <JEEB> first tell me what you want to do
[11:23] <JEEB> then I tell you how to do that correctly
[11:24] <metathink> I just want to understant how ffmpeg works and how to create custom preset to change theses options. I'm not trying to do someting special, just to test things and understand how it works.
[11:25] <JEEB> then you don't need to poke at those settings
[11:25] <JEEB> if you have a very specific use case, then maybe
[11:25] <JEEB> but you are just telling me that you just want to poke at it
[11:25] <metathink> Bu this IS what I want to test.
[11:25] <JEEB> and that usually only leads to misunderstandings
[11:26] <JEEB> and it's not "how ffmpeg works" but rather quite a bit "how libx264 works" since thankfully ffmpeg's libx264 defaults are pretty much libx264's defaults
[11:26] <metathink> I already know how to use ffmpeg for a lot of thing, what I want to do now is understand how to change thses options.
[11:26] <JEEB> the question is, why?
[11:26] <JEEB> for a beginner it's really dangerous to start poking at these things
[11:27] <metathink> Because i'm curious and it's fun to test things ?
[11:27] <JEEB> at one point you had to poke at them, but no more. x264 even has an error if you try to use old ffmpeg defaults :P
[11:27] <JEEB> well, what do you want to test?
[11:27] <JEEB> how are you going to test that?
[11:27] <metathink> What's wrong with you...
[11:27] <JEEB> I am interested in helping you, but I'm not going to tell you things that you most probably are going to end up doing worse things with
[11:27] <JEEB> so unless you tell me what exactly you want to change and for what reason
[11:28] <JEEB> I might be taking you for dumber than you really are, but you really have to understand that 99%+ of all people don't need to set specific API settings, and they can only make things worse with them
[11:28] <JEEB> by misunderstanding various results
[11:29] <metathink> I'm not trying to archive something, i'm just trying to play with ffmpeg because it's fun. I guess I just have to read stuffs and source code by myself instead of asking questions here..
[11:29] <JEEB> I'm sorry, I just worry about you doing something wrong :(
[11:30] <JEEB> some options have a specific option in ffmpeg
[11:30] <JEEB> others can be set via -x264opts
[11:30] <JEEB> you have to pretty much know the API name for that given setting though
[11:30] <JEEB> but really, really -- just be careful to actually know what you're doing if you're comparing stuff
[11:30] <JEEB> like
[11:30] <JEEB> don't compare SSIM or PSNR values when you are not optimizing for that metric for example
[11:32] <JEEB> http://x264dev.multimedia.cx/archives/458 and http://x264dev.multimedia.cx/archives/472
[11:32] <JEEB> are good reading regarding testing encoders
[11:33] <metathink> Thanks a lot :)
[11:33] <JEEB> and yes, there really are that many people who don't know what they're doing and still publish/release/decide on something
[11:33] <JEEB> that's why one just has to be this vigilant when being asked
[11:34] <JEEB> because the user might think he needs some information, but that information most probably is going to be misplaced and misused :<
[11:34] <JEEB> esp. with libx264, where the thing actually has sane defaults, and the presets/tunings already handle most of the use cases
[11:34] <JEEB> for example you can do -preset placebo -tune fastdecode
[11:35] <JEEB> to get maximum compression, but then limit out things that can affect decoding speed
[11:35] <JEEB> of course, nowadays fastdecode is really rare :)
[11:35] <JEEB> it was more needed in the days of ye olde celeron 733MHz
[11:37] <JEEB> and of course as I said, many x264 options are poked into ffmpeg's options
[11:38] <JEEB> like -preset, tune, crf, maxrate/bufsize etc
[11:38] <metathink> In the first place I was interested to understand how YIFY releases are so lightweight. And I figured out there where using x264 options that is not exactly the same as the defaults ffmpeg presets.
[11:38] <JEEB> ugh
[11:38] <JEEB> YIFY isn't even using x264 correctly :P
[11:38] <JEEB> just for your information
[11:38] <zfox> when i use avresample_convert or swr_convert to convert AV_SAMPLE_FMT_FLTP to AV_SAMPLE_FMT_S16 of a 2 channels,44100 audio,it always has some noise. how to resolve this problem ? the code http://codepad.org/qoknuYAB
[11:38] <sacarasc> YIFY encodes are poo.
[11:38] <metathink> ok x)
[11:38] <JEEB> trying to plagiarize them does not lead to any good
[11:39] <JEEB> if you want small encodes
[11:39] <JEEB> you use either 1pass crf (if you have a specific crf value you want to use), or you use 2pass bit rate based encoding (if you have a specific file size/average bit rate over the whole clip you want to achieve)
[11:40] <JEEB> and set preset as high as possible
[11:40] <JEEB> that should get you started
[11:40] <JEEB> after that you can start tweaking things in case you like blur more than pseudo-detail
[11:42] <JEEB> zfox, are you making sure you are taking care of the planarity (as in, if it's planar or interleaved audio)?
[12:19] <zfox> JEEB. it is planner, format is AV_SAMPLE_FMT_FLTP .
[12:19] <JEEB> no, I mean what you output
[12:19] <JEEB> if you have made sure the input is correct and correctly utilized
[12:23] <zfox> output is interleaved. openSLES device of android
[12:23] <JEEB> is the output /really/ interleaved?
[12:24] <zfox> yes
[12:24] <JEEB> have you made sure it is?
[12:24] <JEEB> ok
[12:24] <JEEB> then it's the input
[12:24] <JEEB> you're dealing somehow wrong with it
[12:30] <zfox> i have made two programs, one by avresample_convert and the other by swr_convert. i found the result is not the same. and all put to the openSLES to play ,it has noise all
[12:30] <JEEB> yes, then you probably are dealing with either input or output wrong
[12:31] <JEEB> I haven't looked at your code, but I recommend you look at some other examples of libavresample or libswresample usage
[12:31] <JEEB> also look at what opensles expects from you
[12:32] <metathink> JEEB: thanks for all the things you talked about, it helped me
[12:33] <JEEB> metathink, no problem. But yeah, just compressing stuff is really not rocket science with libx264 :)
[12:34] <JEEB> you just push the preset to the max as much as you can, and in case you are hitting the really low bit rates you might want to poke at some tuning that likes blur more than details with artifacts
[12:35] <zfox> thank u ,JEEB. i will try
[13:01] <volmatrix> hello everyone, is it possible to encrypt a multicast udp live stream (with ffmpeg of course) ?
[14:12] <termos> I get video and audio out of sync when converting from 44.1khz to 48khz audio sample rate, it's about 1-2 seconds and seems constant. What could the reason for this be any ideas?
[14:27] <termos> I think the problem is related to nb_samples, for the input it's 1024 but for the output after aresample filter it's shifting between 1114 and 1115
[14:28] <termos> okey using asetnsamples=n=1024 seems to fix the problem, audio is even in sync.
[14:28] <termos> rubber duck debugging
[15:17] <temhawk> how do you add shadows to text? i see the options "shadowcolor" and "shadowx/shadowy" but no option to actually enable it. shouldn't there be an option like "shadowblur"?
[16:57] <SleepyPikachu> Hello, I'm using libavfilter. How should I free the memory allocated by a call to av_strdup?
[19:11] <megaTherion> Hello
[19:11] <megaTherion> If Im going to choose -vcodec mpeg4, what will it be? Is mpeg4 (not xvid) an built-in encoder in ffmpeg?
[19:12] <sacarasc> Yes. It will encode using ffmpeg's own ASP encoder.
[19:16] <megaTherion> sacarasc: and that seems to work out on windows media player, I just checked it - but I wasnt so sure ^^
[20:34] <iamtakingiteasy> hello, does ffmpeg has any bindings to aalib?
[20:36] <llogan> iamtakingiteasy: it supports libcaca
[20:36] <iamtakingiteasy> does libcaca supports non-colored output?
[20:36] <llogan> i don't know
[20:36] <iamtakingiteasy> :q
[20:38] <llogan> Show the list of available dither colors and exit: ffmpeg -i INPUT -pix_fmt rgb24 -f caca -list_dither colors -
[20:38] <llogan> https://ffmpeg.org/ffmpeg-devices.html#caca
[20:38] <llogan> color - Set color to be used when rendering text. The accepted values are listed with -list_dither colors.
[20:41] <iamtakingiteasy> aha, thanks
[21:09] <iamtakingiteasy> hmm, but seems it is only output device, not an encoder
[21:09] <iamtakingiteasy> isn't there a way to render all this charcters to video frames?
[21:10] <iamtakingiteasy> maybe using some off-screen surface
[21:12] <llogan> iamtakingiteasy: ffmpeg -f tty -i input output
[21:17] <llogan> ffmpeg -h demuxer=tty
[21:28] <iamtakingiteasy> yah. i think i'll go with xvfb :/
[21:28] <iamtakingiteasy> thanks anyway
[22:28] <VooDooNOFX> Does anyone know of a good reason to use ffmbc for professional codecs (like dnxhd, prores, etc) instead of ffmpeg 1.x or maybe 2.x? Hasn't most of it been ported into ffmpeg now?
[22:32] <iive> afair these were merged in ffmpeg first.
[22:33] <iive> ffmbc serves a different purpose/niche, ffmpeg follows libav and breaks api/abi/options quite often.
[22:34] <iive> i would also assume that ffmbc is better polished about (de)muxers.
[22:35] <llogan> VooDooNOFX: ffmbc stuff is not usually ported to ffmpeg. the lack of a VCS doesn't help
[22:36] <iive> amd ffmbc is GPL only, so merging things may also limit the default LGPL build.
[22:36] <llogan> that may have been intentional
[22:37] <iive> I think it is side effect.
[22:41] <llogan> why it was forked in the first place i don't know
[22:43] <iive> I think that baptiste had a number of customers and he needed some fixes and hacks, that were getting too much time to be reviewed, or even refused by some purists.
[22:45] <iive> after the libav fork, ffmpeg started merging all the libav crap, so ffmbc decided that compatibility is more important.
[23:10] <VooDooNOFX> Ok, thanks for the comments. My boss insists on ffmbc for some items, but i've been using ffmpeg since the 1.0 release, and client's Avids, baselights and other video products accept them just fine.
[23:44] <ing_jk> How can i copy the source's framerate ?
[23:44] <llogan> VooDooNOFX: good to know. if you notice something that ffmbc does that ffmpeg cant that would be good to know too or make a bug report
[23:44] <llogan> ing_jk: the input is generally used for the output too
[23:45] <VooDooNOFX> Yeah, i'll get better at that. We use ffmpeg pretty heavily here.
[23:50] <Serus> hi
[23:50] <Serus> I'm trying to add webvtt subtitles while reencoding a part of my video to webm
[23:51] <Serus> However the subtitles do not show up, might this be because I'm using a font that's not existent outside the mkv?
[23:53] <ing_jk> How can i encode multiple videos with keyframe alignment?
[23:55] <Serus> here is the output and the command http://pastebin.com/FkP6crqS
[23:59] <c_14> I'm pretty sure -vt isn't a valid option.
[23:59] <c_14> Fails on my end anyway, isn't in the manual, and I've never heard of it.
[00:00] --- Sat Jun 21 2014
More information about the Ffmpeg-devel-irc
mailing list