[Ffmpeg-devel-irc] ffmpeg.log.20180612
burek
burek021 at gmail.com
Wed Jun 13 03:05:01 EEST 2018
[02:31:04 CEST] <nurupo> i keep getting "libavcodec.a(eac3_core_bsf.o):(.text+0x75): undefined reference to `ff_ac3_parse_header'" error when linking a static ffmpeg against my application, both built using mingw32-w64. any idea how to solve this?
[02:31:23 CEST] <nurupo> will pastebin how i build ffmpeg in a second...
[02:32:24 CEST] <nurupo> actually, here https://github.com/nurupo/qTox/blob/9b8933980e45e8e4d0d3aa1f37891e6b4a80a2e0/windows/cross-compile/build.sh#L427-L509
[02:33:45 CEST] <nurupo> ffmpeg itself builds fine, but apparently it's missing some ac3 symbols, even though ac3 should be disabled by default and i didn't enable it
[02:34:12 CEST] <nurupo> here is the build failure https://travis-ci.org/qTox/qTox/jobs/390927176#L3990
[02:34:36 CEST] <nurupo> that's ffmpeg 4.0 btw
[02:36:12 CEST] <nurupo> btw, i haven't been able to build static ffmpeg with mingw that links successfully with qTox starting with ffmpeg 3.3. in 3.3 "--enable-memalign-hack" flag disappered and i used to build it with that flag before, not sure if it's related
[05:57:15 CEST] <cq1> I want to have a server that aggregates a bunch of video feeds streamed to it, and I want an easy way of extracting an up-to-date still (say, the most recent frame) from any of the given feeds. Is ffserver reasonable for this?
[05:57:55 CEST] <cq1> Is there some easier way to do this than to hit the server and start streaming a given feed, and then just shut down my end of the socket the moment I get a complete I frame?
[10:56:10 CEST] <fsphil> I don't suppose there's a handy flag I can set somewhere to tell the ffmpeg library to do all the av-sync for me? :)
[11:02:57 CEST] <BtbN> There's not enough AI to do that for you.
[11:07:52 CEST] <cq1> Hey, not a bad ML project, though. Give a network lots of 10 second clips of downsampled video+audio clips that have been randomly shifted by +/- 100 ms from each other and train it to output the delta to align them.
[11:10:17 CEST] <squ> what for
[14:36:05 CEST] <analogical> is it possible to use FFMPEG to demux a video into separate tracks?
[14:36:12 CEST] <JEEB> yes
[14:36:30 CEST] <JEEB> I mean the API returns you AVPackets for each stream as they come in from the input
[14:37:57 CEST] <analogical> what's the easies way to split a video into to all the containing tracks?
[14:41:43 CEST] <furq> analogical: if you mean with the cli then there's no automatic way of doing it
[14:41:54 CEST] <furq> you need to know the number of tracks and (probably) the codec of each stream
[15:23:36 CEST] <Hello71> nb_streams=$(ffprobe -show_format x | awk -F= '/nb_streams/ { print $2 }'); ffmpeg -i x -c copy -map $(for ((i=0;i<nb_streams;i++)); do printf "-map 0:$i $i.mkv "; done)
[15:23:40 CEST] <Hello71> untested, probably eats your babies
[15:29:14 CEST] <analogical> jesus that's a mean command line
[15:29:48 CEST] <Guest72980> Hi, I'm testing ffmpeg with srt: "srt://10.10.56.45:5555?mode=listener&mss=1316&pkt_size=1316&send_buffer_size=1316&ffs=1316", I got error SRT.c: LiveSmoother: payload size: 7708 exceeds maximum allowed 1316
[15:30:14 CEST] <Guest72980> Is there any other options I should pass?
[15:32:32 CEST] <Guest72980> relevant to https://trac.ffmpeg.org/ticket/7187
[15:32:47 CEST] <Guest72980> not sure if it's still a bug
[15:38:24 CEST] <furq> analogical: http://vpaste.net/F7Lh2
[15:38:58 CEST] <furq> you can clearly tell from the time delta and the fact that i ended up using eval that i have just been through a whole lot of great fun with shell quoting
[15:39:48 CEST] <kiloreux> How can I use buildEnv to install a nix expression with nix-env ?
[15:40:01 CEST] <kiloreux> It seems it's exclusive to nix-build
[15:40:16 CEST] <furq> are you in the right channel
[15:40:49 CEST] <kiloreux> I am absolutely not furq
[15:40:51 CEST] <kiloreux> Sorry
[15:41:15 CEST] <furq> that's fine it takes some of the heat off me for using eval in a shell script
[15:41:45 CEST] <furq> it's not even posix compatible. i'll never live this down
[15:44:03 CEST] <Hello71> I dno't get it, why do you need eval
[15:44:39 CEST] <furq> because otherwise the output of printf keeps acquiring mysterious single quotes
[15:44:46 CEST] <furq> it makes no sense to me either
[15:45:15 CEST] <Hello71> also as long as you're using bash, read -rd $'\n' a b
[15:45:27 CEST] <Hello71> now that I think about it IFS=$'\n' might work too
[15:45:37 CEST] <furq> a and b are on separate lines though
[15:46:00 CEST] <furq> otherwise just read -r a b would work
[15:51:29 CEST] <kepstin> hmm. extracting h264 to raw bitstream like that can be problematic, because you lose frame timing.
[16:00:41 CEST] <Hello71> what was wrong with my solution though
[16:01:05 CEST] <Hello71> oh, "demus"
[16:01:08 CEST] <furq> i was already trying to fix mine when you posted yours
[16:01:15 CEST] <furq> so mostly grim determination
[16:01:56 CEST] <furq> although you don't need to use awk, just ffprobe -show_entries format=nb_streams -of default=nk=1:nw=1
[16:07:39 CEST] <Hello71> ffmpeg formatting is too complicated
[16:08:00 CEST] <Hello71> I rewrote my shell script in C so I wouldn't have to deal with it
[16:42:44 CEST] <SpeakerToMeat> is there any way to play video with ffmpeg if I don't have ffplay?
[16:44:09 CEST] <kepstin> SpeakerToMeat: use another player that links to ffmpeg libraries, like say mpv? :)
[16:44:42 CEST] <kepstin> (you can tell ffmpeg to send audio/video to speakers/screen, but it doesn't have any a/v sync code so the result is kinda poor)
[16:45:32 CEST] <SpeakerToMeat> hmph.
[16:45:35 CEST] <SpeakerToMeat> thanks kepstin
[16:46:01 CEST] <SpeakerToMeat> I'm using John Vansickle's static build on centos in a server, but I'll see what I can pull
[16:46:30 CEST] <kepstin> yeah, you might be out of luck there. honestly i'd just suggest building ffmpeg yourself
[16:46:36 CEST] <kepstin> so you can get ffplay or whatever
[16:47:19 CEST] <SpeakerToMeat> sigh
[16:47:21 CEST] <SpeakerToMeat> I wanted to avoid that, but it mioght end up beign my reality
[16:48:15 CEST] <SpeakerToMeat> I might use ffserver for what I would've used ffplay for
[16:50:05 CEST] <kepstin> SpeakerToMeat: for a simple point-to-point network stream, you don't even need ffserver.
[16:51:52 CEST] <SpeakerToMeat> yeah I'm seeyign that.
[16:58:56 CEST] <Ducky^> hi all, I'm trying to cut a portion of video from a very large video file (18GB about 72 hours of recording)
[16:59:14 CEST] <Ducky^> I use the command ffmpeg -ss 08:34:00 -i input.mp4 -strict -2 -t 1:00:00 output.mp4
[16:59:24 CEST] <Ducky^> but it seems to take out a completely different part of the video
[16:59:50 CEST] <Ducky^> is there a better way? if I put the -ss after the input file, it takes far too long to cut it as it seeks through the entire start
[16:59:59 CEST] <kepstin> Ducky^: why the '-strict -2'? that enables experimental stuff, you generally don't want to do that.
[17:00:19 CEST] <kepstin> (i guess you might be using an out of date ffmpeg and want to use the aac encoder?)
[17:00:50 CEST] <Ducky^> kepstin: actually I don't need that bit anymore, I was running it on a sever with an old ffmpeg but I'm now running it on my local machine
[17:01:05 CEST] <kepstin> Ducky^: anyways, what's the section of video you want? That should be grabbing 1 hour of video starting at 8 hours 34 minutes in.
[17:01:46 CEST] <Ducky^> kepstin: that's right. if I play the video in mpv, 08:34:00 is what the seek bar says at the point I want to start cutting
[17:01:57 CEST] <xmflrmsjf> Hello I just installed ffmpeg but when I run configure, I get this 'WARNING: pkg-config not found, library detection may fail.' what can I do with this
[17:02:46 CEST] <kepstin> xmflrmsjf: er, you haven't installed anything, you've so far downloaded and extracted the source. What OS, and if Linux, what distro?
[17:03:20 CEST] <xmflrmsjf> Mac OS
[17:04:04 CEST] <kepstin> xmflrmsjf: to compile ffmpeg, you're gonna need a bunch of development tools. You might be better off looking for a packaged version.
[17:04:27 CEST] <kepstin> xmflrmsjf: there's some prebuilt binaries linked to from the ffmpeg downloads page, or consider using homebrew instead.
[17:05:49 CEST] <xmflrmsjf> kristin: ohh thank you. I'll try.
[17:10:19 CEST] <kepstin> Ducky^: very strange, that should be working. ffmpeg should have no issue accurately seeking in mp4 files.
[17:11:05 CEST] <JEEB> maybe with fragmented stuff, under some circuimstances?
[17:11:20 CEST] <JEEB> not fully sure how it creates an index for itself in that case
[17:11:29 CEST] <kepstin> Ducky^: what do you get with 'ffprobe -show_format input.mp4' ?
[17:11:44 CEST] <kepstin> I'd like to see what it thinks of the file start time and duration.
[17:11:46 CEST] <JEEB> although I've been able to play ISMV files which are basically fragmented ISOBMFF with crappy MS-specific timestamp boxes
[17:11:55 CEST] <JEEB> (and seek in)
[17:12:17 CEST] <sh4rm4^bnc> hi, i just noticed "ffplay" is missing from my ffmpeg build. i didn't pass --disable-ffplay, so what could have gone wrong ?
[17:12:42 CEST] <kepstin> sh4rm4^bnc: you probably don't have SDL2 dev packages installed.
[17:13:04 CEST] <sh4rm4^bnc> oh, it needs that ? i thought it'd work with SDL1
[17:13:22 CEST] <JEEB> nah, it was switched to 2 some time ago
[17:13:31 CEST] <JEEB> maybe half a year ago? not sure
[17:13:33 CEST] <JEEB> maybe even more
[17:19:45 CEST] <Ducky^> kepstin: https://paste.pound-python.org/show/l1mpYJ2Q8AhDCqvdoPsE/
[17:20:16 CEST] <kepstin> Ducky^: that's, uh, not an mp4 file
[17:20:42 CEST] <kepstin> seeking in mpeg-ts is a pain since it has no seek index and timestamps can jump or wrap
[17:21:31 CEST] <kepstin> if you have the disk space, I'd consider remuxing the mpeg-ts file to mkv or something, then using that as input.
[17:25:42 CEST] <transhuman> kepstin, https://www.youtube.com/watch?v=oPxdWW0-uZE&feature=youtu.be
[17:26:29 CEST] <transhuman> crap I have to run bbl
[17:31:52 CEST] <michal_f> hello everybody. can ffmpeg output video from and EDL file? EDL contains many sequences of JPEGs ...
[17:31:55 CEST] <michal_f> is it possible ?
[17:32:11 CEST] <michal_f> * from _an_ EDL file *
[17:50:35 CEST] <furq> are the stream indices returned by ffprobe guaranteed to be sequential from 0..n and returned in order
[17:58:59 CEST] <Ducky^> kepstin: it worked! thanks!
[19:58:42 CEST] <Guest94458> hello, I think I'm getting a bug in the ffmpeg filter graph syntax but want to be sure: https://pastebin.com/FCXZdYb3
[19:59:27 CEST] <Guest94458> it keeps telling me "Please specify output transfer characteristics" even though that is clearly set with the "trc" option in the parameters
[20:09:27 CEST] <kepstin> Guest94458: please paste the full output log
[20:10:49 CEST] <furq> i get the same thing
[20:10:54 CEST] <furq> Guest94458: looks like you need to set space as well
[20:10:58 CEST] <furq> bye
[20:17:38 CEST] <Darxus> h264 is the codec recommended by youtube. I think youtube is generally extremely relevant to video encoding? The only mention of youtube on https://trac.ffmpeg.org/wiki/Encode/H.264 is saying that faststart is not necessary for uploading to youtube, which is true, BUT, youtube recommends you use faststart, so they can start re-encoding before you finish uploading. So this frustrates me.
[20:18:16 CEST] <Darxus> Any objection to me editing that page to add "Youtube recommends using faststart, so it can begin re-encoding before uploading is completed."?
[20:19:16 CEST] <nicolas17> well
[20:19:28 CEST] <nicolas17> it's not required in the sense that "allow the video to begin playing before it is completely downloaded by the viewer" doesn't apply
[20:19:44 CEST] <nicolas17> so yours seems like a good clarification, but the current text isn't *wrong*
[20:19:56 CEST] <Darxus> I totally agree.
[20:20:15 CEST] <Darxus> It's not wrong, it's just opposite of a good recommendation.
[20:21:14 CEST] <vlambda> Sorry guys, my internet kicked me out and I didnt see the answer above
[20:27:34 CEST] <Darxus> I made that change: https://trac.ffmpeg.org/wiki/Encode/H.264#AdditionalInformationTips
[20:49:41 CEST] <fooman2011> Hello. Could you please tell me if there is a way to remove all metadata from a file without reencode it ?
[20:50:17 CEST] <Mavrik> yp
[20:50:24 CEST] <nicolas17> well, you can remux it with -acodec copy -vcodec copy
[20:50:37 CEST] <Mavrik> ffmpeg <input>.ext -map_metadata -1 -codec copy <output>.ext
[20:50:44 CEST] <Mavrik> It'll remux but not reencode file
[20:50:56 CEST] <furq> you probably want -map 0 as well
[20:51:10 CEST] <fooman2011> mmh... i'm looking for the less intrusive way
[20:51:31 CEST] <fooman2011> it seems that there are no command line tools that do that...
[20:51:41 CEST] <nicolas17> define "less intrusive"
[20:51:49 CEST] <Mavrik> How are you going to remove data from file without modifying the file? :)
[20:52:01 CEST] <fooman2011> nicolas17: 0 risk to alter the file
[20:52:01 CEST] <furq> i assume modifying the file is what he wants
[20:52:05 CEST] <furq> oh
[20:52:13 CEST] <furq> fooman2011: ffmpeg won't ever modify the file inplace
[20:52:42 CEST] <fooman2011> I don't know what is the diff between remux and reencode but I have tried the remux and it's a long process, so it should do a lot of thing
[20:52:43 CEST] <fooman2011> s
[20:52:50 CEST] <furq> remuxing is not a long process
[20:52:57 CEST] <fooman2011> mm..
[20:53:03 CEST] <furq> it's literally just copying the streams into a new container
[20:53:09 CEST] <furq> the only bottleneck is your disk speed
[20:53:25 CEST] <fooman2011> I have tryied this: ffmpeg -i input.avi -acodec copy -vcodec copy -map_metadata -1 test.avi
[20:53:45 CEST] <fooman2011> a cp input.avi output.avi is fast
[20:53:53 CEST] <fooman2011> but remux is slow
[20:54:17 CEST] <fooman2011> maybe be I do something wrong
[20:54:26 CEST] <furq> how slow are we talking here
[20:54:27 CEST] <nicolas17> hm
[20:54:43 CEST] <fooman2011> hold on I chrono
[20:54:44 CEST] <nicolas17> I wonder if ffmpeg uses fsync
[20:54:56 CEST] <nicolas17> fooman2011: use 'time cp input.avi output.avi'
[20:55:02 CEST] <nicolas17> and same for ffmpeg
[20:56:40 CEST] <fooman2011> already 90sec and it is not finished
[20:57:07 CEST] <furq> how fast does the ffmpeg status line say it's running
[20:57:22 CEST] <fooman2011> frame= 4664 fps= 32 q=-1.0 size= 189696kB time=194.40 bitrate=7993.7kbits/s
[20:57:39 CEST] <furq> yeah that's not right
[20:57:57 CEST] <fooman2011> I cancel it
[20:58:24 CEST] <furq> try `ffmpeg -i input.avi -c copy -map 0 -map_metadata -1 test.avi`
[20:58:28 CEST] <durandal_1707> that is outdated version
[20:58:30 CEST] <nicolas17> 32fps?
[20:58:49 CEST] <furq> also yeah if you don't have the relative to realtime counter at the end then it's an old version
[20:59:10 CEST] <nicolas17> I get like 5000fps and the disk is the bottleneck
[20:59:16 CEST] <furq> ^
[20:59:52 CEST] <nicolas17> it slows down when the writeback cache gets full
[21:00:13 CEST] <nicolas17> ffmpeg -version?
[21:00:41 CEST] <fooman2011> ffmpeg version 0.8.21-6:0.8.21-0+deb7u1
[21:00:48 CEST] <furq> oh wow that's really old
[21:00:59 CEST] <fooman2011> I can't change the version :/
[21:01:03 CEST] <furq> sure you can
[21:01:05 CEST] <nicolas17> dude
[21:01:08 CEST] <nicolas17> you're on oldoldstable?
[21:01:09 CEST] <furq> https://www.johnvansickle.com/ffmpeg/
[21:01:28 CEST] <furq> although yeah you really shouldn't be on wheezy any more
[21:01:34 CEST] <furq> but that's a topic for a different channel
[21:02:12 CEST] <kepstin> weird, that's very slow for a copy. Can you pastebin your full command-line output? There's maybe a typo and it's doing some encoding or something.
[21:02:25 CEST] <nicolas17> oh
[21:02:49 CEST] <nicolas17> fooman2011: I think you're also using a ffmpeg from libav
[21:03:05 CEST] <furq> yeah
[21:03:56 CEST] <fooman2011> furq, i'm untar the release from your link
[21:11:54 CEST] <fooman2011> Ok with the new version it is faster
[21:12:42 CEST] <fooman2011> But could you please explain me why before removing metadata the video file size is: 319818702bytes and after is 342858100bytes ?
[21:13:18 CEST] <nicolas17> I wouldn't be surprised if the file gets bigger, but that's too much difference
[21:14:03 CEST] <furq> i have no idea when it comes to the avi muxer
[21:14:18 CEST] <furq> ideally you should remux to something better
[21:14:25 CEST] <nicolas17> 22MB bigger
[21:14:51 CEST] <fooman2011> it's not an avi
[21:14:58 CEST] <fooman2011> it's an mp4, the extensions are wrong
[21:15:08 CEST] <nicolas17> the new file is an avi
[21:15:36 CEST] <Mavrik> Yeah, if you tell ffmpeg to create an AVI, it'll create an AVI >D
[21:15:39 CEST] <fooman2011> oh... there is a way to tell to ffmeg to keep the file format ?
[21:15:46 CEST] <Mavrik> Name it properly.
[21:16:00 CEST] <fooman2011> I don't know the encoding format of the video...
[21:16:20 CEST] <Mavrik> Why are your mp4s wrongly named in the first place?
[21:16:30 CEST] <nicolas17> it may auto-detect the input format, but for output you told it to create an .avi file so it will use the avi muxer
[21:16:33 CEST] <furq> if in doubt just mux it to mkv
[21:16:33 CEST] <fooman2011> Because a noob named it
[21:16:39 CEST] <furq> mkv supports more or less everything
[21:16:39 CEST] <nicolas17> unless you explicitly tell it otherwise with -f
[21:16:56 CEST] <furq> that should also get rid of the excessive container overhead
[21:17:08 CEST] <nicolas17> output to a .mp4 and rename it later if you really want to use wrong extensions
[21:17:20 CEST] <fooman2011> ffmpeg can't generate a file using the same container as input ?
[21:18:43 CEST] <nicolas17> there are formats for which it only has a demuxer, what would "-f same-as-input" do, give an error?
[21:20:24 CEST] <kepstin> it probably wouldn't be that hard to add an option to the ffmpeg cli tool to select the same output format as input format, but it's such a rare thing to want to do when detection by filename is much less surprising.
[21:20:45 CEST] <kepstin> you can always write a script that probes the input file and then sets the output format, too.
[21:21:09 CEST] <transhuman> Hi! kepstin sorry to be a real pest, I wont bug you again I promise, any thoughts on the problem that I am having?
[21:21:21 CEST] <fooman2011> In fact I don't understand why a new file must be generated while I just want to remove metadata.
[21:21:22 CEST] <kepstin> transhuman: haven't had any time to take a look.
[21:21:48 CEST] <transhuman> oh I see, ok well thank you I have posted a question on the mailing list anyways
[21:21:56 CEST] <kepstin> fooman2011: ffmpeg doesn't support in-place file modification (and it's hard to do in most video file formats)
[21:22:18 CEST] <Mavrik> For most video formats you can't just remove a piece of data and leave a hole.
[21:22:21 CEST] <Mavrik> And still expect it to be valid.
[21:22:48 CEST] <fooman2011> kepstin and Mavrik: yep taht is what I see.
[21:23:19 CEST] <fooman2011> I seems to be a simple task but in fact it's complicated
[21:23:56 CEST] <nicolas17> offtopic, does anyone know if I can trim the end off a YouTube video without re-uploading it?
[21:24:00 CEST] <kepstin> there's a few music file formats that are specially designed to allow in-place metadata modification, usually by either putting the metadata on the end of the file (ID3) or by supporting padding.
[21:24:20 CEST] <kepstin> nicolas17: i wouldn't be surprised if the editor in the yt video manager lets you do that.
[21:24:50 CEST] <Mavrik> Yeah there are a few formats, but they also rely on appending updated data.
[21:25:01 CEST] <Mavrik> Which apparently is also a problem :P
[21:26:00 CEST] <nicolas17> it's a 3-hour video that took me like 6 hours to encode and 6 hours to upload and now I notice it's 1 minute too long x_x
[21:26:04 CEST] <kepstin> you get fun stuff when you try to add more metadata than fits in the existing padding, then you usually need to do a full file rewrite :)
[21:26:36 CEST] <Mavrik> :)
[21:27:18 CEST] <kepstin> nicolas17: open the video in the video manager, click 'enhancements' tab, 'trim' in the bottom right.
[21:27:22 CEST] <Mavrik> nicolas17, there's a crop option in video editor on youtubbe :)
[21:27:44 CEST] <fooman2011> thanks for your help guys :)
[21:30:10 CEST] <nicolas17> ouch
[21:30:43 CEST] <nicolas17> I 'divided' the video at the point I wanted, but the 1 minute chunk is so tiny relative to the rest of the video that it was really hard to select it so I could delete it
[22:01:31 CEST] <Mavrik> Joy of web UIs.
[22:02:35 CEST] <nicolas17> I guess youtube is reencoding the whole thing now
[22:02:40 CEST] <nicolas17> into its billion formats
[22:39:30 CEST] <saml> is 4k good?
[22:39:44 CEST] <saml> how can i do web scale massive 4k encoding?
[22:40:17 CEST] <saml> why is 4k x264 bad? cause output size is much larger than x265?
[22:40:58 CEST] <fooman2011> re all. what should be the output extension if I want the format: format_name=matroska,webm ?
[22:41:50 CEST] <saml> ah looks like 4k is all about vp9
[22:42:03 CEST] <saml> fooman2011, you can use .mkv
[22:42:25 CEST] <fooman2011> saml ok thanks
[22:42:49 CEST] <saml> i've seen .webm as well
[23:17:03 CEST] <relaxed> saml: use webm for vp9
[23:17:33 CEST] <saml> yeah i am going to use webm for 4k vp9
[23:17:36 CEST] <saml> and dash
[23:17:42 CEST] <saml> i'm gonna be hip
[23:18:06 CEST] <saml> is it okay to use webm vp9 dash but lower resolution like 720p?
[23:19:07 CEST] <furq> you'll have plenty of time to decide
[23:20:11 CEST] <saml> with chunked encoding, i can massive parallel so it only takes a fraction of a second
[23:21:24 CEST] <transhuman> kepstin , I decided to try -preset veryslow to see if encoding it slower would help, actually seemed to make it worse!
[23:28:32 CEST] <AyrA> Hi. I'm having trouble concatenating MP4 video files. It does work but is very slow because it looks like ffmpeg reads every input file twice. Command: https://pastebin.com/LS9eXMBy
[23:29:12 CEST] <AyrA> I was wondering if there is a way to avoid this because it almost doubles encoding time
[00:00:00 CEST] --- Wed Jun 13 2018
More information about the Ffmpeg-devel-irc
mailing list