[Ffmpeg-devel-irc] ffmpeg.log.20180521
burek
burek021 at gmail.com
Tue May 22 03:05:01 EEST 2018
[08:53:06 CEST] <jk^> hi all
[08:53:37 CEST] <jk^> pls how to uninstall the contents of this archive https://ffmpeg.org/releases/ffmpeg-4.0.tar.bz2 ?
[08:54:00 CEST] <c_14> after make install?
[08:54:01 CEST] <jk^> i donwloaded this archive, extract it and installed all
[08:54:07 CEST] <c_14> make uninstall
[08:54:15 CEST] <jk^> following the instructions in install.md text file
[08:55:20 CEST] <jk^> i followed this instructions https://pastebin.com/raw/TCGfbNnC
[08:55:24 CEST] <jk^> c_14
[08:56:49 CEST] <jk^> c_14, how ever it doesn't work
[08:58:30 CEST] <jk^> https://pastebin.com/raw/pJjUiqxF
[08:59:17 CEST] <c_14> you have to run ./configure before make uninstall
[08:59:30 CEST] <jk^> ok, pls tell me all steps :(
[08:59:46 CEST] <c_14> use the same ./configure command as you did before you installed it
[08:59:48 CEST] <jk^> i told u how i installed
[08:59:48 CEST] <c_14> and then make uninstall
[08:59:53 CEST] <jk^> ok
[08:59:56 CEST] <jk^> i'll try
[08:59:57 CEST] <jk^> then
[09:00:14 CEST] <jk^> i have to enter these commands: 1) ./configure
[09:00:16 CEST] <jk^> and after
[09:00:17 CEST] <jk^> 2)
[09:00:22 CEST] <jk^> make unistall
[09:00:25 CEST] <jk^> is it right?
[09:00:30 CEST] <c_14> yeah
[09:00:37 CEST] <jk^> have i to use sudo before these commands?
[09:01:03 CEST] <c_14> if you used sudo for make install you'll need it for make uninstall
[09:02:44 CEST] <jk^> i don't remember
[09:03:03 CEST] <c_14> you can use ls -l on the ffmpeg binary to get the owner
[09:03:08 CEST] <c_14> if it's root you'll need sudo
[09:07:28 CEST] <jk^> c_14 may i let u see a log?
[09:07:36 CEST] <c_14> sure
[09:08:15 CEST] <jk^> did it go all right?
[09:08:17 CEST] <jk^> https://pastebin.com/raw/ZRxxLbvU
[09:08:50 CEST] <c_14> looks fine
[09:08:57 CEST] <c_14> check if /usr/local/bin/ffmpeg still exists
[09:10:55 CEST] <jk^> firt time i typed just make uninstall
[09:11:17 CEST] <jk^> aftet seeing some errors, i repeat the command adding sudo
[09:11:20 CEST] <jk^> sudo make uninstall
[09:13:08 CEST] <jk^> this path /usr/local/bin
[09:13:09 CEST] <jk^> is empty
[09:13:22 CEST] <c_14> then it worked
[09:15:26 CEST] <jk^> thanks a lot :) have a nice day
[14:24:03 CEST] <Hackerpcs> is it possible with ffprobe show_entries option to show the bitrate in kb/s like if "ffprobe file.mkv" is used?
[14:24:13 CEST] <Hackerpcs> or maybe mb/s
[14:27:01 CEST] <furq> Hackerpcs: -prefix
[14:27:37 CEST] <furq> https://www.ffmpeg.org/ffprobe.html#Main-options
[14:29:19 CEST] <Hackerpcs> thanks, didn't notice it, was looking below at the show_entries option
[14:29:35 CEST] <Hackerpcs> pretty is more suited tho
[14:29:38 CEST] <Hackerpcs> for me
[17:51:07 CEST] <Guest73016> Hi, I am trying to create a video file out of svg sequence using ffmpeg. I compiled ffmeg with --enable-librsvg flag. When I create a video from SVG sequence it is created with lot of artefacts.
[17:51:19 CEST] <Guest73016> Command: docker run -v $(pwd):/data ffmpeg -v 9 -loglevel 99 -r 25 -i /data/image_%03d.svg /data/video.mp4 -y
[17:51:27 CEST] <Guest73016> Dockerfile: https://pastebin.com/Bfcc9Bc4
[17:51:38 CEST] <Guest73016> FFmpeg output: https://pastebin.com/
[17:52:00 CEST] <Guest73016> Ffmpeg output: https://pastebin.com/wNZMwcp6
[17:52:34 CEST] <Guest73016> Link to files and a video to reproduce: https://www.justbeamit.com/8xb97
[17:52:47 CEST] <Guest73016> Can some one help me with that please?
[18:15:24 CEST] <Cracki> Guest33321, you did not specify video codec and bitrate
[18:15:37 CEST] <Cracki> uh Nadir88
[18:18:15 CEST] <Nadir88> Cracki, thanks for the answer. Tried to run `docker run -v $(pwd):/data ffmpeg -v 9 -loglevel 99 -r 25 -i /data/image_%03d.svg -c:v libx264 -r 25 /data/video.mp4 -y` same result.
[18:18:30 CEST] <Cracki> still, where's the bitrate?
[18:19:03 CEST] <Cracki> -b:v
[18:20:17 CEST] <Nadir88> Ok, `docker run -v $(pwd):/data ffmpeg -v 9 -loglevel 99 -r 25 -i /data/image_%03d.svg -c:v libx264 -b:v 2M /data/video.mp4 -y` same...
[18:21:40 CEST] <Cracki> show me input and output data
[18:21:56 CEST] <Nadir88> Cracki, https://www.justbeamit.com/8xb97
[18:22:03 CEST] <Cracki> sorry, this download link no longer exists :(
[18:22:12 CEST] <Cracki> did you set expiration time to 1 minute or something?
[18:22:14 CEST] <Nadir88> I will reoupoad it
[18:22:43 CEST] <Nadir88> https://www.justbeamit.com/tp2hi
[18:23:15 CEST] <Cracki> what artefacts do you see?
[18:23:46 CEST] <Nadir88> It seems like frames accumulate the images from previous frames
[18:23:55 CEST] <Cracki> the svg has transparent background
[18:23:59 CEST] <Nadir88> Yes
[18:24:17 CEST] <Cracki> pictures are drawn on top of each other. transparency causes what you see.
[18:24:43 CEST] <Nadir88> If I use transparent PNGs the video is OK
[18:24:45 CEST] <Cracki> you want to either fix the svg files, or add a filter that creates an opaque background behind the input
[18:25:20 CEST] <Cracki> btw: that text in the video/svg is not 100% opaque
[18:25:36 CEST] <kepstin> that's actually a bug in the svg render that i've already fixed
[18:25:43 CEST] <kepstin> fix should be in ffmpeg 4.0 i think
[18:26:24 CEST] <Cracki> Nadir88, browse the ffmpeg video filters for something like "compose" or synthetic color
[18:26:25 CEST] <kepstin> (might be in 3.4 as well, i forget exactly when it got merged)
[18:26:28 CEST] <Nadir88> kepstin, thanks! I am compiling it right now.
[18:26:35 CEST] <Cracki> or use 4.0 :P
[18:26:56 CEST] <Nadir88> Thanks guys! I will try 4.0
[18:27:38 CEST] <Nadir88> It works!
[18:30:35 CEST] <Cracki> kepstin, at what point does this happen? would a complex filter using overlay filter and drawbox (or similar) be a workaround?
[18:31:12 CEST] <kepstin> it was a problem in the decoder not clearing buffers before re-using them for new frames, so it couldn't be fixed by filters.
[18:31:35 CEST] <Cracki> hm
[18:31:40 CEST] <Cracki> good to know, thx
[18:35:44 CEST] <Cracki> is nullsrc creating frames of _uninitialized_ data?
[19:13:54 CEST] <MarkedOne> Hello! Does the .mkv format contains only title metadata?
[19:17:01 CEST] <furq> MarkedOne: https://matroska.org/technical/specs/tagging/index.html
[19:40:01 CEST] <MarkedOne> furq: Thank you.. but in ffmpeg documentation I found this https://ffmpeg.org/ffmpeg-all.html#matroska
[19:40:48 CEST] <MarkedOne> Is it just not updated documentation or am I missing something?
[19:45:52 CEST] <MarkedOne> Is it that it because of that mkv can have any tag specified as key value?
[19:49:38 CEST] <JEEB> yes. metadata is rather free-form
[19:49:49 CEST] <JEEB> actual container data is well-defined, but otherwise it can be whatever
[19:50:12 CEST] <JEEB> and you should always trust the container data if the input is trying to feed you something similar as metadata
[19:50:44 CEST] <furq> title is in a separate metadata block iirc
[19:50:55 CEST] <furq> but tags are just arbitrary key/value
[19:51:14 CEST] <furq> so -metadata foo=bar or -metadata:s:a:0 foo=bar for track-specific tags
[19:51:20 CEST] <JEEB> yes, there are specified things as well, in addition to freeform tags
[19:56:22 CEST] <MarkedOne> Thank you :)
[19:57:27 CEST] <furq> apparently nothing i use likes track-specific tags so probably don't use those
[20:00:50 CEST] <MarkedOne> Hmm id there a way to create xml with metadata as seen here https://matroska.org/technical/specs/tagging/example-video.html and then let ffmpeg to embed it into file?
[20:01:04 CEST] <MarkedOne> Is there*
[20:01:56 CEST] <furq> i doubt you can do it with ffmpeg
[20:02:03 CEST] <furq> i'm pretty sure mkvpropedit will do it though
[20:04:54 CEST] <MarkedOne> Yep I understand.. Thank you :)
[20:23:34 CEST] <benzrf> yo
[20:25:33 CEST] <benzrf> is it possible to excise like 10 seconds from the middle of a long video w/o recoding the whole thing? does it depend on the format?
[20:25:56 CEST] <nicolas17> you can only cut at keyframes
[20:26:04 CEST] <benzrf> how often are those?
[20:26:15 CEST] <nicolas17> that depends on the video
[20:26:22 CEST] <benzrf> range?
[20:26:24 CEST] <nicolas17> they might even be at irregular intervals
[20:27:01 CEST] <nicolas17> "To give some orientation, the x264 encoder by default uses a GOP size of 250 (which means 1 keyframe each 10 seconds if the input frame rate is 25 fps)."
[20:27:10 CEST] <benzrf> ty
[20:28:57 CEST] <benzrf> so does that mean its possible to re-encode just the section between the closest keyframes around the altered section?
[20:29:02 CEST] <benzrf> is that default behavior, or
[20:31:14 CEST] <nicolas17> in theory yes, it would be possible to copy unmodified data until the closest keyframe, re-encode the GOP(s) you want to cut, and continue copying unmodified data
[20:31:22 CEST] <nicolas17> but I don't know *how* to do it with ffmpeg
[20:32:01 CEST] <SpeakerToMeat> If I want to enlarge and crop I need a complex filter, no?
[20:32:21 CEST] <durandal_1707> no
[20:32:22 CEST] <nicolas17> SpeakerToMeat: no, a linear sequence of filters doesn't count as "complex"
[20:33:42 CEST] <SpeakerToMeat> oh ok
[20:41:13 CEST] <SpeakerToMeat> I wonder if ffmpeg minds that I do several things at once. I don't want it to feel overworked :D
[20:41:50 CEST] <benzrf> nicolas17: yeah basically i wanna clip out about 10 seconds from a movie that are really gross and i dont wanna spend an hour re-encoding :(
[20:41:56 CEST] <benzrf> and losing quality at that
[20:47:09 CEST] <Cracki> reencoding the half-gop could be done as a separate step
[20:47:15 CEST] <Cracki> and then glue together the bitstreams
[20:47:32 CEST] <benzrf> what excatly is a gop?
[20:47:47 CEST] <Cracki> group of pictures, i.e. a keyframe and following (inter-frame) predicted frames
[20:47:50 CEST] <benzrf> ah
[20:48:11 CEST] <Cracki> keyframe is a frame that doesn't reference other frames, only uses "constants" and "intra" prediction
[20:49:04 CEST] <Cracki> so... you can always (more or less) chop off the end of a GOP. not always, because B-frames can reference *future* frames too
[20:49:11 CEST] <benzrf> yikes
[20:49:19 CEST] <Cracki> but chopping the head off requires reencoding of that GOP because you chopped the keyframe off
[20:49:40 CEST] <Cracki> all GOPs you don't touch you can just copy over
[20:50:20 CEST] <benzrf> mm
[20:50:22 CEST] <Cracki> virtualdub does that. avisynth might too, but not sure
[20:50:59 CEST] <nicolas17> wait, can a B-frame reference an I-frame from the next GOP?
[20:51:04 CEST] <Cracki> yes
[20:51:06 CEST] <Cracki> I think so
[20:51:15 CEST] <benzrf> what are b and i frames?
[20:51:19 CEST] <Cracki> at the very least, it can reference future P-frames
[20:51:24 CEST] <benzrf> and p frames o__o
[20:51:33 CEST] <benzrf> between? intermediate?
[20:51:34 CEST] <Cracki> I frame is intra
[20:51:35 CEST] <nicolas17> an I frame is pretty much like a JPEG image, it can be decoded on its own
[20:51:49 CEST] <Cracki> P is predicted, inter-frame, from only past decoded frames (I/P)
[20:51:51 CEST] <benzrf> how is that different from keyframe
[20:52:00 CEST] <nicolas17> a keyframe is an i-frame
[20:52:03 CEST] <benzrf> oic
[20:52:10 CEST] <benzrf> oh is it like
[20:52:36 CEST] <benzrf> each frame is determined by a group of predictions, and these terms like i-frame refer to frames that contain an i prediction
[20:52:55 CEST] <Cracki> no.
[20:52:59 CEST] <benzrf> :(
[20:53:01 CEST] <Cracki> the implication is the other way around
[20:53:05 CEST] <benzrf> ah
[20:53:09 CEST] <nicolas17> an i-frame is entirely independent
[20:53:16 CEST] <Cracki> if a frame only contains constant blocks and intra predictions, it's an I frame
[20:53:36 CEST] <nicolas17> a p-frame stores the difference to a previous frame
[20:53:52 CEST] <benzrf> that doesn't sound "predicted" to me
[20:53:54 CEST] <nicolas17> a b-frame stores the difference to previous and following frames
[20:54:05 CEST] <Cracki> predicted as in it copies a piece of the picture from an earlier frame
[20:54:09 CEST] <benzrf> well aight
[20:54:10 CEST] <Cracki> it might move that piece
[20:54:17 CEST] <Cracki> or transform it in some way
[20:54:27 CEST] <Cracki> the easiest prediction is "the same again"
[20:54:32 CEST] <Cracki> that's how you get run-length-encoding
[20:54:44 CEST] <nicolas17> well, it uses motion compensation to predict the frame from a previous one, and then adds a difference to fix what the prediction inevitably got wrong
[21:17:07 CEST] <SpeakerToMeat> how can b-frames work? without reading ahead
[21:17:39 CEST] <Mavrik> Well, by reading ahead ;)
[21:18:08 CEST] <BtbN> by re-ordering frames so you never have to read ahead.
[21:18:10 CEST] <Mavrik> Usually they're put behind the frames they refernce in stream
[21:18:19 CEST] <Mavrik> So no reordering is needed, just buffering.
[21:18:42 CEST] <Mavrik> Although, I guess you still need to reorder them for display when playing
[21:18:59 CEST] <JEEB> yes
[21:19:45 CEST] <JEEB> that's why during encoding (and decoding) you have a small amount of extra latency because you have to wait for that/those extra frame(s) depending on the depth of the reorder
[21:21:18 CEST] <Cracki> Presentation timestamp and Decode timestamp
[21:21:42 CEST] <Cracki> streams should be ordered by DTS. decoders will then emit frames in PTS order.
[21:22:43 CEST] <JEEB> yup
[21:58:11 CEST] <xmbswc> hello, im trying to spawn few ffmpegs together to fill quad core of my i5, but it waits for fg in foreground
[21:58:30 CEST] <xmbswc> ah i can spawn with xterm prolly
[21:59:56 CEST] <Cracki> basic unix terminal/shell usage
[22:00:19 CEST] <Cracki> and you can fill your quadcore with a single ffmpeg instance, if the codecs are allowed to use multiple threads
[22:02:10 CEST] <xmbswc> i dunno, the windows are spawning
[22:02:58 CEST] <Cracki> I only know of terminal windows *spawning* on windows
[22:03:12 CEST] <Cracki> on linux, you get all output in the parent terminal
[22:03:45 CEST] <xmbswc> well it opens 4 or 5 windows at max, rxvt -e ffmpeg cmd
[22:05:29 CEST] <Cracki> ah
[22:54:40 CEST] <goiko> hi, i want to compile the latest version on raspberry pi and have "C compiler test failed." error, here log file: https://pastebin.com/LmmJTbwm
[22:55:02 CEST] <goiko> that worked in the past, months ago
[22:55:26 CEST] <furq> goiko: install libasound
[22:55:30 CEST] <furq> libasound2-dev on debian iirc
[22:55:36 CEST] <JEEB> for no reason you are adding -lasound and it's not installed
[22:55:59 CEST] <JEEB> also for the record I added pkg-config support for ALSA
[22:56:00 CEST] <furq> oh right yeah don't put that in --extra-libs
[22:56:04 CEST] <furq> it'll autodetect alsa if it's there
[22:56:06 CEST] <goiko> ah okay, thanks, will try
[22:56:23 CEST] <furq> also you probably want --enable-mmal on a pi
[22:56:32 CEST] <JEEB> also why do you need --enable-nonfree?
[22:56:42 CEST] <JEEB> you don't gain anything from it according to your parameters
[22:56:58 CEST] <furq> and i suspect you want --arch=armhf but it depends on your os
[22:57:36 CEST] <goiko> well, i just copied it from a tutorial - good point, will remove/change it
[22:58:13 CEST] <furq> if you're running raspbian you might need armel
[22:58:40 CEST] <JEEB> although I think if you're building *on* rpi you probably wouldn't need any arch/os?
[22:58:46 CEST] <furq> true
[22:58:55 CEST] <furq> you don't need target-os either
[22:59:08 CEST] <goiko> installed libasound, and yes it was a fresh raspbian lite
[22:59:13 CEST] <JEEB> for cross-compilation those start to matter
[22:59:55 CEST] <JEEB> also libx264 sounds really like extra on a rpi
[22:59:59 CEST] <JEEB> since it's not gonna get you far
[23:00:30 CEST] <goiko> yeah i compiled x264, why not far?
[23:00:40 CEST] <JEEB> I would probably just do ./configure --disable-autodetect --enable-zlib --enable-omx --enable-omx-rpi --enable-mmal --enable-libfreetype
[23:00:42 CEST] <furq> it's unusably slow on a pi
[23:00:54 CEST] <furq> you're pretty much going to be stuck with h264_omx
[23:00:59 CEST] <JEEB> disable-autodetect just to get a smaller build since 99% of all things for *decoding* are enabled in the default
[23:01:10 CEST] <JEEB> then just the rpi specific things, although enable-mmal is the most important
[23:01:20 CEST] <JEEB> libfreetype if you really need it for something?
[23:01:30 CEST] <JEEB> I would otherwise not waste time building that FFmpeg module
[23:01:42 CEST] <JEEB> zlib is for PNG support so it makes sense
[23:01:44 CEST] <furq> you presumably want explicit --enable-alsa if you're disabling autodetect
[23:01:50 CEST] <furq> or whatever the option is called
[23:01:55 CEST] <JEEB> in case he actually needs alsa, yes
[23:02:12 CEST] <JEEB> but yea, I like being explicit about features required :P
[23:02:14 CEST] <furq> i assume anyone installing ffmpeg on a pi needs to capture a webcam
[23:02:21 CEST] <furq> there's not much else you can do with it
[23:02:27 CEST] <JEEB> or just build mpv with the mmal hwdec?
[23:02:32 CEST] <JEEB> people have differing needs
[23:02:49 CEST] <goiko> actually i just want to use youtube-dl on rpi, and it said in the past that its needed
[23:03:06 CEST] <furq> oh right
[23:03:09 CEST] <furq> literally any ffmpeg will do fine then
[23:03:14 CEST] <JEEB> then you just need literally ./configure --disable-autodetect
[23:03:16 CEST] <furq> youtube-dl only uses ffmpeg for remuxing and bsfs
[23:03:18 CEST] <JEEB> yup
[23:03:23 CEST] <goiko> cool
[23:03:25 CEST] <furq> i mean
[23:03:26 CEST] <JEEB> a default no-extra-crap build will do
[23:03:31 CEST] <furq> you might as well build it with omx and mmal just in case
[23:03:33 CEST] <furq> you already have the libs
[23:03:45 CEST] <JEEB> yea, if you ever want to build mpv or so on it
[23:03:56 CEST] <JEEB> enable-mmal would go for that
[23:04:20 CEST] <JEEB> and for various things like PNG zlib is needed which is why I usually add it there
[23:04:26 CEST] <goiko> yeah, so: ./configure --disable-autodetect --enable-omx --enable-omx-rpi --enable-mmal will be good?
[23:04:41 CEST] <JEEB> whip zlib there too for good measure if you already added omx/MMAL :)
[23:04:48 CEST] <goiko> okay
[23:04:48 CEST] <JEEB> enable-zlib
[23:09:21 CEST] <goiko> thanks, configure works (took very long btw) and now it compiles....
[23:18:35 CEST] <saml> hueheueeheueheueheue I built ffmpeg from source
[23:18:39 CEST] <saml> such power
[23:19:36 CEST] <saml> actually, build failed. never mind
[23:20:06 CEST] <saml> libavcodec/libx264.c:271:9: error: 'x264_bit_depth' undeclared (first use in this function)
[23:22:26 CEST] <JEEB> if you didn't have enable-libx264 enabled then you should clear your build root
[23:23:14 CEST] <JEEB> basically if you don't have anything interesting in the FFmpeg source directory, I would recommend doing `git clean -dfx` to clean it up, and then `mkdir -p rpi_build && cd rpi_build`
[23:23:26 CEST] <JEEB> and then you call the configure script from the top dir with ../configure instead of ./configure
[23:23:42 CEST] <JEEB> that way your build root is conveniently separate from the source root
[00:00:00 CEST] --- Tue May 22 2018
More information about the Ffmpeg-devel-irc
mailing list