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

burek burek021 at gmail.com
Wed Mar 2 02:05:01 CET 2016


[00:50:16 CET] <deweydb> looking for some tips about best approach to take. i want to take an input video (9x16 aspect ratio) and apply a "ken burns" effect to it.  essentially cropping the video to 16x9 and then panning the crop window from the top to the bottom slowly through the duration of the video.
[00:59:09 CET] <J_Darnley> deweydb: see whether the crop filter can use expressions
[00:59:45 CET] <llogan> it can
[01:02:19 CET] <llogan> like this lame one: "crop=w=iw:h=iw/(ih/iw):x=0:y=t*ih/10"
[01:07:39 CET] <mrec> does anyone know the meaning of serial in ffplay?
[01:08:23 CET] <llogan> what's the context?
[01:08:39 CET] <mrec> struct Frame { ... int serial ... }
[01:17:22 CET] <deweydb> llogan: nice
[01:18:00 CET] <llogan> deweydb: "h=iw*a" is fewer characters
[01:18:28 CET] <deweydb> such obfustication. reading docs to try to be able to read that
[01:21:43 CET] <llogan> y=((ih-oh)*t)/5 might be more "useful" to show everything within the duration. where "5" is your duration. there is probably a better way though.
[01:22:31 CET] <llogan> i should add more useless parenthesis
[01:22:32 CET] <deweydb> is the duration available within the filter complex expression
[01:22:39 CET] <deweydb> or do i retrieve that first via other means
[01:23:56 CET] <llogan> not in crop, AFAIK. you can script it with ffprobe.
[01:24:01 CET] <deweydb> wow just tried this out. man thanks so much! really helped me get started!
[01:24:44 CET] <llogan> i'm an arithmetic retard, so doublecheck it
[01:25:05 CET] <llogan> for duration see https://trac.ffmpeg.org/wiki/FFprobeTips#Duration
[01:26:03 CET] <llogan> assuming your duration comes from another file
[01:26:20 CET] <deweydb> yeah, well i need to play around with it a bit anyway, but this definitely gets me started. thanks.
[01:26:47 CET] <llogan> it gave me a good distracton from borking work
[01:26:52 CET] <llogan> *boring
[02:38:52 CET] <snakeryslug> hello. do i use ffprobe to measure the size of a stream?
[02:39:11 CET] <snakeryslug> i'm trying to figure it out, but i haven't found anything in ffprobe yet.
[02:39:15 CET] <DHE> size? as in duration? it can do that if the stream supports it
[02:40:02 CET] <snakeryslug> DHE: sorry i should've been more specific. i'm very ignorant in respect to av data in general so this question might not make sense. how do i find the size on my disk of a stream?
[02:40:31 CET] <DHE> as in, only the audio or video? there isn't a reliable method except running through the whole file and counting
[02:40:46 CET] <snakeryslug> DHE: i'm sorry, i don't understand.
[02:41:01 CET] <snakeryslug> i know that ffmpeg can extract streams from AV files.
[02:41:06 CET] <DHE> so a file usually consists of 2 streams: audio and video. maybe more, depending on the context.
[02:41:13 CET] <snakeryslug> yep
[02:41:32 CET] <DHE> and you want to know how big the audio (or video) would be if extracted?
[02:41:38 CET] <snakeryslug> DHE: yes.
[02:41:53 CET] <DHE> there is no 100% reliable consistent way other than doing it
[02:42:16 CET] <snakeryslug>  that is unintuitive to me, but again, I'm not experienced with the details.
[02:42:19 CET] <DHE> unless the stream is constant bitrate, in which case it's (duration * bitrate).
[02:42:19 CET] <snakeryslug> thanks.
[02:42:48 CET] <DHE> some codecs may be used in constant bitrate mode, usually audio. but if the bitrate is variable you'll have to actually measure the whole thing for an accurate answer
[02:42:59 CET] <snakeryslug> DHE: so ffprobe only works on steam disk space determination if it's a constant bitrate?
[02:43:04 CET] <J_Darnley> I think ffprobe can tell you how much of the existing file is audio or video but it cannot tell you the result of a transformation.
[02:43:34 CET] <snakeryslug> J_Darnley: I can't find the command to find the disk size of a stream yet.
[02:43:44 CET] <DHE> for some codecs, like AC3, constant bitrate is actually the norm. in that case ffprobe will say something like 384k
[02:43:56 CET] <J_Darnley> show frames and then sum the frames for each stream.
[02:44:04 CET] <DHE> 384 * duration_in_seconds / 8
[02:44:09 CET] <DHE> = kilobytes
[02:44:39 CET] <J_Darnley> When I said "ffprobe can tell you how much" I mean "ffprobe can show you data which you can use"
[02:44:42 CET] <snakeryslug> so ffprobe doesn't do those calculations for me?
[02:44:48 CET] <snakeryslug> okay
[02:45:46 CET] <DHE> it's not a direct metric people are interested in most of the time. bitrates are usually what people are after
[02:49:31 CET] <snakeryslug> DHE: i'll have to read more about streamable media. do you recommend literature that touches important points for intermediate programmers?
[02:53:37 CET] <J_Darnley> lol
[02:53:46 CET] <J_Darnley> why am I surprised that that doesn't work
[02:53:58 CET] <J_Darnley> why am I *not*
[02:54:30 CET] <J_Darnley> oh well that's just obvious(!)
[02:55:05 CET] <snakeryslug> I also can't figure out if my stream is CBR or VBR from ffprobe output. when i search ffprobe --help, there's no occurence of bitrate bit rate or bit-rate.
[02:55:12 CET] <J_Darnley> snakeryslug: try -show_entries 'frame=stream_index,pkt_size' and an output format of your choosing
[02:56:22 CET] <snakeryslug> the packet sizes are different, so is that VBR? starting to read info about bitrates right now.
[02:56:49 CET] <snakeryslug> thank you for finding that command
[02:56:55 CET] <J_Darnley> no problem
[02:57:37 CET] <J_Darnley> and you clearly don't grep very well: ./ffprobe -h | grep 'bit.\?rate'
[02:58:33 CET] <J_Darnley> but I don't think it does what you want
[02:58:55 CET] <J_Darnley> yeah, definitely not
[02:59:14 CET] <snakeryslug> J_Darnley: maybe windows documentation is different, because i still don't find an instance.
[03:00:06 CET] <J_Darnley> if there was a character separating bit and rate it would be an underscore in the option name
[03:00:41 CET] <snakeryslug> you're right i need grep.
[03:06:28 CET] <snakeryslug> my problem isn't critical. my intuition tells me that the mostly static video stream of my av file (is that what it's usually called?) doesn't take up much disk space, I was just wondering if the opensource tools for av data manipulation and inspection had a quick way of telling me how much space it took up on the file. i know ffmpeg can extract audio from av files and that's certainly one way to do it, but it's not quick. maybe ffmpeg
[03:06:28 CET] <snakeryslug> has a dry run option that i haven't looked for yet. thank you for your help!
[03:07:37 CET] <snakeryslug> and it sounds like finding the size of a stream in a file isn't a very quick task on a vbr file.
[03:11:25 CET] <J_Darnley> If you want to know how large the audio would be is you extracted it then I suggest you do exactly that
[03:11:36 CET] <J_Darnley> extract the audio and see how big it is.
[03:12:17 CET] <J_Darnley> I thought you wanted to do something else, something fancy
[03:12:33 CET] <snakeryslug> J_Darnley: yep. that's what i was gonna do if ffprobe couldn't help me. i'm interested in learning how ffprobe and ffmpeg work, so I'll learn the backends if I can make time.
[03:12:47 CET] <J_Darnley> ooh
[03:13:02 CET] <J_Darnley> that's a fairly big topic but if you want to, go ahead
[03:13:36 CET] <snakeryslug> My intuition tells me that if ffmpeg extracting and copying the audio stream probably has an option that eventually outputs the file size of the stream, I'll look.
[03:14:55 CET] <snakeryslug> And in the end, maybe my use case is dumb lol.
[03:15:02 CET] <J_Darnley> ffmpeg does print the sum of audio and sum of video streams when its done
[03:15:27 CET] <snakeryslug> J_Darnley: i'm looking for an option where it doesn't output the file.
[03:15:29 CET] <jas99> hi guys
[03:15:38 CET] <J_Darnley> write to /dev/null
[03:15:41 CET] <snakeryslug> but i can always just then delete the file.
[03:15:44 CET] <J_Darnley> or NUL on windows
[03:16:17 CET] <jas99> hey J_Darnley
[03:16:24 CET] <jas99> hows it going?
[03:16:29 CET] <J_Darnley> meh
[03:16:37 CET] <snakeryslug> J_Darnley: DUH! lol. Thanks.
[03:16:37 CET] <jas99> :)
[03:16:51 CET] <J_Darnley> stuck on tracking down the bug in this piece of assembly
[03:17:12 CET] <J_Darnley> I guess I'll post it to the ML in the morning and ask for frash eyes.
[03:17:31 CET] <jas99> that helps
[03:17:46 CET] <jas99> 2 eyes are better then internet
[03:18:21 CET] <jas99> hey quick question if u dont mind
[03:18:28 CET] <J_Darnley> sure
[03:19:00 CET] <jas99> so for yuv444 x265
[03:19:09 CET] <jas99> and yuv420
[03:19:22 CET] <jas99> can I compile setup to have both
[03:19:45 CET] <jas99> ?
[03:19:51 CET] <J_Darnley> No ideafor x265
[03:20:03 CET] <jas99> any idea for x264
[03:20:09 CET] <J_Darnley> x264 will have both with a regular build
[03:20:15 CET] <J_Darnley> (and 422 and rgb)
[03:20:15 CET] <jas99> hmm
[03:20:41 CET] <jas99> yeah
[03:20:43 CET] <J_Darnley> Is chroma subsampling really a compile time feature for them?
[03:20:57 CET] <jas99> seems like it
[03:21:12 CET] <jas99> was double chking on irc
[03:22:16 CET] <jas99> package from msys2 wont work
[03:23:16 CET] <jas99> [libx265 @ 00000000068140e0] 4:2:2 and 4:4:4 support is not fully defined for HE                                                                                                                                  VC yet. Set -strict experimental to encode anyway. Could not open video codec: Error number -40 occurred
[03:23:16 CET] <J_Darnley> oh shit, I forgot it used cmake
[03:23:29 CET] <jas99> currently getting this
[03:23:31 CET] <J_Darnley> I guess I can't check the source
[03:23:37 CET] <J_Darnley> RTFE!
[03:23:55 CET] <J_Darnley> Set -strict experimental to encode anyway.
[03:24:16 CET] <J_Darnley> Literally tells you the solution
[03:24:44 CET] <jas99> yeah I am using libav
[03:24:56 CET] <jas99> not command line
[03:25:07 CET] <J_Darnley> Then set the option!
[03:25:19 CET] <jas99> yeah thats what I was gonna ask
[03:25:36 CET] <J_Darnley> I think its one of the AVCodecContext options
[03:25:54 CET] <jas99> thx man let me find out
[03:26:13 CET] <J_Darnley> Otherwise use the AVOption system and "strict"
[03:26:50 CET] <jas99> nice will try out both suggestion
[03:27:06 CET] <jas99> thx for helping :)
[03:27:24 CET] <jas99> you are canadian?
[03:27:33 CET] <TD-Linux> yeah, in usual MPEG fashion 4:4:4 also includes a bunch of other random features
[03:27:50 CET] <TD-Linux> in fact 4:4:4 has more features than 4:2:2
[03:27:54 CET] <J_Darnley> strict_std_compliance
[03:28:53 CET] <J_Darnley> Me?  Canadian?  No
[03:29:02 CET] <jas99> beligum?
[03:29:21 CET] <J_Darnley> :) yes (almost)
[03:29:29 CET] <jas99> okay in eu
[03:30:42 CET] <jas99> belgium did I misspelled it?? :)
[03:30:52 CET] <J_Darnley> yes you did
[04:54:02 CET] <k_sze[work]> When using encoding with libx264, is there any guarantee that the I-frame (or key frame) is the first *presented* frame of the GOP?
[04:56:03 CET] <k_sze[work]> e.g. if I specify a static GOP of 250 (--keyint 250 --min-keyint 250 --scenecut -1), is there any guarantee that seeking to every n * 250th frame is a key frame?
[06:43:57 CET] <dave45376> Hi - I was wondering if anyone has any experience in piping content from something like wget to ffmpeg - I'm ideally trying to pipe content from aria2c (seemingly a pretty robust CLI download manager) to ffmpeg since some of the sources I access are slow and using multiple parallel connections doesn't seem to work too well --> this is my example syntax that doesn't work --> http://pastebin.com/iTzqLY1t
[06:49:58 CET] <pzich> are you sure the pipe output from Dropbox is working properly?
[06:50:41 CET] <pzich> I'd start with a short MP4 and first pipe the output to a file, then pipe that into ffmpeg (making sure that each command is working properly with pipes, and therefore it's a pipe I/O rate issue
[06:50:43 CET] <dave45376> sorry guys
[06:51:02 CET] <dave45376> I can download the file just fine from dropbox using aria
[06:51:37 CET] <pzich> specifically by piping it (e.g. "dropbox url..." > file.mp4), and feed that as a pipe into ffmpeg, serially?
[06:51:52 CET] <pzich> this is a debugging step before the parallel pipe
[06:52:05 CET] <pzich> do you see an error? what happens besides "doesn't work"?
[06:52:58 CET] <pzich> are you sure you can use --split=10 when piping the output?
[06:53:32 CET] <dave45376> http://pastebin.com/CArJkGSA
[06:53:48 CET] <dave45376> this is a windows shell fyi
[06:54:19 CET] <furq> does aria2c even support outputting files to stdout
[06:54:30 CET] <pzich> dunno
[06:54:33 CET] <furq> https://github.com/tatsuhiro-t/aria2/issues/190
[06:54:36 CET] <furq> it doesn't look like it
[06:54:37 CET] <pzich> he does have --file-allocation=none
[06:54:43 CET] <furq> that's preallocation
[06:54:43 CET] <pzich> welp, there you have it!
[06:56:26 CET] <dave45376> should i disable preallocation?
[06:56:52 CET] <pzich> you should not pipe
[06:57:09 CET] <dave45376> :(
[06:57:22 CET] <pzich> at least not with aria2c
[06:57:25 CET] <pzich> maybe use curl?
[06:57:28 CET] <dave45376> is there some other way to speed up direct http feeds that you are aware of?
[06:58:23 CET] <pzich> what do you mean by speed up? get a faster ISP?
[06:58:26 CET] <furq> there's also the issue with mp4 files that the moov atom might be at the end, in which case you won't be able to start decoding until the file is complete
[06:58:53 CET] <dave45376> perhaps so, but I can simulate the pipe manually, it's just a hassle
[06:59:10 CET] <dave45376> i.e., i can download the file with aria then, simultaneously, I can run ffmpeg on it with "-re"
[06:59:14 CET] <dave45376> which seems to work fine
[06:59:36 CET] <pzich> I'm not sure it's guaranteed to download in order.
[06:59:52 CET] <pzich> and if it catches up to where you've downloaded to, it may just shit the bed
[06:59:56 CET] <dave45376> perhaps so, but to the credit of aria, they give options to try to force it to do that
[07:00:23 CET] <pzich> can it write its output linearly to a FIFO?
[07:00:26 CET] <dave45376> that's true, but if i set "-re" it limits it to 1x whereas I would typically be downloading at 3-4x and the http client inside of ffmpeg would get like 0.3x
[07:00:50 CET] <dave45376> "--stream-piece-selector=inorder" is the parameter to download it in order
[07:00:52 CET] <pzich> depends on the bitrate
[07:01:05 CET] <dave45376> yeah, you're totally right
[07:01:13 CET] <dave45376> doing the process manually could break it
[07:01:29 CET] <furq> a fifo could work but probably not on windows
[07:01:31 CET] <dave45376> but i think you're starting to appreciate the inefficiencies of the native http client
[07:01:41 CET] <dave45376> as far as i can tell at least
[07:02:43 CET] <furq> actually a fifo probably won't work with --split
[07:02:58 CET] <furq> not that it matters if you're not on *nix
[07:03:56 CET] <furq> also if you're using --split=10 then that's not really ffmpeg's fault if it's 10x slower
[07:04:02 CET] <furq> blame dropbox
[07:05:51 CET] <dave45376> perhaps so
[07:06:08 CET] <dave45376> but it would be nice if the internal http client had a little bit of multiconnection ability
[07:52:51 CET] <isoboy> testing
[07:53:03 CET] <isoboy> Hi everyone
[07:54:00 CET] Last message repeated 1 time(s).
[07:54:32 CET] Action: isoboy wonders if he is connected
[07:54:47 CET] <relaxed> yes you are, do you have a question?
[07:55:01 CET] <isoboy> hi there!
[07:55:03 CET] <isoboy> Yes I do.
[07:55:32 CET] <isoboy> I am trying to set up my webcam to stream from computer 1 to computer 2 on a local network
[07:55:40 CET] <isoboy> http://pastebin.com/qzjfTgyM
[07:57:10 CET] <isoboy> The commands worked when I tested them locally on one computer, but when I direct the stream to computer2 it failed with error message
[07:58:26 CET] <isoboy> have you encountered a similar problem before?
[07:59:43 CET] <isoboy> Could it be the settings in the SDP file?
[08:00:22 CET] <isoboy> When I tried opening the SDP file using VLC player, it took a long time before one frame is shown, and nothing else.
[08:03:20 CET] <relaxed> isoboy: have you seen https://trac.ffmpeg.org/wiki/StreamingGuide ?
[08:04:13 CET] <isoboy> Yes. That was my starting point.
[08:04:33 CET] <relaxed> and soes the example on that page work for you?
[08:04:36 CET] <relaxed> does*
[08:05:31 CET] <isoboy> yes
[08:05:59 CET] <isoboy> Thanks for your help.
[08:08:58 CET] <furq> is it just me or is git://git.videolan.org/x264.git not working
[08:09:52 CET] <odinsbane> If I have a bunch of filenames like this G0025105.JPG could I use -i G%07d.JPG ?
[08:10:33 CET] <c_14> sure, you might need to specify a start_number or something though
[08:11:22 CET] <odinsbane> Ah, that is why it says "and no index 0-4"
[08:16:02 CET] <deweydb> So i've got a couple different video clips.  And i'm using an overlay filter to cross fade between them.  i've got all my crossfades working ok. but at the end of the day, the final output is always much longer than what i want it to be. it gets to the end, and freezes on the last frame, and just pauses there for another 10-15 seconds.  i can't figure out why.  i end up having to do another pass with the trim filter. but th
[08:16:02 CET] <deweydb> is seems really inneficient, i wish i could just get it to output the right length in the first place.
[08:16:13 CET] <deweydb> how does the overlay filter calculate the total length of the output?
[08:17:07 CET] <deweydb> http://pastebin.com/75vbfUR6
[08:17:44 CET] <c_14> https://ffmpeg.org/ffmpeg-filters.html#overlay-1
[08:17:53 CET] <c_14> you probabl want either :shortest=1 or one of the other eof_actions
[08:18:30 CET] <deweydb> oh snap!
[08:18:38 CET] <deweydb> man i should have asked earlier i've been stuck for like 6 hours
[08:18:48 CET] <deweydb> thanks :)
[08:26:18 CET] <deweydb> c_14: unf! yes! thank you so much man! totally fixed it :)
[08:32:20 CET] <odinsbane> Odd, when I use .webm the result is a corrupt video file, but when I use .mp4 it works fine. There doesn't seem to be any error messages.
[08:32:55 CET] <mrec> I wonder does anyone have experience with crappy pulseaudio? Sometimes it just kills my application.
[08:33:16 CET] <mrec> seems to be some assert and then it goes crazy
[08:33:44 CET] <mrec> it happens rarely but it happens with 2 different applications, in the other application I moved pulseaudio into another process so it can die whenever it wants
[08:55:09 CET] <odinsbane> Can I do a list of images, eg $(find -name '*JPG') ?
[08:55:34 CET] <c_14> no, but you can use -pattern_type glob
[08:56:32 CET] <odinsbane> Yeah, I see the example for the blob. In my case I have two directories (or more) I would like to combine.
[08:58:43 CET] <c_14> Either create a temporary directory for all the images (and link them there or something) or use img2pipe
[09:18:33 CET] <jookiyaya> is it possible to do  ffmpeg.exe convert  source.flv  output.mp4   (but make output.mp4 same date as source.flv)
[09:20:53 CET] <c_14> You mean the creation_time tag?
[10:00:33 CET] <jookiyaya> date modification
[10:01:32 CET] <odinsbane> At the file system level, or metadata?
[10:04:18 CET] <bencoh> .46
[10:04:21 CET] <bencoh> nevermind
[10:08:27 CET] <jookiyaya> filesystem level
[10:33:29 CET] <vozie> i numerized some old videos from hi8 tapes, but the image is a bit noisy; is there a way to remove this? (not talking about the audio, just the image)
[10:43:51 CET] <atomnuker> vozie: try using -vf atadenoise or -vf dctdnoiz or -vf owdenoise and pick the one which looks the best
[10:54:37 CET] <vozie> atomnuker: thanks i will try
[11:05:57 CET] <mrec> are there any other good deinterlacers rather than yadif?
[11:06:14 CET] <mrec> mcdeint=fast .. 80% cpu
[11:06:20 CET] <mrec> yadif=1 .. 40% cpu
[11:07:17 CET] <durandal_1707> bwdif
[11:08:12 CET] <vozie> atomnuker: none of them helped (
[11:08:38 CET] <mrec> hmm bwdif is not available here by default. Xine seems to need 15% CPU (including mpeg2 decoding)
[11:08:45 CET] <mrec> while ffplay is at 40% cpu
[11:09:06 CET] <durandal_1707> ffplay uses sdl
[11:09:43 CET] <durandal_1707> vozie: are denoising images or videos?
[11:10:13 CET] <mrec> ffplay needs around 11-15% cpu without deinterlacing
[11:10:43 CET] <mrec> seems like the xine deinterlacer is a winner
[11:11:05 CET] <vozie> durandal_1707: videos
[11:11:18 CET] <vozie> atomnuker: durandal_1707: there are horizontal black lines: http://i.imgur.com/20Efu7Q.png
[11:12:18 CET] <mrec> ok the video source is not good .. it's progressive
[11:12:32 CET] <mrec> can't say much about the quality then
[11:13:25 CET] <durandal_1707> vozie: in source?
[11:13:33 CET] <vozie> durandal_1707: yes
[11:14:03 CET] <durandal_1707> than that's not noise
[11:16:19 CET] <yongyung> So this is more of a theoretical question, but: If I understand correctly, resolution and bit rate have to be in some balance that depends on scene complexity for the best quality. For example a 4 mbit/s makeup tutorial might look best at 1080p because the scene isn't very complex and doesn't have much movement, but a gaming video with lots of foliage or something similar at the same bitrate might actually look better at 720p. Is that
[11:16:19 CET] <yongyung> correct? So from there, wouldn't it make sense to have dynamic resolution codecs, that change resolution on the fly depending on scene complexity and bit rate, kind of like x264's -crf option already does for bit rate?
[11:19:29 CET] <bencoh> good luck with the dynamic resolution, especially with hardware decoders :)
[11:19:51 CET] <bencoh> (I'm pretty sure most software decoders/players would break at some point, but ... ;p)
[11:28:35 CET] <BtbN> sounds like the most horrible idea i heard in a while
[11:28:48 CET] <BtbN> The quality is dynamic, or the bitrate. But not the resolution.
[11:33:53 CET] <jkqxz> It's done in videoconferencing-type systems.  (Really it's dropping the bitrate because of bandwidth constraints, but at some point you have to drop the resolution as well or the stream is just a disaster.)
[11:34:56 CET] <jkqxz> Typically they are operating on the lower bound of plausible bitrate for a given resolution, though.  (720p at 1Mbit/s or so, which is fine as long as people don't move too much.)
[11:35:03 CET] <BtbN> sure, inside of a single application it's a lot less troublesome than in a general code-implementation
[11:35:15 CET] <BtbN> *codec
[11:57:17 CET] <furq> mrec: https://ffmpeg.org/ffmpeg-filters.html#nnedi
[11:57:24 CET] <furq> that's new in 3.0
[11:57:32 CET] <furq> i've not tried it in ffmpeg but i've had good results with it in avisynth
[12:47:46 CET] <RadiatorHate> Hello, I'm trying to use ffserver (config - http://pastebin.com/N1ybtW3e) to livestream my webcam (video only). I'm using the command "ffmpeg -i /dev/video0 http://127.0.0.1:8090/feed1.ffm", but when I try to play the stream with "ffplay http://127.0.0.1:8090/live.webm", the video is 10 secounds behind, shows for 1-2 secounds, and then stops moving. Any help? - Need it for a school project, remote controlled robot..
[12:55:28 CET] <RadiatorHate> Any support forum I might have luck writing on?
[12:57:01 CET] <furq> RadiatorHate: ffserver is basically unmaintained and generally broken
[12:57:30 CET] <furq> i recommend using something better, such as nginx-rtmp
[12:58:03 CET] <RadiatorHate> furq - You know any alternative that supports webM? I need an easy way to live stream to a webpage
[13:02:09 CET] <furq> nginx-rtmp supports hls output if you want to view it on a webpage without using flash
[13:02:20 CET] <furq> hls and dash have pretty bad latency though
[13:02:41 CET] <CounterPillow> pretty sure nginx-rtmp doesn't care about the codec you're sending it
[13:02:57 CET] <furq> no but flv does
[13:03:01 CET] <CounterPillow> hmm, yeah
[13:03:03 CET] <furq> and therefore actually yes nginx-rtmp does
[13:03:07 CET] <CounterPillow> damn
[13:03:56 CET] <CounterPillow> If somebody were to tackle this in a way that simply generates HLS/DASH fragments and a manifest for nginx to serve (as opposed to making it an nginx module) then that would be cool.
[13:04:17 CET] <furq> RadiatorHate: if you just care about viewing it on a webpage you could output to hls or webm_dash_manifest directly
[13:04:28 CET] <furq> https://www.ffmpeg.org/ffmpeg-formats.html#hls-1
[13:04:30 CET] <c_14> CounterPillow: ffmpeg -i video -f hls out.m3u8
[13:04:51 CET] <CounterPillow> c_14: doesn't really do the whole "receives a stream from a client" part
[13:04:52 CET] <furq> the latency might be tolerable if you use a short gop length
[13:05:11 CET] <CounterPillow> furq: yeah, it's what hitbox does too, and they get like ~5 seconds of latency
[13:05:54 CET] <c_14> CounterPillow: you can do it, but you need a separate ffmpeg command per client
[13:06:16 CET] <furq> yeah it sounds like you'd want it to be embedded in some kind of high-performance network server in that case
[13:06:52 CET] <c_14> FFmpeg has support for multi-client network servers (at least for http), but you need to use the libraries
[13:07:00 CET] <CounterPillow> furq: which is what nginx-rtmp did, but I don't really like the idea of rebuilding my nginx with some C module from John Doe.
[13:07:21 CET] <furq> so run a second nginx
[13:07:29 CET] <furq> don't run the rtmp module on your actual httpd
[13:07:54 CET] <CounterPillow> A self-contained clean solution would be the bee's knees, I might actually tackle that at some point
[13:08:12 CET] <CounterPillow> what are the go-to client-to-server transport protocols aside from rtmp?
[13:08:15 CET] <furq> https://gist.github.com/fur-q/d7028f51c38f7d0bb56e
[13:08:18 CET] <furq> that's pretty much what i do
[13:08:44 CET] <CounterPillow> oh, cool
[13:10:23 CET] <c_14> CounterPillow: rtp is the goto for low-latency multimedia
[13:10:26 CET] <RadiatorHate> I'm lost a hell, using ffserver and ffmpeg together just seemed so easy and cool. I really only care about live streaming a webcam, and being able to play it in a browser easily. Livestreaming+Webpages aren't really my thing :/
[13:10:56 CET] <CounterPillow> c_14: k, thanks
[13:11:26 CET] <c_14> RadiatorHate: you should be able to use webm_dash and something like dash.js or so (but all dash browser players are shitty)
[13:11:51 CET] <furq> you'd still need to run an httpd to serve the manifest and fragments though
[13:12:20 CET] <furq> you'd think live streaming would be easier than this in 2016, wouldn't you
[13:13:03 CET] <furq> especially given browser vendors' long tradition of working together towards a brighter future for mankind
[13:13:09 CET] <CounterPillow> :D
[13:13:22 CET] <c_14> Setting up lighttpd or nginx isn't that hard.
[13:13:33 CET] <furq> did you just say the l word
[13:13:55 CET] <CounterPillow> Hey now, Mozilla spent $15000 to get somebody to change all instances of "master" and "slave" in buildbot to "leader" and "follower", they've done their good deed for the year.
[13:13:57 CET] <c_14> Do you dislike lighty?
[13:14:47 CET] <RadiatorHate> Couldn't I just use apache2?
[13:15:16 CET] <c_14> sure, but apache is a pain
[13:15:20 CET] <furq> you can use whatever httpd you want
[13:15:38 CET] <furq> literally all you're doing is serving a directory of files
[13:17:19 CET] <c_14> All you care about is how hard it is for you to set up and if it can handle $number_of_users
[13:17:53 CET] <RadiatorHate> c_14: It's a school project, the number of users is going to be 1 :p
[13:18:04 CET] <furq> you can use python -m SimpleHTTPServer if you really want
[13:20:10 CET] <RadiatorHate> I'm so close to saying, fuck it, and just make a stream with ffmpeg I can open with VLC...
[13:20:23 CET] <RadiatorHate> Sorry for no censoring
[13:20:37 CET] <bencoh> just add the proper content-type header and you should be fine
[13:30:31 CET] <RadiatorHate> Close to killing myself, so used this instead - http://phoboslab.org/log/2013/09/html5-live-video-streaming-via-websockets
[13:30:48 CET] <RadiatorHate> Works really well, and easy to setup
[14:48:08 CET] <lroe> I'm using hls.js to serve a video stream.  Can anyone hlep me figure out how to add controls (ie full screen option)
[14:53:51 CET] <GigaRoc> Hello, i'm building ffmpeg for windows with QSV support. and when i try to use the libs i build, i get 4 unresolved symbols.  _ff_vc1_qsv_hwaccel, _ff_mpeg2_qsv_hwaccel, _ff_h264_qsv_hwaccel, _ff_hevc_qsv_hwaccel.  I'm including the mfx.lib
[14:54:19 CET] <GigaRoc> i tried to use --enable-hwaccel=h264_qsv... but it said that wasn't a valid option
[14:55:56 CET] <GigaRoc> do i need to enable something else besides --enable-libmfx
[14:56:38 CET] <J_Darnley> What is giving you the error?  Building ffmpeg or building something else?
[14:58:38 CET] <GigaRoc> building the c++ code that is using avcodec.lib
[14:59:10 CET] <J_Darnley> Are you linking to all the required third-party libraries?
[14:59:42 CET] <GigaRoc> yes, when i don't link against mfx.lib, i get more link errors
[14:59:43 CET] <J_Darnley> oh wait, those are ffmpeg symbols (probably)
[14:59:58 CET] <J_Darnley> oh i see
[15:00:04 CET] <J_Darnley> You're doing it wrong.
[15:00:16 CET] <J_Darnley> --enable-hwaccel=h264_qsv does not do what you think
[15:00:31 CET] <J_Darnley> so then you need --enable-libmfx
[15:00:56 CET] <GigaRoc> that command doesn't seem to work at all.  it only compiles with --enable-libmfx
[15:02:09 CET] <furq> lroe: <video controls></video>
[15:03:04 CET] <lroe> furq, that was easy
[15:03:06 CET] <lroe> thanks
[15:04:45 CET] <GigaRoc> Do i need anything else, like with libx264 you need --enable-gpl?
[15:05:07 CET] <J_Darnley> configure will tell you if you need to change license
[15:17:36 CET] <max246> hello
[15:18:52 CET] <max246> I am capturing with ffmpeg via Blackmagic card a video from a camera
[15:19:58 CET] <max246> I got some issues that it returns 9 fps
[15:20:01 CET] <max246> ops 0 fps
[15:20:31 CET] <max246> but sometimes I get the right 60 fps
[15:21:00 CET] <max246> is someone good at these stuff? :D
[15:21:27 CET] <J_Darnley> I'm sure someone might
[15:21:55 CET] <J_Darnley> if you don't get a good response here try emailing the ffmpeg-user mailing list
[16:26:02 CET] <nindustries_> Hi, is there always quality loss when converting x264 to x265 ?
[16:27:08 CET] <furq> yes
[16:27:21 CET] <furq> unless you're using both in lossless mode
[16:39:53 CET] <nindustries_> both?
[16:40:03 CET] <nindustries_> Supposing the x264 is downloaded from somewhere else, furq
[16:41:03 CET] <J_Darnley> Encoding using x264 will cause loss in the first place but I guess you can ignore that for your case
[16:41:37 CET] <J_Darnley> encoding with x265 will result in loss unless you use a lossless mode
[16:41:42 CET] <furq> technically it won't cause quality loss if you transcode lossy x264 to lossless x265
[16:41:50 CET] <furq> but it would be really idiotic to do that
[16:42:12 CET] <furq> because the new file will be worse in every other aspect except quality
[16:42:47 CET] <nindustries_> hm, okay
[16:42:52 CET] <nindustries_> thanks guys
[18:11:45 CET] <sophie___> HI
[18:12:14 CET] <sophie___> i want to stream from a video cam corder
[18:12:30 CET] <sophie___> i can stream the video
[18:12:36 CET] <sophie___> but not de sound
[18:13:05 CET] <sophie___> my command is :
[18:13:07 CET] <sophie___> ffmpeg -f v4l2 -framerate 25 -video_size 640x480  -i /dev/video0 -c:a libfaac -ab 96k -ar 22050 -threads 0 -f flv
[18:13:32 CET] <sophie___> wy dont i have the sound ?
[18:13:38 CET] <sophie___> any idea ?
[18:13:42 CET] <c_14> you need to add an alsa/pulse sound source
[18:14:30 CET] <sophie___> after -i /dev/video0 ?
[18:15:10 CET] <c_14> either after -i /dev/video0 or before -f v4l2
[18:16:33 CET] <davidmichaelkarr> I'm attempting to use ffmpeg for the sole purpose of extracting a single image from a video at a particular timestamp.  Does the "-dframes N" option let me specify how many images to create?
[18:17:24 CET] <J_Darnley> no
[18:17:43 CET] <J_Darnley> you might be looking for -vframes instead
[18:18:24 CET] <davidmichaelkarr> J_Darnley: What's the difference between data frames and video frames?
[18:30:40 CET] <c_14> Video frames are frames of video, data frames are frames of "data". i.e. they depend on the type of the codec if it's a video codec or a "data" codec
[18:56:58 CET] <mrec> is there a way to display how many threads were allocated when setting threads to auto?
[19:00:03 CET] <furq> which codec
[19:00:10 CET] <mrec> mpeg2 ..
[19:00:14 CET] <furq> no idea then
[19:00:56 CET] <c_14> use something like ps and count
[19:01:16 CET] <sophie___> hey
[19:01:29 CET] <sophie___> now i have white noise
[19:02:00 CET] <sophie___> i 've add -f alsa -i hw:0,2
[19:02:34 CET] <sophie___> ok
[19:04:02 CET] <sophie___> i've put my code here
[19:04:05 CET] <sophie___> http://pastie.org/10743720
[19:04:39 CET] <sophie___> i don't understand why i just have white noise
[19:08:29 CET] <sophie___> and there my arecord results
[19:08:31 CET] <sophie___> http://pastie.org/10743725
[19:09:46 CET] <c_14> try the name you get from arecord -L
[19:30:50 CET] <sophie___> this is the result for arecord -L
[19:30:58 CET] <sophie___> for my cam recorder
[19:31:14 CET] <sophie___> but i don(t no how to put it in my code
[19:33:03 CET] <c_14> that was arecord -l, not arecord -L. and then just use the name of the device you want like "sysdefault" or something
[19:37:21 CET] <sophie___> you that after i could use command like : default:CARD=Intel
[19:37:22 CET] <sophie___> ?
[19:38:00 CET] <c_14> yep
[19:41:49 CET] <sophie___> program always send me :
[19:41:50 CET] <sophie___> cannot open audio device default:CARD=DVC (Invalid argument)
[19:42:14 CET] <sophie___> with differents entries
[19:53:01 CET] <c_14> works for me
[20:10:26 CET] <crot^^^> hello All, I have an issue where I cannot consume a udp stream. Running ffprobe -v trace udp://237.1.1.0:1234  ends in nothing more than [udp @ 0x28c1940] end receive buffer size reported is 131072 Does anyone have any pointers to run this down I have verified that the igmp join is going out and the stream is hitting the box after running this command
[20:25:10 CET] <debianuser> sophie___: Can you hear the audio back from your cam, for example, with `arecord -fdat -Dplug:dsnoop:DVC | aplay` ?
[20:25:53 CET] <debianuser> (of course if you have not solved your issue yet)
[20:27:55 CET] <sophie___> hey
[20:28:13 CET] <sophie___> debianuser, i've partially solved my problem
[20:28:36 CET] <sophie___> by usaing -f oss -i /dev/dsp
[20:29:02 CET] <sophie___> but sound is not good quality
[20:29:44 CET] <debianuser> What OS/distribution are you using?
[20:29:52 CET] <sophie___> i'm not sure if it's the mike of my cam
[20:30:00 CET] <sophie___> ubuntu studio
[20:30:08 CET] <sophie___> 13.0...
[20:30:25 CET] <sophie___> when i try your command
[20:30:34 CET] <sophie___> i have :
[20:30:52 CET] <sophie___>  unable to open slave
[20:32:14 CET] <debianuser> sophie___: There should be another line explaining why the slave pcm could not be opened. Can you copy full command and its output to some pastebin?
[20:32:30 CET] <sophie___> ok
[20:34:07 CET] <sophie___> here
[20:34:08 CET] <sophie___> http://pastebin.com/PBHSQHyY
[20:44:55 CET] <debianuser> Ah, device or resource is busy... Do you have pulseaudio or jack installed? Let's check where default recording stream comes from. Can you copy the output of `arecord -v -d1 /dev/null` to some pastebin?
[20:47:55 CET] <sophie___> here :
[20:47:57 CET] <sophie___> http://pastebin.com/RhiRSYPW
[20:52:49 CET] <debianuser> Yes, "ALSA <-> PulseAudio PCM I/O Plugin". Let's try to record from pulse then. Run `arecord -fdat -Dpulse | aplay` (it should run until you press Ctrl+C to stop it), and while it's still running - open `pavucontrol` and on the "Playback" tab find something like "arecord (alsa-plugin)" - there should be a dropdown menu next to it, there you can select what card it records from.
[21:07:22 CET] <sophie___> yes, thank you, the sound is better
[21:11:11 CET] <debianuser> sophie___: The same should work for ffmpeg. Use "-f alsa -i pulse" and then select an input device for ffmpeg on pavucontrol's Playback tab.
[21:14:20 CET] <sophie___> ok, but how do you use -f alsa -i pulse in a ffmpeg command ?
[21:15:54 CET] <debianuser> ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0 -f alsa -i pulse ...
[21:16:07 CET] <sophie___> ah okok
[21:23:38 CET] <sophie___> ah yes! ok
[21:23:50 CET] <sophie___> i've understood
[21:24:19 CET] <sophie___> thank u debianuser , far more simple like that way
[21:44:12 CET] <spookypeanut> i'm trying to scale a vob that i created using vobcopy, using the method on this page: https://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video but i always end up with audio being greatly out of sync with video. anyone any suggestions as to why?
[21:44:32 CET] <spookypeanut> (i'm also converting it to mp4 at the same time)
[21:48:17 CET] <J_Darnley> does the audio remain in sync when you aren't trying to change speed?
[21:49:50 CET] <spookypeanut> i *think* there might be a very slight sync issue, but i've just watched the raw vob and i think that might be the same
[21:52:57 CET] <Mista_D> Is there a command to convert subtitles SRT to ISMT (for Silver Light) please?
[21:53:31 CET] <J_Darnley> -scodec ismt ? (unlikely)
[21:54:06 CET] <J_Darnley> spookypeanut okay sounds mostly fine to me
[21:54:20 CET] <J_Darnley> can you please show us exactly what you are doing?
[21:56:11 CET] <spookypeanut> currently going from a remuxed mpg
[21:56:45 CET] <spookypeanut> ffmpeg -i in.mpg -r 24 -crf 21 -preset superfast -vcodec h264 -acodec aac -strict -2 -filter_complex "[0:v]setpts=(25/24)*PTS[v];[0:a]atempo=24/25[a]" -map "[v]" -map "[a]" out.mp4
[21:57:06 CET] <spookypeanut> maybe i should try with a different acodec...
[21:57:12 CET] <J_Darnley> I would suggest you remove the -r 24
[21:57:29 CET] <spookypeanut> pretty sure i've tried that
[21:57:47 CET] <spookypeanut> i need it if i want the output to be 24 fps, right (from 25fps input)
[21:57:50 CET] <spookypeanut> ?
[21:57:55 CET] <furq> if this is pal to film then that should be setpts=25025/24000*PTS
[21:58:03 CET] <J_Darnley> isn't that what the setpts is for?
[21:58:07 CET] <furq> and no, you shouldn't need to provide any framerate
[21:58:23 CET] <spookypeanut> furq: it is
[21:58:29 CET] <spookypeanut> i'll try that, thanks
[21:58:30 CET] <J_Darnley> You are telling ffmpeg to convert to 24 in two different ways
[21:58:32 CET] <furq> well yeah film isn't 24fps, it's 24000/1001fps
[21:58:44 CET] <furq> 24 would be far too simple
[22:00:43 CET] <furq> also atempo should be 24000/25025
[22:00:51 CET] <furq> in case that wasn't obvious
[22:01:02 CET] <furq> that would only account for a slight desync though
[22:01:04 CET] <spookypeanut> J_Darnley: i got the -r 24 from that page i linked earlier
[22:01:19 CET] <spookypeanut> seemed to say it was required to get a 24fps output
[22:01:32 CET] <J_Darnley> oh god it really does have it
[22:02:36 CET] <spookypeanut> when i remove that, the ffmpeg output says:     Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 720x576 [SAR 16:15 DAR 4:3], q=-1--1, 25 fps, 12800 tbn, 25 tbc (default)
[22:03:07 CET] <spookypeanut> (it'll take a while till i can check the output: should really get a shorted vob to work with :-) )
[22:03:13 CET] <furq> also do you actually need filter_complex with one video and one audio filter
[22:03:18 CET] <furq> i'd have thought -vf and -af would work
[22:04:22 CET] <spookypeanut> furq: maybe. i was just using the example on that page: i can try with -vf and -af if you think it'll make a difference
[22:04:40 CET] <furq> i doubt it makes a difference, it'd just make the command simpler
[22:05:34 CET] <furq> also (again) it'll be -r 24000/1001 if you do need -r
[22:06:08 CET] <spookypeanut> yeah
[22:06:38 CET] <furq> i was sure i remembered doing a pal to film conversion but that was a horrible field-blended source which went through a bunch of fancy avisynth filters
[22:06:48 CET] <spookypeanut> i'll do this correctly with that factor in the long term, but for now it's simpler just to use 24fps
[22:07:16 CET] <furq> well that's one frame every 40 seconds so it could cause a pretty big desync
[22:07:33 CET] <furq> wait no it isn't. shut up furkan
[22:07:36 CET] <furq> and furq too
[22:08:16 CET] <spookypeanut> hehe
[22:08:22 CET] <furkan> lol that was a confusing alert
[22:08:30 CET] <furq> i thought i told you to shut up
[22:08:35 CET] <furkan> haha
[22:09:15 CET] <spookypeanut> but it won't cause a desync anyway, will it? so long as i do video and audio the same, i could do them 50fps and the sync should be ok
[22:09:31 CET] <furq> idk i assumed setpts would set the right framerate anyway
[22:10:06 CET] <spookypeanut> i'll see in a few minutes, but it looks like i'm go to end up with a 25fps video out of the end without -r 24
[22:10:39 CET] <furq> i like it when films run 4% faster. it's more efficient
[22:25:05 CET] <bencoh> it's not that bad but it's still a frame every 20mn, isn't it?
[22:25:26 CET] <bencoh> (24000/1001 vs 24fps)
[22:25:32 CET] <furq> 16:40
[22:25:41 CET] <bencoh> yeah
[22:26:42 CET] <spookypeanut> it just finished, and yes, i got a 25fps video out
[22:27:39 CET] <spookypeanut> back later
[22:29:22 CET] <bencoh> I'd say you need to drop frames if you want to "convert" from 25fps to 24fps with ffmpeg, unless we have a special filter to rebuild frames (which we dont in ffmpeg iirc)
[22:29:44 CET] <furq> he's using setpts to slow the video down
[22:29:56 CET] <bencoh> furq: I remember the same about an ugly avisynth filter
[22:30:07 CET] <ibrezac> Hi, is there a way to remove embedded Closed Caption (cea-708) from an mp4 using ffmpeg?
[22:30:19 CET] <bencoh> I even remember reading the (atrocious) source code to port it to another pipeline framework
[22:30:44 CET] <bencoh> (I didn't do it in the end)
[22:33:29 CET] <furq> the filter itself was pretty good, it was the source which was awful
[22:33:55 CET] <furq> http://avisynth.nl/index.php/Srestore
[22:34:36 CET] <furq> i should probably just track down an ntsc dvd of the film though
[23:47:00 CET] <crot^^^> hello All, I have an issue where I cannot consume a udp stream. Running ffprobe -v trace udp://237.1.1.0:1234  ends in nothing more than [udp @ 0x28c1940] end receive buffer size reported is 131072 Does anyone have any pointers to run this down I have verified that the igmp join is going out and the stream is hitting the box after running this command
[00:00:00 CET] --- Wed Mar  2 2016



More information about the Ffmpeg-devel-irc mailing list