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

burek burek021 at gmail.com
Sat Jan 24 02:05:01 CET 2015


[00:12] <kc8hfi> how do you use pulseaudio as a source file?
[00:13] <kc8hfi> I can use -f alsa -i hw:0,0  to capture audio with alsa and it works ok.  but what if i wanted to use pulseaudio?
[00:14] <c_14> -f pulse -i default
[00:14] <c_14> or the name of the capture device
[00:16] <kc8hfi> ok, so far so good.  now,  http://fpaste.org/173328/21968511/   line 1 you can plainly see that i'm using -pix_fmt yuv420p, but yet on line 22,23 its complaining
[00:17] <c_14> input option vs output option
[00:17] <c_14> either ignore it or add it as an output option
[00:17] <kc8hfi> dang!  its supposed to go in the output,
[00:18] <kc8hfi> hmm, that video-size,  that should go in the output also, shouldn't it?
[00:18] <c_14> nop
[00:20] <kc8hfi> i talked yesterday about the playback of the recorded file playin for a second or 2, then hesitating for a second, then it continues on.  I think I found something.  ffplay works perfectly, mplayer and vlc shows this pausing stuff
[00:20] <kc8hfi> so i was gonna try out that pix_fmt to see if that makes a difference
[00:20] <c_14> What version of vlc?
[00:20] <kc8hfi> 2.1.5
[00:21] <c_14> Try setting the pix_fmt, might help.
[00:25] <kc8hfi> that helped, theres a very fast pause after a couple of seconds of playback now,  this time, the pause is barely noticable
[00:25] <kc8hfi> much better than last time
[00:26] <kc8hfi> the video quality of the tape ain't very good anyway, but the capture ain't much different, so there must not be too much loss in the encoding
[00:34] <kc8hfi> i don't see anything in this command that indicates the kind of encoding  for both the audio and video,  ffmpeg -f v4l2  -video_size 720x480  -i /dev/video0  -f pulse -i default -pix_fmt yuv420p   output.mkv
[00:34] <kc8hfi> is there some kind of default or something?
[00:35] <c_14> video should default to crf 23 H.264, audio to eh, something
[00:35] <c_14> It should say in the output string
[00:35] <kc8hfi> oh, right here it is!  it says stream 0,  video h264, and stream 1 audio vorbis
[00:36] <kc8hfi> i don't know if its worth it to try and make a dvd format for this.  i think my tv can play mkv files, i cna just burn a disk with the mkv files on it
[00:40] <c_14> Make sure the tv supports vorbis
[00:42] <kc8hfi> ok, i need to check that
[00:43] <kc8hfi> this tuner says it can do hardware mpeg2 encoding. if i were to specify mpeg2 in the ffmpeg command, would that use hw to do that, or how does that work?
[00:43] <c_14> Depends on the api etc etc etc, in short probably not
[00:44] <kc8hfi> ok.
[00:46] <kc8hfi> i found something interesting.  if i press play on the vcr and then fire up ffmpeg, it'll capture and do what its supposed to do.  however, if the vcr audio output is hooked to the tuner,  the audio from the tuner isn't doing anything
[00:46] <kc8hfi> pavucontrol doesn't show the bars moving around or anything.  while ffpmeg is still running, i can fire up tvtime, and then pavucontrol shows the volume moving around, which means the audio is coming in
[00:47] <kc8hfi> it looks like tvtime is telling the tuner to turn on the audio or something.  i don't know what the deal is
[01:07] <grepper> Right now I am using the "select" filter to output a range of frames (pngs) at intervals, for example -vf select='lt(mod(n\, 8991), 299)' for 10 seconds of frames every 5 minutes. I am wondering if it is possible to have multiple intervals in that command also, like 'output 299 frames at 00:05:31,00:12:62,00:19.61:15,etc
[01:07] <grepper> I'm guessing not, but thought I would ask.
[01:10] <c_14> use absolute frame values with gt and lt and or/and conditions together
[01:10] <grepper> what is the syntax for specifying multiple frame values?
[01:11] <c_14> hmm?
[01:11] <grepper> oh, using or/and I guess
[01:11] <grepper> hm, having trouble visualizing that one, could you give me an example ?
[01:13] <kc8hfi> is there a default bitrate?
[01:13] <c_14> Assuming 1fps video (I don't feel like doing math), grabbing 500 frames after 00:01:00 and another 500 after 00:06:37 would be select='(gt(n, 60)*lt(n, 560)+(gt(n, 397)*lt(n, 897)'
[01:13] <c_14> those overlap, so you'll get everything there, but w/e
[01:14] <c_14> kc8hfi: there's usually a default vbr quality level
[01:16] <kc8hfi> i think i'll leave the bitrate stuff alone..
[01:17] <grepper> c_14: thanks so much, I'll play with that
[01:18] <grepper> I was also looking at the "segment" filter which can cut arbitrary segments of a list of times, but it seems all or nothing, as in you can't specify 'just grab 300 frames at each of those segments'.
[01:19] <grepper> otherwise its blazing fast ... but I think would eat up too much disk space if I used them as intermediary files
[01:22] <c_14> You could always use -ss and -t/-to if the input is cfr
[01:23] <grepper> yeah, that works great with recent ffmpegs, unfortunately I have tried to keep the scripts compatible with avconv as well.
[01:23] <grepper> which fails miserably and the fast accurate seeks in mpeg-2
[01:23] <c_14> Aaah, I remember you.
[01:23] <grepper> :)
[01:24] <grepper> am I right about the segment filter being all or nothing in the sense it must in the end ouput all frames of the video?
[01:25] <c_14> afaik, yes
[01:25] <grepper> damn shame, it would have been perfect
[01:31] <grepper> I should just say "sorry, avconv not supported for arbitrary chapter points", and point them at the static ffmpeg builds.
[01:59] <grepper> ffmpeg -i in.mpg  -vf select='(gt(n, 8991)*lt(n, 9290)+(gt(n, 13554)*lt(n, 13851)',setpts='N/(29.97*TB)' -y %06d.png
[02:00] <grepper> [Parsed_select_0 @ 0x3f00e60] [Eval @ 0x7fff75144d00] Missing ')' or too many args in 'gt(n'
[02:00] <grepper> okay, makes sense as the parenthesis are not balanced, but can't seem to get them in the right place.
[02:01] <c_14> one before + and one before '
[02:01] <grepper> yeah, that's what I tried, I think
[02:01] <grepper> -vf select='(gt(n, 8991)*lt(n, 9290))+(gt(n, 13554)*lt(n, 13851)',setpts='N/(29.97*TB))' -y %06d.png
[02:01] <grepper> same error
[02:02] <grepper> oh, sec mispaste
[02:02] <grepper> select='(gt(n, 8991)*lt(n, 9290))+(gt(n, 13554)*lt(n, 13851))',setpts='N/(29.97*TB)' -y %06d.pn
[02:03] <grepper> not sure what it is looking for
[02:04] <grepper> it also says: "Error while parsing expression '(gt(n' " and "Error initializing filter 'select' with args '(gt(n'"
[02:04] <c_14> hmm, not entirely sure quotes are allowed, I was hoping they were
[02:04] <c_14> get rid of the () that don't have a command
[02:05] <pzich> is it worth simplifying those to between(n, 8992, 9289)+between(n, 135445, 13850)?
[02:05] <c_14> It'd look nicer
[02:06] <pzich> indeed
[02:06] Action: c_14 keeps forgetting about most of ffmpeg's expression evaluations
[02:10] <grepper> Missing ')' or too many args in 'between(n,8992'
[02:10] <c_14> full cmd ?
[02:11] <grepper> ffmpeg -i in.mpg -vf select='between(n, 8992,9289)+between(n,13554,13851)',setpts='N/(29.97*TB)' -y %06d.png
[02:12] <c_14> surround the vf in "
[02:12] <c_14> ie -vf "select=[foobar]"
[02:13] <grepper> hah!
[02:13] <grepper> looks like that did it :)
[02:13] <c_14> shells are great
[02:17] <grepper> thanks c_14 and pzich , I'm going to keep playing and see if I can incorporate it into the script. would be nice as it would cover all the bases
[03:00] <vlt> Hello. How can I resize a 1920x1080 video to 1440:-1 but then add black borders of a certain width to get FullHD again withot having to recode it over and over again?
[03:01] <vlt> (I want to place the video in a smaller scale on a certain position on black background.)
[03:01] <c_14> -vf scale=1440:-1,pad=wheeeeeeeeeee
[03:01] <c_14> Look at the doc for pad to replace the wheeeee
[03:01] <vlt> c_14: Looks nice. Thank you!
[03:02] <c_14> something to do with 1920:1080:iw/2:ih/2 i think
[03:14] <vlt> c_14: Perfect! It's -vf "scale=1440:-1,pad=width=1920:height=1080:x=198:y=66" in my case.
[04:09] <grepper> uf, of course the same select filter doesn't work in avconv
[04:41] <k_sze[work]> Can somebody explain to me what is "Bayer BG 12 Packed"? I know RGB(A), BGR(A), YUV. But what is the Bayer family of pixel formats?
[04:47] <k_sze[work]> Is it really just this: http://en.wikipedia.org/wiki/Bayer_filter
[04:47] <k_sze[work]> meaning that the data simply comes exactly like the photo sensor gets them, and then I'm free to interprete it into RGB or YUV?
[04:51] <k_sze[work]> e.g. I would get sets of 4-bytes in RGBG order and then I would have to interprete it somehow? I suppose that each set doesn't necessarily correspond to one image pixel?
[04:55] <voltagex> hi, is it possible to convert dvb subtitles to srt?
[05:37] <grepper> voltagex: probably possible, but sounds tricky, whenever you have to use ocr, which I think you would have to
[05:37] <voltagex> grepper: dvb teletext sorry
[05:38] <grepper> okay
[05:40] <voltagex> http://sprunge.us/BXHU
[08:01] <grumper> o/
[08:01] <grumper> question on mp4 (container) metadata
[08:02] <grumper> if I have multiple video streams, players (like say mpv, or vlc) seem to default to showing the language tag as "stream description"
[08:03] <grumper> questions: 1) is this a general convention (and the ugly "und" on undefined is normal)  2) can I use as tags random 3-character specifiers that do not match a language code, or will this confuse players?
[08:36] <grumper> another (unrelated) question
[08:36] <grumper> I want to encode 2 streams with 264 with *different* settings
[08:36] <grumper> this doesn't do what I expect it to: http://paste.debian.net/plain/141923
[08:36] <grumper> it does both things lossy (B frames in both places give it away)
[08:36] <grumper> what am I missing?
[08:56] <grumper> damn it "last -crf" wins it seems, regardless -f -c:v:N specification
[08:56] <grumper> *regardless of
[09:20] <voltagex> if I am deinterlacing *non-hd* TS files captured from DVB-T, what is the best filter/filter setting to use?
[12:00] <Nickjunior> Hi everyone. Is there some way to use my brand new I3 CPU at 100 % or so, enconding with X264?. Thanks.
[12:01] <Nickjunior> Already tried with -threads 2 or -threads 4 (Which is the number of threads this CPU has on) and it does not seem to reach that level.
[12:02] <Mavrik> Nickjunior, x264 will use all cores by default "-threads 0"
[12:02] <Mavrik> Nickjunior, if you don't see 100% utilization that's probably because a.) You have an I/O problem b.) There's nothing for x264 to do c.) Your CPU is not actually 4 core
[12:15] <Devedse> Hi guys, does anyone understand why this command: http://pastebin.com/36gFqRJe doesn't work with any preset slower then "faster" but works perfectly with "faster"?
[12:54] <primehaxor> Hello, im using ffmpeg to automation process of a mpegts videos, but one thing i found and missmatch with the old process is the m3u8 have not the exact time, some ts have 7 seconds and others 10 seconds i've choose 10 seconds of each fragment, there is some way to fix it?
[13:41] <grumper> so anyone has ideas on my metadata question from way earlier?
[13:53] <Devrim> Devedse_ I'm pretty the error means you do not have enough RAM
[14:10] <Devedse_> That might be because I'm using the 32 bit version of ffmpeg then
[14:10] <Devedse_> Devrim, I might need to find out then if it's possible to use avisynth together with 64 bit ffmpeg
[14:37] <anshul_mahe> I have RAM of 512 mb, when I compile ffmpeg on it, then ld breaks because of using excess memory
[14:37] <anshul_mahe> is there some magical flag in ffmpeg to make ld work in low memory
[14:42] <__jack__> -no-keep-memory maybe
[14:42] <__jack__> --no-keep-memory
[15:18] <line0> did something like the h264_changesps bitstream filter (http://forum.doom9.org/showthread.php?t=152419) ever make it into official ffmpeg
[15:18] <line0> ?
[15:20] <relaxed> line0: It doesn't appear so. "ffmpeg -bsfs"
[15:20] <line0> yeah i already checked that, but thought it might have been implemented differently
[15:21] <line0> sure would be nice to have because wrong range/colormatrix/sar are fairly common problems
[15:25] <relaxed> ubitux: Any idea about this ^^
[15:25] <ubitux> not really my area i'm sorry
[15:29] <relaxed> line0: did you try his old builds? http://sourceforge.net/projects/direct264/files/Related%20Programs/ffmpeg%20%28demuxer_muxer%20only%29/
[15:32] <line0> yeah they work
[15:32] <line0> would be nice to get this into current ffmpeg, though
[15:34] <relaxed> line0: file a feature request on the bug tracker if there isn't already one, and point to the patches.
[15:34] <line0> will do
[16:25] <Devedse> Hey guys, does anyone know why FFMPEG 64-bit can't open avisynth files as input?
[16:25] <Devedse> Or better, how I can work around it :)
[16:31] <kepstin-laptop> probably because your avisynth libraries are 32bit?
[16:35] <grumper> anyone with knowledge of the hvec support around?
[16:35] <grumper> wondering if anyone has ideas wrt https://ffmpeg.org/pipermail/ffmpeg-user/2015-January/025042.html
[16:35] <Filarius> Hello, is here option to set file write block size? I not so like sound of my HDD while transcoding 6+ streams with ffmpeg
[16:35] <grumper> it should be something dead simple, I just google-fail it
[16:35] <Devedse> Yeah but I thought that AviSynth basically emulates a video file so I didn't think the interaction between ffmpeg and avisynth would go further than simply displaying the bits generated by avisytnh
[16:38] <kepstin-laptop> Devedse: i'm pretty sure that ffmpeg has to load the avisynth dll in-process for that to work, but i'm not positive.
[16:39] <Devedse> kepstin-laptop: Ah that would explain it :)
[16:44] <kepstin-laptop> Filarius: not really. but ffmpeg should be doing normal buffered IO, so you should be able to tweak things at the OS kernel io scheduler level to help with that.
[16:46] <anshul_mahe> __jack__: there is no flag named that
[16:53] <Filarius> kepstin-laptop, thats looks like pretty low level tweak. I had idea to use pipes send data to another app what will handle such staff, but first I must find it or write myself
[16:57] <ac_slater_> hey guys. when I do something like `while (av_read_frame(fc, &pkt) > 0) printf("%llu\n", pkt.pts);` it is not monotonic. Is this typical?
[17:00] <ac_slater_> I guess this is actually an h264 question
[17:01] <grumper> ac_slater_: if you have bframes they are in the stream in DTS order, not in PTS order
[17:01] <ac_slater_> grumper: interesting
[17:01] <grumper> ac_slater_: think what a bframe actually is - it can't really work any other way
[17:02] <ac_slater_> grumper: yea you're right. For some reason I expected libavformat/codec to mess with the timestamps. I'm glad it doesnt
[17:04] <ac_slater_> grumper: silly question here, if I were to take my AVPacket payloads and feed them to a non-ffmpeg decoder, you'd expect the decoder to take DTS right? As opposed to PTS ?
[17:07] <grumper> ac_slater_: it doesn't matter how you actually order stuff
[17:08] <grumper> the decoder will slow down to fill its buffer, if you are too slow with what it needs - output will stall and/or the buffer will overflow
[17:08] <ac_slater_> grumper: I see. I *hope* that's the case with my decoder
[17:08] <grumper> usually buffers keep way beyond an iframe range, so you are not really at risk with either
[17:08] <grumper> (the reorder exist only between 2 iframes, the iframes themselves are always sequential)
[17:09] <ac_slater_> grumper: one of it's api functions are `queueInputBuffer(void * payload, long pts);` ... I cant *really* determine if it wants PTS or DTS.
[17:09] <ac_slater_> grumper: interesting, I assumed these things. Starting to realize some of my assumptions are incorrect
[17:09] <kepstin-laptop> ac_slater_: I don't think you can go wrong feeding frames into the decoder in dts order tho.
[17:09] <grumper> that too
[17:10] <ac_slater_> kepstin-laptop: interesting
[17:10] <ac_slater_> grumper: kepstin-laptop thanks guys
[17:11] <ac_slater_> Oh the documentation for that api call above for `pts` states, "The presentation time at which the buffer should be presented". So I guess it really does expect pts
[17:13] <kepstin-laptop> ac_slater_: yeah, that parameter probably takes the pts value, but you probably queue frames either in dts order or it might not matter that much
[17:14] <ac_slater_> kepstin-laptop: I guess I'll have to play with it. I'm glad you guys shed light on this though. I was tired of guessing
[17:14] <ac_slater_> my bitstream is usually i-frame only
[17:14] <ac_slater_> so I guess it wouldnt matter either way ;)
[17:14] <kepstin-laptop> ... then it doesn't matter, your dts should always equal your pts then
[17:14] <kepstin-laptop> I think?
[17:15] <ac_slater_> it does for my test stream at least
[17:18] <kepstin-laptop> I'd assume that if it takes the pts as an input parameter, it'll probably re-order the frames to pts order on output.
[17:18] <ac_slater_> kepstin-laptop: im sure hoping
[17:20] <DelphiWorld> hi FFMpegster
[17:20] <DelphiWorld> is there any way to select subtitle (srt) position in a video?
[17:22] <kepstin-laptop> DelphiWorld: doesn't look like it. You could probably either convert to ass format and set the positioning there, or do something crazy like render subtitles on a transparent video then overlay them where you like :/
[17:22] <DelphiWorld> kepstin-laptop: ok, i will ASS
[17:23] <DelphiWorld> but if i am doing srt to ass, where to chouse the position
[17:23] <kepstin-laptop> the mplayer-based players (mpv)? have the ability to set margins when rendering srt subtitles, I think, which could be used to position them.
[17:23] <kepstin-laptop> and I think mpv can render subtitles and encode video, might be worth taking a look at that.
[17:24] <DelphiWorld> kepstin-laptop: no... ffmpeg:P
[17:26] <kepstin-laptop> well, it'll still be using the ffmpeg libraries to do the encoding in the end :)
[17:27] <DelphiWorld> kepstin-laptop: yeah but depand on the gui... i can't use gui
[17:28] <kepstin-laptop> i'm pretty sure mpv when used as an encoder doesn't require a gui.
[17:28] <DelphiWorld> Kei_N: what is mpv?
[17:28] Action: DelphiWorld is on windows, kepstin-laptop
[17:29] <kepstin-laptop> ... how are you using windows without a gui anyways?
[17:30] <DelphiWorld> kepstin-laptop: i use text to speech software, i use the windows  gui but most open source gui's use QT or GTK that can't use it
[17:30] <kepstin-laptop> ok
[17:30] Action: DelphiWorld ask saste for ASS subtitle positioning...
[17:31] <DelphiWorld> kepstin-laptop: i'm blind
[17:32] <kepstin-laptop> mpv is a video player based on the command-line "mplayer" for linux. It can be run from the command line, and supports doing video encoding without needing any gui interaction. It has options to specify subtitle position. I don't know if it runs on windows.
[17:32] <DelphiWorld> will evaluate
[17:33] <kepstin-laptop> In my day job, I work on video-conferencing software that runs in a web browser. We're having a hell of a time getting it to work with screen readers.
[17:33] <kepstin-laptop> oh well.
[17:34] <DelphiWorld> kepstin-laptop: here to help & test!
[17:34] <DelphiWorld> kepstin-laptop: webrtc based?
[17:34] <kepstin-laptop> it's crazy mixed webrtc and flash right now.
[17:35] <DelphiWorld> kepstin-laptop: what frontend framework you use? bootstrap? jqery?
[17:35] <kepstin-laptop> right now the user interface is all written in flash, and we're using webrtc only for audio
[17:35] <DelphiWorld> kepstin-laptop: ok, then you can't do any accessibility.
[17:36] <kepstin-laptop> we have some, using keyboard shortcuts and tabbing. I'm not familiar with it, but we had it working in a previous release with JAWS.
[17:36] <DelphiWorld> kepstin-laptop: yeah but bad reading on screen reader
[17:37] <DelphiWorld> kepstin-laptop: i use both JAWS & voiceOver
[17:39] <kepstin-laptop> DelphiWorld: we're probably going to do an accessibility review later this year; if I see you around I might ask for your help, if you like.
[17:43] <DelphiWorld> Kei_N: offcource, you're welcome
[17:43] Action: DelphiWorld pmed kepstin-laptop his email
[17:44] <kepstin-laptop> DelphiWorld: cool, thanks.
[18:01] <cousin_luigi> Greetings.
[18:02] <cousin_luigi> In what cases should one use the --enable-nonfree build flag?
[18:07] <Soltis> Is it possible to stabilize color in a video?
[18:07] <Soltis> Meaning if the camera changed the color balance while recording, I'd like something that can at least reduce the effect by gauging overall changes to color balance and compensating.
[18:10] <c_14> cousin_luigi: the configure script will tell you when you need it
[18:16] <cousin_luigi> c_14: I see. Also there's a nice list inside configure.
[18:17] <cousin_luigi> So, to be completely clear: if I have --enable-nonfree I can't redistribute the binaries? And if I have --disable-gpl the static libraries cannot be linked against?
[18:17] <cousin_luigi> But what of shared ones?
[18:23] <c_14> As far as I'm aware, disable-gpl just makes the code lgpl
[18:23] <c_14> You can link against LGPL code.
[18:24] <DelphiWorld> c_14: unbelivable news
[18:24] <DelphiWorld> c_14: Windows 10 adds platform-level support for the FLAC, HEVC, and Matroska media formats, allowing them to be opened in Windows Media Player and other applications natively.
[18:24] <c_14> And it only took them how many years?
[18:25] <DelphiWorld> c_14: lol
[18:26] <grumper> c_14: you seem to know your stuff :) have any idea what's with https://ffmpeg.org/pipermail/ffmpeg-user/2015-January/025042.html ?
[18:27] <c_14> Ok, HEVC I can understand. That one's still relatively new. But FLAC, Matroska? FLAC is 13 years old... It came out before Windows XP (barely, but it did)
[18:27] <cousin_luigi> c_14: I see. So GPL is more restrictive than LGPL.
[18:28] <cousin_luigi> c_14: I suspect FLAC and mkv had a reputation for being used mainly by pirates. Perhaps they didn't want to be remotely linked to that.
[18:29] <cousin_luigi> Of course things have changed in the last few years.
[18:29] <c_14> But they support DivX and H.264
[18:29] <c_14> grumper: does x265 have a profile option ?
[18:30] <cousin_luigi> H.264 is widely used in other fields, I think. And since when does Windows support DivX natively?
[18:30] <grumper> c_14: yes it does, sec grabbing link
[18:30] <cousin_luigi> As I recall the first divx was a hacked codec btw, is there a connection?
[18:30] <grumper> c_14: http://x265.readthedocs.org/en/latest/cli.html#profile-level-tier
[18:31] <c_14> cousin_luigi: can't remember if it supported DivX or not, thought it did. Haven't used windows in ages.
[18:39] <DelphiWorld> c_14: is there any way to specify font & colors for a srt title?
[18:39] <c_14> Not that I know, if you want to specify font & colors, use ass.
[18:40] <DelphiWorld> c_14: so just converting srt to ass?
[18:41] <c_14> ye, then you can open the ass in a text editor and change the color/font
[18:41] <DelphiWorld> c_14: i hope, will bug you if i can't
[18:41] <cousin_luigi> c_14: Can I use BSD plugins and still be GPL-compliant?
[18:42] <cousin_luigi> well, nevermind. I can check inside the configure script.
[18:42] <JEEB> what?
[18:42] <JEEB> <cousin_luigi> So, to be completely clear: if I have --enable-nonfree I can't redistribute the binaries? And if I have --disable-gpl the static libraries cannot be linked against? <- enable nonfree means the same for both GPL and LGPL
[18:43] <JEEB> it means you can't distribute the combined thing as the licenses are not compatible
[18:43] <JEEB> also there is no disable-gpl, since LGPL is the default mode of operation for the configure script
[18:43] <JEEB> enable-gpl explicitly enables GPL stuff and lets you link against GPL things
[18:44] <JEEB> just like enable-version3 explicitly switches to the version 3 of (L)GPL instead of v2
[18:44] <cousin_luigi> JEEB: I see.
[18:44] <c_14> cousin_luigi: you should be able to use BSD plugins as long as the BSD license under which the plugins are licensed is GPL/LGPL compatible
[18:44] <cousin_luigi> c_14: It is.
[18:45] <cousin_luigi> JEEB: But what about lgpl then?
[18:46] <JEEB> what?
[18:48] <grumper> c_14: I have to go, if you get an idea wrt the 265 profile (or if my command works on your ffmpeg) - drop me an email on the ML
[18:49] <c_14> Will do.
[18:49] <cousin_luigi> JEEB: I'm not sure which parts are licensed under GPL and which under LGPL.
[18:49] <JEEB> a) the files have headers b) grepping the configure script helps
[18:49] <JEEB> most of FFmpeg is LGPL
[18:49] <JEEB> then there's some MPEG-2 decoding asm for libmpeg2 that is GPL
[18:50] <cousin_luigi> JEEB: I mean the resulting binaries.
[18:50] <JEEB> and some filters
[18:50] <JEEB> huh
[18:50] <JEEB> if you configure with --enable-gpl then all of that is GPL
[18:50] <JEEB> thus I don't get the question
[18:50] <JEEB> you are picking GPL as the license for the whole of FFmpeg there
[18:50] <JEEB> so there is no "this is GPL and this is LGPL" as far as the libraries go
[18:50] <cousin_luigi> I see.
[18:51] <JEEB> --enable-gpl -> you want to use FFmpeg under GPL , standard LGPL setup -> you want to use FFmpeg under LGPL
[18:51] <JEEB> the configure script outputs the license you're using as well, so you can make sure
[18:52] <JEEB> this isn't exactly rocket science :3
[18:52] <cousin_luigi> It's just something I've never really delved into.
[18:52] <cousin_luigi> so if I don't use --enable-gpl will configure disable switches that are incompatible with lgpl?
[18:55] <JEEB> it works so that if you try to do for example --enable-libx264 (requires GPL) without --enable-gpl, it will error out
[18:55] <JEEB> because libx264 wrapper has GPL licensing as a dependency
[18:59] <cousin_luigi> aha
[18:59] <cousin_luigi> last question: is the fraunhofer licence GPL-compatible?
[18:59] <JEEB> no
[18:59] <JEEB> that's why it's enable-nonfree
[18:59] <JEEB> it's incompatible with both LGPL and GPL
[19:00] <cousin_luigi> oksame goes for libfaac?
[19:00] <JEEB> yes
[19:00] <JEEB> and libaacplus
[19:00] <cousin_luigi> I think everything is clear now.
[19:00] <cousin_luigi> Thanks.
[19:01] <JEEB> which leaves you with either vo-aacenc (crap for anything but 2ch, this is why google open sourced fdk-aac) and the internal aac encoder (which is OK, and can be patched with a patch that's on the trac's longest thread)
[19:01] <cousin_luigi> hehe
[19:03] Action: DelphiWorld hate faac... love fdk_aac
[19:04] <JEEB> both suck if you need to distribute a binary :P
[19:04] <cousin_luigi> I spoke too soon. I have yet another question:)
[19:05] <cousin_luigi> Are avfilter, libvpx and libopenjpeg also problematic? Or is that just a matter of stability?
[19:05] <JEEB> avfilter? do you mean libavfilter?
[19:06] <JEEB> libopenjpeg I have no idea about, libvpx is licensed under a pretty permissive license
[19:06] <cousin_luigi> JEEB: I suppose so.
[19:06] <JEEB> libavfilter is a part of FFmpeg?
[19:06] <JEEB> some filters are LGPL, some GPL
[19:06] <JEEB> (probably the library that has most GPL-only components in FFmpeg)
[19:07] <JEEB> although the ones that most people use (crop/scale/yadif) are LGPL now
[19:07] <cousin_luigi> I wonder why anyone would enable gpl and disable avfilter then.
[19:07] <JEEB> because they didn't need it?
[19:08] <cousin_luigi> Good point.
[19:08] <JEEB> when I only need the libraries I disable the command line tools for example
[19:10] <cousin_luigi> JEEB: How much redundancy is there between plugins?
[19:10] <JEEB> in what sense?
[19:10] <cousin_luigi> a scope overlap
[19:10] <JEEB> huh?
[19:10] <cousin_luigi> I mean, could it be they disabled vpx because something else did the same job?
[19:11] <JEEB> you can't disable vpx because you have to explicitly enable it. and yes, for decoding libavcodec has its own decoders for VP8 and VP9
[19:11] <JEEB> for encoding it is the only solution for VP8 and VP9
[19:11] <cousin_luigi> ok
[19:13] <cousin_luigi> JEEB: I meant to add ladspa, libcelt and libwebp, but I'm not sure if something else already decodes those formats.
[19:13] <JEEB> do a standard configure and check if its results contain decoders for those things
[19:13] <cousin_luigi> right
[19:14] <JEEB> although I'm pretty sure the non-vp8 webp isn't supported by libavcodec
[19:14] <cousin_luigi> I'm very tired tonight:|
[19:15] <cousin_luigi> JEEB: it says it is...
[19:16] <JEEB> that's probably the vp8 side of webp
[19:16] <JEEB> there's two completely different formats in webp
[19:16] <JEEB> one is the less good VP8 one
[19:16] <JEEB> the other is completely different and designed for picture coding from ground up
[19:17] <JEEB> or wait...
[19:17] <JEEB> I'll be damned
[19:18] <JEEB> ruggles implemented lossless+alpha
[19:18] <cousin_luigi> JEEB: http://pastebin.com/raw.php?i=ZA4J3wjY <- this is my ./configure
[19:18] <cousin_luigi> "ruggles" ?
[19:18] <JEEB> name
[19:18] <JEEB> of a person
[19:18] <cousin_luigi> ahhh:)
[19:18] <JEEB> http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/webp.c;h=4b1c8e7f8b0e80a67523f1adf78fdf739224d951;hb=HEAD
[19:18] <cousin_luigi> nice!
[19:18] <JEEB> so yeah, surprisingly webp is relatively implemented
[19:19] <JEEB> animation, ICC profiles and XMP metadata is missing it seems
[19:20] <cousin_luigi> Is that backported to 2.5.x ?
[19:21] <cousin_luigi> nevermind, I meant 2.3
[19:21] <JEEB> no ide
[19:21] <JEEB> a
[19:22] <cousin_luigi> gah, but I'm seeing it and I'm on 2.3.6, so it must have been:|
[19:22] <cousin_luigi> Again, I'm too tired:/
[19:22] <JEEB> make sure the version you're having actually has those features implemented
[19:22] <kepstin-laptop> check the release notes? Features don't normally get backported tho, only bug/security fixes
[19:22] <JEEB> as in check the header :P
[19:22] <cousin_luigi> :)
[19:22] <JEEB> yes, features don't get backported, only fixes
[19:22] <cousin_luigi> ok
[19:23] <cousin_luigi> but what else could support webp then? Talking about decoders.
[19:24] <JEEB> the official decoder and lavc decoder are the two
[19:24] <JEEB> just make sure that the webp decoder has all the features
[19:25] <JEEB> the top of the file has a list of implemented and not implemented features
[19:25] <JEEB> (the internal one)
[19:26] <cousin_luigi> ok, looking
[19:27] <cousin_luigi> unimplemented: Animation, ICC profile, XMP metadata. Since I don't even know what they are, I think it's safe to assume I don't need them for the time being:)
[19:27] <JEEB> yeah, then you have the latest version of that decoder
[19:28] <DelphiWorld> what's webp?
[19:28] <JEEB> basic webp is basically a frame of vp8
[19:28] <DelphiWorld> ah
[19:28] <JEEB> the lossless thing is a completely separate image format
[19:28] <JEEB> but basically google's attempt at a still image format :P
[19:29] Action: DelphiWorld is blind, JEEB ... so have no info of any VIDEO CODEC :-P
[19:29] <kepstin-laptop> i guess the lossless version's supposed to compete with png?
[19:30] <JEEB> kepstin-laptop, prolly.
[19:30] <JEEB> and that one IIRC is relatively alright
[19:30] <JEEB> huffman coded huffman tables
[19:30] <JEEB> I heard you liked huffman so we huffman'd your huffman tables
[19:30] <cousin_luigi> Speaking of image formats, what do you think of BPG?
[19:30] <JEEB> it's literally HEVC with a different header
[19:31] <cousin_luigi> The size comparisons on the author's site don't seem too compelling.
[19:31] <cousin_luigi> Ah.
[19:32] <JEEB> basically a lot of the stuff written into the parameter sets is instead accounted as hardcoded
[19:32] <JEEB> and thus the length of the header (parameter sets) can be shortened
[19:33] <cousin_luigi> But what about quality? Does it have significant edges over JPG? Or is it more about speed?
[19:34] <JEEB> speed? this is more complex than JPEG so how can it be more about speed compared to it :P
[19:34] <JEEB> the quality should be as good as an intra picture HEVC picture would be
[19:34] <JEEB> depends completely on the encoders
[19:34] <JEEB> of course you could make the encoders even more slower because you're encoding a single picture
[19:35] <John____> Hi, I'm interested in contributing to FFmpeg through OPW. Could anyone please guide me regarding where should I begin from?
[19:35] <cousin_luigi> Then the author picked really lousy examples to show. That or I don't have a good eye for such things, which is also very likely:)
[19:35] <JEEB> John____, #ffmpeg-devel or the ffmpeg-devel mailing list. but before that at least once compile git HEAD FFmpeg and have it run on your system :P
[19:36] <kepstin-laptop> you have to pick lousy examples, otherwise you can't see any difference at all.
[19:36] <cousin_luigi> kepstin-laptop: I mean lousy as I can't see the difference.
[19:37] <John____> Thanks JEEB.
[19:37] <cousin_luigi> oh wait, other examples are better
[19:52] <AlexRussia> hey
[19:53] <AlexRussia> I have crazy problem
[19:54] <AlexRussia> I try to concat some mp3 by this http://trac.ffmpeg.org/wiki/Concatenate#samecodec
[19:54] <AlexRussia> but when I use something, it's always crash on files, which include '
[19:54] <AlexRussia> in name
[19:54] <pzich> probably because they aren't properly escaped?
[19:55] <AlexRussia> Yes, but IDK how to escape them
[19:55] <AlexRussia> adding \ just ignored
[19:56] <AlexRussia> like
[19:56] <AlexRussia> 02. Celldweller - Goodbye (Klayton's 2012 Mix).mp3
[19:57] <AlexRussia> if I add \ before ', it's just says me s'
[19:57] <AlexRussia> idk, what the hell :(
[20:00] <c_14> Try file "/path/to/file"
[20:02] <AlexRussia> c_14: there're many files
[20:02] <c_14> then do that for all of them?
[20:02] <AlexRussia> c_14: concatenate
[20:02] <c_14> ye
[20:02] <AlexRussia> you're crazy ^^
[20:03] <c_14> Just go into the concat file, and change the surrounding single quotes to double quotes
[20:03] <c_14> you could even use sed
[20:05] <AlexRussia> oh
[20:05] <AlexRussia> lol
[20:07] <c_14> That should work as long as none of your files have double quotes
[20:07] <AlexRussia> c_14: now it says, impossible to found file
[20:07] <AlexRussia> [concat @ 0x1da1220] Impossible to open '"./01.'
[20:07] <AlexRussia> list.txt: No such file or directory
[20:07] <c_14> eh, what
[20:07] <AlexRussia> yep
[20:08] <AlexRussia> I did change ' to "
[20:08] <c_14> What line starts with ./01 ?
[20:08] <c_14> What does it look like?
[20:08] <AlexRussia> first
[20:08] <AlexRussia> file "./01. Celldweller - The Complete Cellout.mp3"
[20:10] <AlexRussia> c_14: :(
[20:11] <c_14> mhm, so it doesn't allow escaping with double quotes... back to the single quotes but with 2 backslashes before single quotes in songnames ?
[20:11] <AlexRussia> oh
[20:11] <AlexRussia> that's sounds like nothing good :D
[20:12] <kepstin-laptop> is this unix shell? there's no portable way to escape single quotes in a single quoted string. You have to do something like 'text'\''more text' :/
[20:13] <kepstin-laptop> i.e. end the string, put an escaped single quote, then start the string again :/
[20:13] <c_14> kepstin-laptop: this is the concat format file
[20:13] <kepstin-laptop> ok, then ignore me :)
[20:15] <AlexRussia> c_14: [concat @ 0xdbd220] Impossible to open './02. Celldweller - Goodbye (Klayton\\s'
[20:15] <AlexRussia> list.txt: No such file or directory
[20:15] <AlexRussia> hu-huru-huhu-hu-huru-hu
[20:15] <AlexRussia> c_14: file './02. Celldweller - Goodbye (Klayton\\'s 2012 Mix).mp3'
[20:16] <AlexRussia> your perfect world
[20:16] <AlexRussia> has been upset
[20:16] <AlexRussia> when you tried
[20:16] <AlexRussia> concat in shell
[20:16] <AlexRussia> :D
[20:16] <c_14> Maybe we should try what kepstin-laptop said?
[20:16] <c_14> ie Klayton'\''s
[20:18] <AlexRussia> you're all really crazy!
[20:18] <AlexRussia> but seems like that crap work
[20:23] <AlexRussia> kepstin-laptop: thanks!
[20:23] <AlexRussia> kepstin-laptop: don't you know,can I somehow automatise it?
[20:24] <pzich> well sed "s/'/'\\''/g" might get you close
[20:25] <kepstin-laptop> don't even need sed, bash can do it itself
[20:26] <kepstin-laptop> e.g. the bash function shown in http://askubuntu.com/a/354927
[20:27] <AlexRussia> kepstin-laptop: I use zsh, but I'll
[20:28] <kepstin-laptop> should certainly be possible to do something like that in zsh. I just dunno the syntax for it :)
[20:28] <AlexRussia> pzich: yep, but here's something interesting, like how to send to sed result of pattern
[20:28] <AlexRussia> pzich: via echo again? xD
[20:28] <pzich> or pass in the file
[20:28] <kepstin-laptop> yeah, just >> it to the file you're making would be easiest
[20:29] <AlexRussia> pzich: anyway, afaik, you must be added -e before expression ( at Edit)
[20:29] <AlexRussia> pzich: I had here use sed too much many times in uni practic
[20:30] <pzich> not for a subsitution this simple
[20:30] <pzich> `echo "Klayton's" | sed "s/'/'\\\\''/g"`
[20:30] <AlexRussia> kepstin-laptop: 0.0, just echo -e?
[20:30] <pzich> oh, for the echo
[20:31] <kepstin-laptop> no, you don't want echo -e, that would undo all your hard work :)
[20:32] <AlexRussia> kepstin-laptop: em, but there's overview only echo -e or printf with %b for formatting
[20:33] <kepstin-laptop> don *dont'* want formatting. formatting would remove the escaping!
[20:33] <AlexRussia> I mean
[20:33] <AlexRussia> for formatting escaping
[20:33] <AlexRussia> LD
[20:33] <AlexRussia> :D
[20:34] <AlexRussia> oh
[20:34] <AlexRussia> I've got it
[21:04] <django> Can I get ffmpeg to cache the buffer if it can't keep up with a live stream I'm encoding on the fly.
[21:10] <AlexRussia> lol
[21:10] <AlexRussia> ppl
[21:10] <AlexRussia> '' not need
[21:10] <AlexRussia> if you properly escape file path
[21:10] <AlexRussia> :D
[21:10] <DelphiWorld> dashcloud_: hlsCloud
[21:19] <DelphiWorld> any suggestion if adding a still image to a audio file?
[21:19] <DelphiWorld> i am producing a .mp4 file
[21:19] <DelphiWorld> with mp3 audio & h264 static image
[21:20] <DelphiWorld> any suggestion?
[21:20] <c_14> try -tune stillimage?
[21:23] <DelphiWorld> c_14: where this should go? and if i dont do it will i get a static image?
[21:23] <DelphiWorld> my source is a .jpg file and .mp3 file
[21:23] <DelphiWorld> lol sory .wav and ffm is doing mp3
[21:24] <c_14> It's an output option. It's just a tune for x264 to set options for optimal compression of a static image.
[21:24] <DelphiWorld> c_14: good...
[21:24] <DelphiWorld> if i recize the image using -s 640x360 will that cause any problem?
[21:24] <c_14> nah
[21:24] <DelphiWorld> good
[21:25] <DelphiWorld> c_14: you know that you're my eyes? :P
[21:25] <DelphiWorld> c_14: google for beMyEyes.org ;)
[21:28] <c_14> Interesting.
[21:33] <DelphiWorld> c_14, i encoded to mp4 using H.264/MP3 but mpc dont play it, stay blocked on startup
[21:34] <c_14> Does ffplay play it?
[22:02] <Harzilein> hi
[22:08] <Harzilein> i have some avi/xvid based source material w/ 16:9 aspect ratio and i want to make 3gp/h263 from it, with 352x288 resolution. i don't want letterboxing but want to try to see if the target can do the right thing wrt scaling. what do i need to add to my command line: (ffmpeg -i input.avi -vcodec h263 -s 3 \
[22:08] <Harzilein> oops
[22:08] <Harzilein> -s 352x288 output.3gp
[22:09] <Harzilein> )
[22:09] <Harzilein> and s/-s 3 // of course, sorry for that noise
[22:10] <c_14> -vf scale=352:-1,pad=352:288:iw/2:ih/2
[22:10] <c_14> Instead of -s
[22:10] <c_14> You might need to look at the pad docs
[22:10] <DelphiWorld> c_14, -vf ass=mysub.ass, will this let the person chouse to display the subtitle?
[22:11] <c_14> No
[22:11] <c_14> That will burn the subtitles into the video
[22:11] <DelphiWorld> c_14: ok, what's the other way?
[22:11] <c_14> Just add them like you would any other stream `-i mysub.ass'
[22:11] <DelphiWorld> ok i'lle try
[22:12] <Harzilein> c_14: i said i _don't_ want letterboxing. the format might not allow this though
[22:13] <c_14> Do you want it stretched?
[22:13] <kepstin-laptop> Harzilein: then just use scale=352:288, that'll set up the aspect ratio just fine if the format supports it
[22:14] <Harzilein> hmm, is there a difference between -vf scale=352:288 and -s 352:288 here?
[22:15] <kepstin-laptop> no, the -s option just adds a scale video filter on your behalf.
[22:17] <Harzilein> hmm
[22:19] <DelphiWorld> c_14: any recomanded font to use?
[22:19] <DelphiWorld> Style: Default,Arial,16,&Hffffff,&Hffffff,&H0,&H0,0,0,0,1,1,0,2,10,10,10,0,0
[22:21] <Harzilein> [h263 @ 0x80ac78420] w/h must be a multiple of 4
[22:21] <Harzilein> :(
[22:22] <Harzilein> tried -vf scale=352:-1
[22:22] <Harzilein> okay, i'll just try letterboxing and after it works i can always see if i can do it differently
[22:22] <c_14> DelphiWorld: Arial should be fine
[22:23] <Harzilein> c_14: thanks for providing the letterboxing syntax, i guess you knew better what i wanted :D
[22:23] <c_14> Harzilein: use -4
[22:23] <DelphiWorld> c_14: ok, hold on i'm getting fidback from my cousin on the screen
[22:23] <c_14> Harzilein: -vf scale=352:-4, that'll make sure it's divisible by 4
[22:24] <Harzilein> c_14: hehe, new and exciting error message: [h263 @ 0x80ac78420] The specified picture size of 352x200 is not valid for the H.263 codec.
[22:24] <Harzilein> Valid sizes are 128x96, 176x144, 352x288, 704x576, and 1408x1152. Try H.263+.
[22:24] <Harzilein> c_14: can't i just put some metadata in it that will tell the target to vertically downscale it?
[22:25] <c_14> don't think so
[22:26] <Harzilein> c_14: with your padding syntax i get: [Parsed_pad_1 @ 0x80ac2b260] Input area 176:98:528:296 not within the padded area 0:0:352:288 or zero-sized
[22:27] <c_14> eh, right. it should be (ow-iw)/2:(oh-ih)/2
[22:27] <c_14> instead of iw/2:ih/2
[00:00] --- Sat Jan 24 2015


More information about the Ffmpeg-devel-irc mailing list