[Ffmpeg-devel-irc] ffmpeg.log.20151126
burek
burek021 at gmail.com
Fri Nov 27 02:05:01 CET 2015
[04:23:55 CET] <mishehu> greetings folks. I'm trying to build 2.8.2 with librtmp enabled. is there any way without patching source files to tell it that my rtmp.h is in /usr/include and *not* in /usr/include/librtmp ? libavformat/librtmp.c:36:26: fatal error: librtmp/rtmp.h: No such file or directory
[04:24:20 CET] <waressearcher2> mishehu: hallo
[04:25:33 CET] <mishehu> my /usr/lib64/pkgconfig/librtmp.pc file contains the correct paths.
[04:26:13 CET] <mishehu> waressearcher2: greetings
[04:26:20 CET] <waressearcher2> mishehu: wie geht's ?
[04:28:13 CET] <furq> mishehu: it looks like you'd need to patch the source
[04:28:15 CET] <furq> or just move your rtmp.h
[04:28:29 CET] <furq> and librtmp/log.h
[04:31:25 CET] <mishehu> ok, I didn't know if there was some hidden mysterious configure parameter. thanks!
[04:32:10 CET] <furq> there might be some mysterious gcc parameter but i don't know it
[04:32:33 CET] <mishehu> nah not that I know of either
[04:32:44 CET] <mishehu> I'll just alter the paths on my rtmp package
[04:34:09 CET] <mishehu> is https://trac.ffmpeg.org/wiki/HWAccelIntro still accurate about what ffmpeg can do with opencl?
[05:34:58 CET] <alesan> hello I need to transcode a H.265 movie clip to some other format for a legacy device to read it.
[05:35:24 CET] <alesan> I do not care too much about space (OK I cannot really use uncompressed) but I would like a very fast transcode
[05:35:31 CET] <alesan> what output format could I use? mjpeg?
[05:36:58 CET] <thebombzen> for a fast lossless encode you could use UTVideo
[05:37:08 CET] <thebombzen> or Huffyuv
[05:37:22 CET] <furq> just use x264 ultrafast/veryfast
[05:37:29 CET] <alesan> it does not have to be "lossless"
[05:37:38 CET] <alesan> furq, will that be faster than mjpeg?
[05:37:42 CET] <thebombzen> ah then I'd recommend x264 ultrafast
[05:37:51 CET] <furq> i've never used mjpeg
[05:37:57 CET] <furq> it sounds dreadful
[05:38:05 CET] <alesan> why?
[05:38:18 CET] <thebombzen> mjpeg is afaik just repeated jpeg frames
[05:38:20 CET] <alesan> I need to check the definition of dreadful as I am not a native speaker hold on
[05:38:20 CET] <furq> i don't mean for your use case, i just mean in general
[05:38:44 CET] <thebombzen> furq: I also have that quesiton. Why would mjpeg be an awful codec to use
[05:39:04 CET] <alesan> the fact that each frame is self-contained is a great advantage
[05:39:23 CET] <alesan> the only possible downside of mjpeg is that... it requires more bandwidth for the same quality
[05:39:29 CET] <furq> it's not really a great advantage for this use case
[05:40:09 CET] <alesan> so far I'm using ffmpeg -i h265.mkv -q:v 1 -v:c mjpeg -v:a copy output.mkv
[05:40:27 CET] <alesan> the output is something at about 30Mbps
[05:40:50 CET] <alesan> and it's transcoding at 138fps from H.265
[05:42:16 CET] <thebombzen> as for lossless codecs, which one would suit screen capture the best (say, from x11grab)? Ideally I'd be able to encode very quickly. I tried using ffv1, huffyuv, ffvhuff, utvideo, and rawvideo but none of them were fast enough. (Rawvideo ran into the fact that my hard drive was too slow). Which would be best do you think?
[05:44:35 CET] <furq> alesan: try x264 ultrafast
[05:44:42 CET] <alesan> furq, yes
[05:44:53 CET] <furq> i get about 350fps at 720p on an old i7
[05:45:09 CET] <alesan> furq, what exact options do you recommend? -c:v x264
[05:45:18 CET] <furq> -c:v x264 -preset ultrafast
[05:45:27 CET] <furq> er, libx264 even
[05:45:35 CET] <alesan> yes of course :)
[05:45:43 CET] <alesan> what quality setting?
[05:45:51 CET] <furq> whatever suits you
[05:45:59 CET] <furq> i don't make a habit of using ultrafast
[05:46:17 CET] <furq> i wouldn't go any lower than -preset faster for things i intend to keep
[05:46:37 CET] <alesan> well, I am using -q:v 1 for the mjpeg
[05:46:48 CET] <furq> the default is -crf 23 which is probably fine
[05:47:49 CET] <furq> you might want to go a bit lower (lower values = higher quality) with ultrafast but it'll slow the encode down a bit
[05:50:54 CET] <alesan> will -q:v 1 affect the libx264 ?
[05:50:58 CET] <furq> no
[05:51:05 CET] <alesan> ok
[05:51:20 CET] <furq> -crf is all you need to care about
[05:51:24 CET] <alesan> so I am getting about 203fps with ultrafast
[05:51:38 CET] <alesan> but I did not change the default quality
[05:51:40 CET] <furq> -preset and -tune will affect the quality but changing them to anything other than ultrafast and nothing will slow the encode
[05:51:47 CET] <alesan> the output was 4Mbps more or less
[05:53:47 CET] <alesan> question: while it is encoding, the output writes something like q=21.0 and updates it roughly once a second
[05:53:52 CET] <alesan> what is that exactly?
[05:54:37 CET] <alesan> it seems - yes libx264 ultrafast is faster than mjpeg also if I set crf 10
[05:54:55 CET] <alesan> with crf 10 the output bitrate is very similar to mjpeg
[05:55:15 CET] <furq> 10 is probably overkill
[05:55:41 CET] <furq> 16-18 should be fine for high quality
[05:56:28 CET] <furq> the bitrate should be much less than mjpeg for the same perceived quality
[05:56:45 CET] <furq> even without bframes and cabac
[05:57:17 CET] <alesan> I did not do quality comparisons. as the input format is already compressed, it makes less sense
[05:57:40 CET] <alesan> as the encoders would strive to correctly render the artifacts of the original encoder
[05:57:54 CET] <alesan> anyway, thank you, it was interesting!
[05:58:07 CET] <alesan> I need to leave now. bye!
[09:18:42 CET] <ented> k
[10:57:49 CET] <hendry> is there a way of recording using ffmpeg and ensure accurate timestamps are present in the file? i.e. current date / time?
[11:02:51 CET] <BtbN> ffmpeg does its best to keep the timestamps as accurate as possibe.
[11:03:08 CET] <BtbN> Which isn't allways very good, specialy with sketchy webcams or capture cards
[11:04:50 CET] <hendry> BtbN: for e.g. where is the timestamp here? http://ix.io/muI
[11:05:21 CET] <BtbN> in the output file...?
[11:05:28 CET] <hendry> BtbN: it seems relative? I want to see 2015-11-26T18:05:17,942742673+0800 somwhere
[11:05:39 CET] <hendry> BtbN: yeah ...
[11:06:05 CET] <BtbN> timestamps are allways "relative". There is no room for a full date.
[11:07:00 CET] <Mavrik> You need to set metadata yourself, realtime isn't a property of video streams.
[11:07:05 CET] <hendry> BtbN: say one is recording several clips on a camera. you need date/time to be preserved to make editing easier
[11:07:13 CET] <BtbN> Name them accordingly?
[11:07:18 CET] <Mavrik> Except if timecode is supported by hardware, but I'm pretty sure ffmpeg has very limited timecode support and you don't have a proper camera :)\
[11:07:20 CET] <hendry> BtbN: too much of a PITA
[11:07:44 CET] <BtbN> Well, frame timestamps won't work. So either "PITA", or no timestamps for you.
[11:07:49 CET] <hendry> Mavrik: i wonder if this metadata is understood by Premier Pro or FCPX
[11:08:27 CET] <hendry> BtbN: so you expect me to rename the files with the date-time as part of my work flow? really think ffmpeg could help automate here...
[11:08:46 CET] <BtbN> ffmpeg can't change how video containers work.
[11:10:01 CET] <hendry> ok, I see people using "metadata creation_time"
[11:12:09 CET] <hendry> i see IOS MOV files with creation_time : 2015-03-29 05:02:32
[11:34:46 CET] <BuzzGo> hi there. I've a problem with converting a source video with mono aac audio track into h.264 video with stereo track. ffmpeg convert, but in the target video but without the audio track. any idea what can i do?
[11:36:20 CET] <Mavrik> So, paste us everything you do and we can perhaps help.
[12:06:31 CET] <Okihita> Halo! I'm trying to build FFmpeg for Android. I got the error message "toolchains ... linux-x86_64 ... is unable to create an executable file. C compiler test failed." What could be wrong?
[12:08:07 CET] <fritsch> missing c compiler?
[12:13:49 CET] <Okihita> Is there any easy way to check whether I have the C compiler?
[12:16:56 CET] <chungy_> type cc
[12:23:08 CET] <Mavrik> Okihita, read the config.log
[12:23:13 CET] <Mavrik> It tells you exactly what went wrong.
[12:23:15 CET] <Mavrik> Don't guess.
[12:35:56 CET] <Okihita> Ah. Got it.
[12:36:19 CET] <Okihita> invalid -march= option 'armv5te'.
[12:36:52 CET] <Okihita> What am I doing wrong? Is it the NDK? FFmpeg version?
[13:04:33 CET] <Mavrik> Why armv5?
[13:04:41 CET] <Mavrik> That's... not gonna work with any semblance of performance.
[13:05:29 CET] <Mavrik> -march=armv7-a -mfloat-abi=softfp -mfpu=neon
[13:06:42 CET] <Fyr> what bitrate or crf should I set when converting a list of images into video file?
[13:18:06 CET] <dantti> is there some C example to encode with h264 and format with mpeg ts? I have managed to use x264_encode directly but I'm not sure I can output the raw h264 thing and get a player to play that...
[13:23:49 CET] <Mavrik> Huh.
[13:23:56 CET] <Mavrik> look at decode_encode.c example.
[13:24:08 CET] <Mavrik> I suggest against calling x264 directly if you use ffmpeg.
[13:25:30 CET] <dantti> Mavrik: but as I see that output raw h264 as well
[13:25:35 CET] <Okihita> @Mavrik: I just want to build FFmpeg for Android with the minimum amount of hassle. .__. Turns out it isn't that easy.
[13:25:50 CET] <Mavrik> dantti, I guess there's a separate muxing example :)
[13:26:32 CET] <Mavrik> Okihita, well if you don't know anything about how cross-compiling works... you'll have problems cross compiling :/
[13:27:59 CET] <dantti> Mavrik: ah I see... I've heard that ffmpeg has HLS support embed, is that right? if so are there any example too?
[13:29:40 CET] <Mavrik> No there isn't example for every API usage usecase :)
[13:30:09 CET] <dantti> ok, thanks :)
[13:31:46 CET] <Okihita> @Mavrik: Well this my first time going this deep, so I guess I have a lot to read and can't expect shortcut. Any recommendation where to start?
[13:31:54 CET] <dantti> Mavrik: I'll "port" the calls to ffmeg encode, if I write the output to file are there players that play so I can be sure encoding has worked?
[13:32:24 CET] <dantti> Okihita: I'm using a mix of http://vinsol.com/blog/2014/07/30/cross-compiling-ffmpeg-with-x264-for-android/ and https://bongjaemoon.wordpress.com/2012/05/25/ffmpeg-x264-compile-for-using-with-android-ndk-on-mac-osx/
[13:33:01 CET] <dantti> the latter has a wrong make-tool-chain command but Android docs say how to use it
[13:45:23 CET] <Okihita> dantti: Whoa, the first link helps me understand the logic behind! Thanks.
[13:45:51 CET] <dantti> np
[14:18:19 CET] <termos> I'm trying to change the audio volume by modifying the AVFrame in my code but can't seem to make it work by multiplying the value pointed to by AVFrame::data[0]. Am I missing something?
[14:54:31 CET] <termos> av_samples_set_silence seems to do what I want kind of
[15:05:43 CET] <Mavrik> Why not use the volume filter?
[15:07:27 CET] <Eduard_Munteanu> Hi.
[15:08:09 CET] <Eduard_Munteanu> How do I use the API to play a video with hardware acceleration? I think I shouldn't decode frames and write them to a window, but the codec should do it directly, right?
[15:10:22 CET] <termos> Mavrik: I can't change it during runtime without using the zeromq filter
[15:10:32 CET] <termos> at least I can't find out how to do it
[15:11:13 CET] <Mavrik> Look at source of it then :)
[15:11:39 CET] <Mavrik> Eduard_Munteanu, sounds like you need to consult your HW decoding API documentation
[15:11:46 CET] <Mavrik> Rendering is usually fully controlled by that.
[15:31:12 CET] <chkktri> hello, maybe someone can solve this mystery for me: I'm trying to play DVD with "pseudo interlaced" output so it will look interlaced on progressive scan CRT screen. considering filters documentation solution should've been simple: -vf "separatefields,tinterlace=pad" but in fact this produced 1440x480 output from 720x240 fields separated by separate fields.
[15:32:15 CET] <chkktri> and what i expected is 720x480 output with double frame rate where each field is interlaced with black lines and then output
[15:34:13 CET] <durandal_1707> and what tinterlace states for pad mode?
[15:34:46 CET] <chkktri> "Expand each frame to full height, but pad alternate lines with black, generating a frame with double height at the same input frame rate."
[15:35:04 CET] <chkktri> so it should not touch weight in any way i believe
[15:36:22 CET] <durandal_1707> perhaps its because of sample aspect
[15:37:39 CET] <durandal_1707> perhaps you only need tinterlace filter?
[15:38:10 CET] <chkktri> not quite, input is interlaced so i have to sepparate fields first
[15:38:43 CET] <chkktri> otherwice i would get 720x960 output
[15:40:24 CET] <durandal_1707> I don't get why width changes
[15:42:45 CET] <chkktri> okay, setsar fixes this
[16:24:34 CET] <Fyr> video created from a list of PNG files looks crappy.
[16:24:48 CET] <Fyr> how to increase quality of the video?
[16:25:19 CET] <furq> could you be less specific
[16:25:21 CET] <Fyr> those PNG look good since they are rendered with POV-Ray (simple primitives).
[16:25:40 CET] <Fyr> video shows around those primitives halos.
[16:25:45 CET] <Fyr> and dots
[16:26:05 CET] <Fyr> the PNGs don't have them.
[16:28:21 CET] <Fyr> I tried both H264 and H265.
[16:28:55 CET] <furq> what settings did you use
[16:29:19 CET] <Fyr> ffmpeg -r 2 -i '%03d.png' -c:v libx264 -r 2 -an -y -threads 4 movie.mp4
[16:29:36 CET] <Fyr> I set the second -r to 60.
[16:29:37 CET] <Fyr> the same
[16:30:03 CET] <furq> why would -r make a difference
[16:30:15 CET] <Fyr> it wouldn't.
[16:30:42 CET] <Fyr> I don't know what bitrate settings I should use.
[16:30:45 CET] <Fyr> or CRF
[16:31:05 CET] <furq> there isn't a magic number that will make any source look good
[16:31:16 CET] <furq> what i would suggest is using -tune stillimage
[16:31:17 CET] <Fyr> it's not source.
[16:31:38 CET] <Fyr> it's the destination that does not look good.
[16:56:23 CET] <kepstin> Fyr: well, try setting -crf then. Maybe start at 18, make it smaller if it doesn't look good enough or bigger if the file size is too large.
[17:46:40 CET] <rls> hi all
[17:48:03 CET] <rls> Is it possible to fetch an udp stream, save it to a file & send it to an rtmp server in the same time?
[17:48:12 CET] <c_14> yes
[17:48:20 CET] <c_14> https://trac.ffmpeg.org/wiki/Creating%20multiple%20outputs
[17:49:52 CET] <rls> c_14: you mean the Tee pseudo-muxer?
[17:50:05 CET] <c_14> any of them
[17:50:32 CET] <c_14> If you're reencoding and you want the same stuff for both, use the tee pseudo muxer
[17:50:56 CET] <DHE> ffmpeg [input1 options] -i [input1] [output1 options] output1 [output2 options] output2
[17:51:23 CET] <DHE> this syntax would be good to save the original to disk and also encode a version for whatever you want to do with it
[17:51:32 CET] <rls> the only reencoding might be a bitstream filter for making aac-lc to aac
[17:51:41 CET] <rls> or the flv rtmp
[17:51:43 CET] <rls> *for
[17:56:36 CET] <rls> DHE: is there any delimiter between [output1 options] output1 and [output2 options] output2
[17:56:58 CET] <DHE> no, just that output1 is a filename or other ffmpeg output target
[17:57:15 CET] <DHE> eg: options are all of the form "-option value" (or just "-option" where apprioriate)
[17:57:27 CET] <rls> ok, let me try that
[17:58:03 CET] <DHE> there's a brief table showing the processing pipelines so just before the progress indicator
[17:59:34 CET] <rls> I think I got it working :))
[17:59:47 CET] <rls> but for some reason the nginx rtmp server that I'm using is crapping itself
[18:00:06 CET] <rls> and I can't load the stream from it, but the stats page shows it's working
[18:00:56 CET] <rls> ffplay says Segmentation fault
[18:44:48 CET] <rls> DHE: is there a way in which ffmpeg doesn't stop if i'm writing to the file, but the rtmp server stops?
[19:04:47 CET] <relaxed> rls: You could probably do it with two instances
[19:05:33 CET] <rls> relaxed: I was trying to minimise the traffic that I utilise from the UDP stream I'm fetching
[19:07:35 CET] <relaxed> rls: right, what you want might be possible with rtmp. I was just throwing out an idea :)
[19:18:45 CET] <MrJohnson> Does mixing down to mono (using -ac 1) Reduce the volume of the two channels? That is, if I have a right and a left channel, will ffmpeg reduce the volume of each channel to 50% to the resulting volume is the same?
[19:26:58 CET] <kepstin> MrJohnson: as far as I can tell, it doesn't. Wouldn't be too hard to confirm it yourself tho.
[19:29:37 CET] <kepstin> note that the simple (a + b) / 2 downmixing isn't really perceptually correct; playing the same signal out of two speakers will sound louder than playing that signal out of only one.
[19:29:47 CET] <kepstin> but it depends on the use case
[19:30:04 CET] <kepstin> if you expect the mono track to be played by duplicating it to make stereo, it's ok
[19:30:30 CET] <MrJohnson> So here's what I'm doing. I have a stereo recording, but only one of the channels has audio
[19:30:36 CET] <MrJohnson> I want to put that audio on the other side
[19:30:43 CET] <MrJohnson> in the other channel*
[19:31:05 CET] <kepstin> for that case, you'd probably want to use the -map_channel ffmpeg option
[19:31:24 CET] <MrJohnson> okay thanks
[19:35:32 CET] <kepstin> e.g. "-ac 2 -map_channel 0.0.0 -map_channel 0.0.0" will duplicate the left channel into both the left and right channels.
[21:01:21 CET] <NoNet> When executing this: "ffmpeg -i input.mkv -vf scale=hd480 ass=external_input.srt output.mkv" -- if the input video is h264, then the output video is automatically selected to be h264. Where/how do I control the output video parameters such as crf?
[21:02:01 CET] <DHE> put "-crf 22" anywhere between "input.mkv" and "output.mkv"
[21:02:04 CET] <DHE> and so on
[21:02:12 CET] <DHE> as long as you don't split any parameters, obviously
[21:02:27 CET] <c_14> The output codec is not selected based on the input codec, but on the output format
[21:02:29 CET] <c_14> Just saying
[21:03:56 CET] <DHE> I'm assuming I'm not seeing the whole thing. "ass=external_input.srt" isn't a valid parameter
[21:04:40 CET] <c_14> I'm assuming he's missing a comma after the scale
[21:05:36 CET] <NoNet> OK - For some reason, I thought setting output params like that applied to streams and that filters were done differently. Thanks. And I also get the point about missing comma and auto codec selection based on output file format.
[21:06:03 CET] <NoNet> Thanks. Will go play/experiment some more.
[22:27:02 CET] <ChocolateArmpits> Hello, if I intentionally try to minimize the inputer buffer, say via nobuffer and rtbufsize settings, is there a chance that the stream might actually get delayed if the video data isn't provided right on time (say after a second than when it's meant to play back)?
[22:36:13 CET] <johntramp> hi, is there a notation for time duration which is able to give me the entire video duration minus some value?
[22:37:25 CET] <johntramp> for use in eg -ss to seek up until the last 30 seconds of the video
[22:37:32 CET] <c_14> seek_from_eof or something
[22:38:55 CET] <c_14> -sseof
[22:40:17 CET] <johntramp> I see, and is there an equivalent of that for -to to get the inverse? so to stop at 30 seconds before the end of file?
[22:43:42 CET] <c_14> Not that I am aware, use -t and calculate the duration
[00:00:00 CET] --- Fri Nov 27 2015
More information about the Ffmpeg-devel-irc
mailing list