[Ffmpeg-devel-irc] ffmpeg.log.20160819
burek
burek021 at gmail.com
Sat Aug 20 03:05:01 EEST 2016
[09:20:00 CEST] <luc4> Hello! Im building ffmpeg from macports and I see that it does not include hevc encoding support and lossless support. Any idea why? Isnt it ready yet?
[09:20:20 CEST] <luc4> Or maybe they just didnt include it in the build configuration for some reason?
[10:55:10 CEST] <durandal_1707> luc4: yes, that's possible
[10:55:27 CEST] <luc4> durandal_1707: that it is not ready yet?
[10:56:14 CEST] <luc4> durandal_1707: I see that the static build includes the decoder, that is why I asked.
[10:57:39 CEST] <durandal_1707> luc4: it have encoder I think but its optional library
[10:58:03 CEST] <luc4> durandal_1707: but is it safe to use?
[10:58:16 CEST] <durandal_1707> safe and slow
[10:58:59 CEST] <luc4> durandal_1707: I see, thanks!
[11:40:08 CEST] <odinsbane> I get some complaints from power point about my perfectly good video encoded with ffmpeg. Does somebody have a good set of options they use for compatibility with ms office?
[11:55:59 CEST] <N_1ck> hi there, not really ffmpeg-related topic, may i ask about video over IP and networking ?
[12:00:02 CEST] <Amnesia> hi question, how should I convert a mkv file to a format which I can burn using growisofs?
[12:01:01 CEST] <Amnesia> http://superuser.com/questions/347451/encoding-mkv-to-dvd-with-ffmpeg uses the mkv container as well as output, which most dvd apps probably don't accept
[12:59:45 CEST] <Conder> hello, i want resize .h264 video to 720p and i want output in .h264 too. can be it done with this? ffmpeg -i input.h264 -vf scale=1280:-1 -c:v libx264 -crf 20 output.h264
[13:03:22 CEST] <odinsbane> Conder: did you try it? You can specify the output size instead of scale.
[13:07:15 CEST] <Conder> i tried it now, seems its okay :D
[13:50:51 CEST] <svRichard> I'd appretiate if anyone has any insight with an OSX avfoundation screencapture issue I'm having.
[13:50:56 CEST] <svRichard> To grossly over simplify the issue, if I use "sudo -u B ffmpeg -f av... -i o:" from user A, it captures the desktop of user A (I'm expecting the desktop of user B). If use "ssh B at localhost <same command>" I get the desktop for user B.
[13:51:41 CEST] <svRichard> Now I'm hoping to use the "sudo -u B" solution but have no clue as to why it would record the desktop of user A
[13:53:14 CEST] <svRichard> For clarity, the command used in both cases is: /usr/local/bin/ffmpeg -y -v error -f avfoundation -r 10 -pix_fmt yuyv422 -i "0:" -c:v h264 -preset:v ultrafast -profile:v baseline -qp:v 1 -pix_fmt yuv420p /tmp/rec.mp4
[13:55:45 CEST] <svRichard> And the version is 3.1.2-tessus
[14:00:38 CEST] <viric> grmbl. I use crf=30 in x264, and with two different camera sources, I get very different results, targetting 720p 25fps. For one, quite good. For the other, a much smaller file and with much more artifacts.
[14:07:08 CEST] <viric> I can't understand. If the 2nd source were noisier, it might have more artifacts, but not be much smaller
[14:08:40 CEST] <svRichard> gr8push
[14:09:50 CEST] <svRichard> ^ sorry for the spam
[14:33:56 CEST] <nonex86> can anyone help? i am trying to encode video stream (variable frame rate) and mux it into mkv using ffmpeg library, what fields in avcodeccontext and avstream should i fill to do it properly?
[14:36:35 CEST] <nonex86> comments for avcodeccontext.time_base said i should be set to 1/framerate, but what if the framerate is variable?
[14:36:45 CEST] <nonex86> *it
[14:47:06 CEST] <DHE> for variable FPS you basically set PTS timecodes that skip numbers. If your 30fps video occasionally becomes 15, you can go +2 on the PTS instead of +1 as needed
[14:47:33 CEST] <DHE> if your FPS is less mathematically pleasant, you might need to use a timebase of something like 1/1000 and go skipping all the time
[14:47:43 CEST] <DHE> and beware not all containers are variable-fps friendly
[14:48:32 CEST] <nonex86> thanks, as far as i know mkv should be ok
[14:48:39 CEST] <DHE> yeah mkv is good
[14:48:46 CEST] <nonex86> but after i mux the file i have some problems
[14:48:50 CEST] <nonex86> mpv plays it ok
[14:49:00 CEST] <nonex86> but vlc is not
[14:49:16 CEST] <nonex86> also in media info i see CFR for the video stream :/
[14:49:45 CEST] <nonex86> so i guess i missed something
[14:49:49 CEST] <nonex86> at least on muxer side
[14:55:07 CEST] <nonex86> or... its on the codec side, because h264 carry cfr/vfr information afair...
[14:55:46 CEST] <nonex86> so its the question how to tell to x264 encoder in ffmpeg to set vfr for stream
[15:07:06 CEST] <DHE> h264 by itself doesn't have a concept of framerate. that's a necessity of the container. an h264 ES is basically just a sequence of frames and nothing more
[15:08:19 CEST] <nonex86> i just found this post
[15:08:20 CEST] <nonex86> http://forum.doom9.org/archive/index.php/t-165256.html
[15:09:22 CEST] <nonex86> "MKV does not have any header information telling you whether the file is VFR or CFR (H.264 bitstream does, though."
[15:10:03 CEST] <nonex86> honestly speaking i dont remember anything related to fps in h264 sps/pps...
[15:10:55 CEST] <nonex86> curious, why media info said my output file is CFR than...
[15:11:12 CEST] <BtbN> Probably because it has no idea, and defaults to cfr
[15:11:16 CEST] <DHE> it would need to scan the whole file to be 100% sure about that
[15:11:23 CEST] <DHE> or at least until it finds the framerate changing on it
[15:15:40 CEST] <nonex86> BtbN, yeah, this make sense
[15:21:20 CEST] <JEEB> nonex86: there's a field in the parameter sets that sets the maximum rate of the stream
[15:21:47 CEST] <JEEB> usually programs think a stream is cfr if it is sey
[15:22:07 CEST] <JEEB> but as the field notes, it's just the max
[15:22:43 CEST] <JEEB> also the container per-picture timestamps could be completely different and override anything the bit stream sets
[15:25:40 CEST] <JEEB> but in the end you just have to see wtf things like mediainfo use in their source code
[15:50:39 CEST] <kdehl> A question about the scale2ref filter, why does it have two outputs? Isn't the only interesting output the scaled video?
[15:54:18 CEST] <kdehl> Oh.
[15:54:42 CEST] <kdehl> It's to easily use it with the overlay filter.
[16:16:38 CEST] <nonex86> JEEB: thanks
[16:22:59 CEST] <ozette> i have a machin with armv7l architecture, i build ffmpeg for that machine using a raspberry pi which has a armv7l arch as well
[16:23:22 CEST] <ozette> the ffprobe works fine on the machine, but the ffmpeg returns an error when i try to create a hls list
[16:23:37 CEST] <ozette> the error being: ffmpeg was killed with signal SIGILL
[16:24:19 CEST] <ozette> does this mean that the machine can't process the instructions from the ffmpeg that was build on the raspberrypi?
[16:26:23 CEST] <DHE> Illegal instruction was executed
[16:26:42 CEST] <ozette> does that have anything to do with the flag i give?
[16:26:53 CEST] <ozette> i pass a -hls_list_size 0
[16:27:14 CEST] <ozette> or the ffmpeg can't process the media i give?
[16:27:15 CEST] <DHE> no, this will either be a bug in the pre-written assembly code or gcc built ffmpeg with the wrong -m settings
[16:27:27 CEST] <ozette> i built this ffmpeg only with the x264 library
[16:27:42 CEST] <ozette> not sure if i need aac as well
[16:27:47 CEST] <DHE> yes, but both x264 and ffmpeg have hand-written assembly options
[16:27:50 CEST] <ozette> it's a mp4 file
[16:27:59 CEST] <ozette> ah
[16:28:24 CEST] <DHE> so somebody screwed up, either said hand-written instructions or the code that decides when to use them, or gcc was told the CPU would be of a higher model than what you have.
[16:28:27 CEST] <ozette> i followed this guide by the way: http://www.jeffreythompson.org/blog/2014/11/13/installing-ffmpeg-for-raspberry-pi/
[16:28:49 CEST] <ozette> i see, very possible since this was the very latest ffmpeg
[16:28:50 CEST] <DHE> hmm.. if you followed a pre-written guide, you'd think it's a tested configuration
[16:29:01 CEST] <ozette> well it uses git at some point
[16:29:03 CEST] <ozette> to get the ffmpeg source
[16:29:17 CEST] <ozette> it's not a stable, so maybe that's my problem?
[16:29:37 CEST] <kepstin> also, which raspberry pi model? there's several, with varying processors
[16:29:37 CEST] <ozette> version is N-81350-g32282e31
[16:29:40 CEST] <DHE> well, for testing you can use --disable-asm for the configure command of both x264 and ffmpeg to eliminate item number one.
[16:29:51 CEST] <DHE> or if you know how to use gdb, you can just see where it crashes
[16:29:59 CEST] <ozette> kepstin: pi 3 model B v1.2
[16:30:18 CEST] <ozette> it has an armv7l architecture
[16:30:41 CEST] <kepstin> huh, that's the newest one, with a cortex-a53 core. I wonder which instruction it's having issues with
[16:30:55 CEST] <ozette> DHE: would ffmpeg crash when it isn't build with aac?
[16:31:28 CEST] <ozette> i did the bare minimum of that guide, because i wasn't too sure how to get the other libraries
[16:32:06 CEST] Action: kepstin notes that technically the cpu in the pi 3 is armv8, but it's usually run with 32bit/armv7 userspace.
[16:32:08 CEST] <ozette> but i can --help and -version the ffmpeg
[16:32:23 CEST] <ozette> interesting
[16:32:38 CEST] <DHE> ozette: building ffmpeg is likely good enough. besides, for aac audio there's a built-in ffmpeg encoder which is fine
[16:33:09 CEST] <furq> ozette: you should use --arch=armhf for the rpi3
[16:34:24 CEST] <ozette> furq: aha so armhf instead of armel?
[16:34:37 CEST] <furq> yeah
[16:34:42 CEST] <furq> assuming your distro is armhf as well
[16:34:45 CEST] <ozette> yea
[16:34:51 CEST] <furq> i have no idea how raspbian dealt with the transition to the pi 2
[16:34:56 CEST] <furq> i just run regular debian on my pi 2
[16:34:57 CEST] <ozette> alright i will try that
[16:35:03 CEST] <ozette> oh wauw
[16:35:50 CEST] <viric> all pi have 'armhf'
[16:35:54 CEST] <kepstin> pi 1 was armv6, iirc, so i assume it was a new build to get armv7
[16:36:02 CEST] <viric> hard-float
[16:36:51 CEST] <viric> different simd instructions, though.
[16:36:58 CEST] <ozette> when ./configuring ffmpeg, it shows a list of enabled decoders
[16:37:30 CEST] <ozette> including an aac, so those decoders are all included, correct?
[16:38:19 CEST] <viric> ozette: SIGILL means it is bad compiled. It's not related to the decoders
[16:41:54 CEST] <ozette> viric: alright thanks
[16:42:19 CEST] <ozette> i'm rebuilding with --arch=armhf
[16:42:52 CEST] <furq> i take it you're not cross-compiling then
[16:43:56 CEST] <ozette> well
[16:44:31 CEST] <furq> also i believe you need --enable-omx-rpi if you want to use the builtin h264 decoder
[16:44:36 CEST] <furq> and the builtin encoder but that's pretty much trash
[16:45:16 CEST] <ozette> i'm actually compiling for another machine
[16:45:19 CEST] <viric> it is not advertised as such ;)
[16:45:40 CEST] <ozette> but it has an architecture similar to the pi, so i'm hoping armhf will do the trick
[16:45:47 CEST] <furq> oh
[16:45:55 CEST] <viric> similar as in "it also has usb"?
[16:45:57 CEST] <ozette> the toolchain i originally made failed
[16:46:00 CEST] <kepstin> ... oh, so you're not running it on the pi?
[16:46:09 CEST] <DHE> the general opinion of everybody is that hardware h264 encoders are fast, but x264 still produces the best image quality
[16:46:12 CEST] <ozette> so i decided, nvm i'll build it on the rpi and bring it over like a static
[16:46:21 CEST] <DHE> having tested nvidia's encoder, that's certainly true
[16:46:24 CEST] <kepstin> yeah, it's probably just a mismatch between the compiler on the pi and the architecture of the board you're using
[16:49:47 CEST] <ozette> i think compiling with armhf will do the trick
[16:50:11 CEST] <furq> you've picked a really weird way to go about this
[16:50:45 CEST] <kepstin> tbh, if the problem is a compiler architecture mismatch, using armhf will either leave it the same or make it worse
[16:50:52 CEST] <ozette> probably, but time is short, i have my application working on 2 different architectures already
[16:51:45 CEST] <ozette> it's funny how the ffprobe i compiled before runs 'fine'
[16:52:16 CEST] <kepstin> the bad instruction is probably located in a part of the code that ffprobe doesn't run
[16:52:18 CEST] <ozette> no instruction errors so far, but i'm using it only for a single purpose
[16:52:26 CEST] <ozette> yea i think so too
[16:53:19 CEST] <ozette> lucky me, anyway, i'll let you know if the compilation worked out, this may take a while
[16:57:34 CEST] <shincodec> so
[16:57:55 CEST] <shincodec> msvc build broken
[16:57:57 CEST] <shincodec> right?
[16:59:44 CEST] <shincodec> AWk:
[16:59:47 CEST] <shincodec> this and that
[16:59:54 CEST] <shincodec> what sort of idiot uses that?
[17:02:34 CEST] <furq> what a nice young man
[17:04:52 CEST] <viric> I'm with kepstin, armhf will only make it worse
[17:04:56 CEST] <viric> (or same)
[17:05:30 CEST] <viric> ozette: you have to match the exact vfp version supported, and same for neon and such things. There are many versions.
[17:06:09 CEST] <viric> ozette: you may even have the trouble in non-ffmpeg code (libc, etc.), which is built for the other platform
[17:06:31 CEST] <viric> so maybe it does not matter with what flags you build ffmpeg
[17:35:47 CEST] <ozette> we'll see
[19:17:20 CEST] <shincodex> now really
[19:17:31 CEST] <shincodex> help me understand on msvc why im having snprintf issue
[19:17:47 CEST] <shincodex> why is there a macro in configure redefining snprintf
[19:18:02 CEST] <shincodex> then in internal.h "EXTERN" is used with av wtfver ever snprintf
[19:22:59 CEST] <shincodex> holy crap
[19:23:06 CEST] <shincodex> i think i compiled your shit with crt
[19:26:45 CEST] <durandal_1707> shincodex: doing what?
[19:29:06 CEST] <DelphiWorld> hey
[19:29:17 CEST] <DelphiWorld> guys someone know how to catch a url in a swf flash file?
[19:31:39 CEST] <durandal_1707> why?
[20:23:01 CEST] <shincodex> compiled ffmpeg in command line visual studio and msys crap
[20:23:15 CEST] <shincodex> now im trying to figureout how to make CC libavformat/allformats.o
[20:23:25 CEST] <shincodex> display the exact compile string verbose and stop hiding it
[20:23:35 CEST] <shincodex> i did it once before but i cant remmber where in make file that junk is
[20:23:52 CEST] <shincodex> CAuse mvsc flags is using O3 thats not valid for msvc cl.exe
[20:24:03 CEST] <shincodex> so im thinking its sileently erroring and continue onward
[20:24:09 CEST] <shincodex> assuming /O0
[20:24:11 CEST] <shincodex> which is bad for me
[20:27:38 CEST] <drv> make V=1
[20:29:25 CEST] <shincodex> Got it. its common.mak compile
[20:33:51 CEST] <Glimmergaunt> setting up the decoder can pps, and psp, one after each other? (same byte array) or do they have to be separate? (if that makes any sense)
[20:33:57 CEST] <Glimmergaunt> For setting up*
[20:50:42 CEST] <shincodex> drv
[20:50:53 CEST] <shincodex> That was giberish but now that makes sense
[20:50:54 CEST] <shincodex> i saw that
[20:51:03 CEST] <shincodex> I just said screw it and dropped CC from brief
[20:51:04 CEST] <shincodex> lol
[20:51:37 CEST] <shincodex> and indeed release msvc sends O2 to compiler
[20:54:19 CEST] <shincodex> inconfigure i translate fpic to -MD hope it works
[21:56:58 CEST] <kadiro> hello, i have an mkv video, i tried to convert it with 480p mp4 file, i used this line: ffmpeg -i my_file.mkv -vf scale=-1:480 -vcodec mpeg4 -scodec mov_text -qscale 3 my_file.mp4 , the problem the output video is about 2.8G , the mkv source file is only 940M
[21:57:54 CEST] <kadiro> if you need other information just tell me i will do it
[22:02:49 CEST] <kadiro> any one have a little time to direct me
[22:06:08 CEST] <Mavrik> kadiro, I'm sure your input file isn't MPEG-4 video :)
[22:06:20 CEST] <Mavrik> Which is an old format that's bad at compression :)
[22:06:33 CEST] <kadiro> Mavrik, it must have the same codec?
[22:06:39 CEST] <Mavrik> Well...
[22:06:55 CEST] <Mavrik> if you want same filesize it has to be a codec that's as good or better
[22:06:56 CEST] <Mavrik> Not worse :)
[22:07:13 CEST] <Mavrik> Also nothing is encoded in MPEG-4 anymore.
[22:07:13 CEST] <kadiro> it is Input #0, matroska,webm
[22:07:16 CEST] <Mavrik> Use H.264.
[22:07:21 CEST] <kadiro> ah
[22:07:28 CEST] <kadiro> it compress?
[22:07:45 CEST] <Mavrik> kadiro, please look up the difference between a container ("mp4, webm") and what's inside that container (video and audio tracks and their formats).
[22:08:22 CEST] <kadiro> oops my bad, it is Stream #0:0: Video: h264 (High), yuv420p, 1288x536 [SAR 1:1 DAR 161:67], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
[22:09:07 CEST] <kadiro> Is the `-vf scale=-1:480` fine? Mavrik
[22:09:08 CEST] <Mavrik> mhm, so it's worth encoding back to h.264 :)
[22:09:16 CEST] <Mavrik> -vcodec libx264
[22:09:27 CEST] <kadiro> thanks so much
[22:10:10 CEST] <kadiro> my end goal is to make the video less in size ( from 1288x536 to something less )
[22:18:58 CEST] <kadiro> i tried to add a modified subtitle extracted from the original file : ffmpeg -i my_file.mkv -i my_sub.ass -vf scale=-1:480 -vcodec libx264 -acodec copy -qscale 3 my_file.mp4
[22:19:22 CEST] <kadiro> but i got this error: Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
[22:20:28 CEST] <kadiro> the original video have 1 video stream, 1 audio, 2 subs and one jpeg
[22:26:10 CEST] <kadiro> something is wrong with my command line but i can't see it
[22:30:05 CEST] <kadiro> I will add -map 0:0 and hope it will do it
[22:31:57 CEST] <kadiro> ah i think i get something when i scroll up "width not divisible by 2 (1153x480)"
[22:34:39 CEST] <durandal_1707> michaelni: I get bunch of exceeding next NALFF with latest h264 decoder
[22:35:26 CEST] <michaelni> durandal_1707, how can i reproduce ?
[22:35:30 CEST] <kadiro> whatever i use for '-vf scale:-1:something' i got this "width not divisible by 2 (1153x480)" what's wrong?
[22:37:10 CEST] <kadiro> ok i'm googling anyway
[22:37:12 CEST] <furq> kadiro: -vf scale=-2:480
[22:37:15 CEST] <furq> also get rid of -qscale 3
[22:37:41 CEST] <kadiro> thanks furq
[22:38:19 CEST] <kadiro> its working thanks again
[00:00:00 CEST] --- Sat Aug 20 2016
More information about the Ffmpeg-devel-irc
mailing list