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

burek burek021 at gmail.com
Tue Apr 18 03:05:02 EEST 2017


[00:00:16 CEST] <unomystEz> actually, I just found this thread
[00:00:18 CEST] <unomystEz> https://productforums.google.com/forum/#!topic/youtube/aVZ_dp7Ikt4
[00:00:25 CEST] <unomystEz> looks like many people are being affected by it even since 2011
[00:02:45 CEST] <unomystEz> ok so it looks as though they have been at this for quite some time and are actually trying to monetize this
[00:03:10 CEST] <unomystEz> I suppose I could redo my videos using different samples and music but it's kind of a pain
[00:06:19 CEST] <Tatsh> use the google-approved(tm) samples
[00:06:25 CEST] <Tatsh> :/
[00:08:55 CEST] <unomystEz> Tatsh: I suppose I'll try that
[00:08:57 CEST] <unomystEz> what a shame
[04:38:38 CEST] <djk> furq and thebomb thank you for the dual output. I'm guessing it could be any combination of output types like multiple rtmp's
[07:07:32 CEST] <techbomber> how come when i play a video with WMP  i hear  Harddrive noise
[07:31:07 CEST] <c3r1c3-Win> techbomber: that sounds like a good question for MS. They make WMP after all..
[07:32:04 CEST] <gurki> c3r1c3-Win: he seems to spam this question in a lot of channels.
[11:30:10 CEST] <thebombzen> is this going to be the new vlc bug
[12:38:04 CEST] <inflex> Dumb question most likely;  I'm re-encoding an edited MKV screen capture (1hr long, using vokoscreen), and with mp4/h264 the output is just awful or massive, with VP9 it's good quality and about the same size but takes about 2x as long to encode. Shouldn't mp4 be "just as good" as VP9?
[12:38:38 CEST] <JEEB> are you setting any parameters?
[12:38:43 CEST] <JEEB> also mp4 is a container
[12:38:50 CEST] <JEEB> H.264 or MPEG-4 Part 2 are video formats
[12:38:59 CEST] <JEEB> VP9 is a video format in the VPx family
[12:39:15 CEST] <inflex> sorry, my apologies, I was being overly terse.  the mp4 (h264+aac), vs webm(vp9+mp3)
[12:39:28 CEST] <JEEB> webm doesn't support mp3 so that's either vorbis or opus
[12:39:35 CEST] <inflex> *checks*
[12:39:44 CEST] <inflex> opus.
[12:39:58 CEST] <JEEB> anyways, command line parameters and terminal output into a pastebin or similar thing and link here
[17:29:30 CEST] <pihpah>  /usr/bin/ffmpeg -i "$INPUT" -map $VIDEO_STREAM -map $AUDIO_STREAM -c:v libx264 $audio_ops -sn -movflags faststart -strict -2 -crf 28 $scaling "$output"
[17:29:47 CEST] <pihpah> Why this command does not remove stream with subtites?
[17:30:16 CEST] <pihpah> I thought -sn option would remove any of them
[18:16:52 CEST] <zeryx> is it possible to use ffmpeg to construct a video "stream" from streaming image files at a particular fps?
[18:17:19 CEST] <zeryx> like ffmpeg -framerate 25 -i images-%05d.png -c:v libx264 -preset veryfast -crf 25 -streaming outputFile.mp4
[18:17:57 CEST] <zeryx> aka: if an image file is missing, it just spins around for a sec, and checks if the file exists
[18:18:49 CEST] <JEEB> 25
[18:19:04 CEST] <zeryx> I imagine I'll need to tell it how many frames to wait for
[18:22:00 CEST] <zeryx> but is there some kind of functionality for this inside of the binary? Or would I need to write my own from source?
[18:58:55 CEST] <c_14> zeryx: use image2pipe instead?
[18:59:08 CEST] <zeryx> oh, can ffmpeg take a pipe as an input?
[19:00:14 CEST] <zeryx> oh I see; it's a processing format
[19:00:42 CEST] <zeryx> if I push that to a file, the file would constantly grow as images come in; correct?
[19:01:31 CEST] <c_14> yeah
[19:03:06 CEST] <zeryx> is it possible to send a `halt` signal somehow when it's done?
[19:03:16 CEST] <c_14> just signal EOF
[19:03:23 CEST] <zeryx> like say "you should kill the pipe after you've recieved 623 frames"
[19:03:36 CEST] <c_14> just stop sending frames and close the pipe
[19:03:38 CEST] <zeryx> how'd you do that? bash funkyness?
[19:04:00 CEST] <c_14> depends what you're using to send the frames
[19:04:27 CEST] <c_14> if you're using bash | ffmpeg -; then just end the loop
[19:05:01 CEST] <c_14> (as in stop executing of the bash script/code) when bash closes it'll close stdout as well
[19:05:56 CEST] <c_14> (s/it/your os/)
[19:06:07 CEST] <zeryx> the files will eventually get there (they're downloading from s3 in parallel)
[19:06:09 CEST] <zeryx> ahh interesting
[19:06:29 CEST] <zeryx> the problem is; there's no real "file is finished downloading" signal that I can wait for from bash, right?
[19:06:41 CEST] <zeryx> I have that from my rust code, but I have no idea how to emit that to bash
[19:07:03 CEST] <c_14> you have rust code that receives the images?
[19:07:37 CEST] <c_14> then just write the files as you're receiving them to stdout instead of fs and execute ./rust_prog | ffmpeg -
[19:07:57 CEST] <zeryx> hmm
[19:07:59 CEST] <zeryx> interesting
[19:08:01 CEST] <zeryx> that could work
[19:08:18 CEST] <c_14> then in your rust program either close stdout or just exit normally
[19:08:19 CEST] <zeryx> and then when everything's done, just pipe `EOF` to output
[19:08:21 CEST] <zeryx> stdout*
[19:08:35 CEST] <zeryx> I've still got stuff I need to do once it's finished building
[19:08:48 CEST] <zeryx> so the EOF signal I think makes most sense
[19:08:48 CEST] <c_14> then just close the stdout stream
[19:09:25 CEST] <zeryx> https://paste.gnome.org/pqckqtms5
[19:10:02 CEST] <zeryx> that's my cat process right now; I think it'll take some significant refactoring to get that to play nice but I like the approach
[19:14:09 CEST] <c_14> apparently rust commands have a .stdin handle that you can set to Stdio::piped()
[19:14:15 CEST] <c_14> then write to the pipe and when you're done close it
[19:16:27 CEST] <zeryx> oh neat
[19:38:51 CEST] <kerio> is there going to be a size difference if i'm using bgr0 compared to rgb24 in libx264rgb
[19:38:52 CEST] <casf> hey hey -- looking for some advice on using rpath in cmake to build ffmpeg dylibs for ios
[19:39:54 CEST] <durandal_1707> kerio: nope
[19:43:18 CEST] <furq> x264 converts them all to gbrp anyway
[21:52:58 CEST] <manj-gnome> Hello, quick help will do. So i was using opencv and then always does a seg fault. I found a similar event which is same as mine: https://bugs.archlinux.org/task/53680. Rebuild(ed) opencv but still issue persists. Must be the ffmpeg lib? OpenCV: 3.2.0, ffmpeg: 1:3.3
[21:53:22 CEST] <manj-gnome> debugger says:
[21:53:23 CEST] <manj-gnome> 0x00007fffe9497370 in av_buffer_unref () from /usr/lib/libavutil.so.55
[21:56:11 CEST] <kepstin> manj-gnome: what's the full backtrace? I'm guessing it's more likely to be an error in something using ffmpeg than in ffmpeg itself.
[21:57:02 CEST] <manj-gnome> ill put into a pastebin
[21:59:37 CEST] <manj-gnome> here you go kepstin https://pastebin.com/9XXMMMiy
[22:00:16 CEST] <kepstin> manj-gnome: well, that doesn't have a backtrace in it...
[22:02:20 CEST] <manj-gnome> im so sorry, let me get you another 1
[22:02:36 CEST] <kepstin> try 'bt full' in the gdb (and see if you can install some debug symbols first). If you can reproduce the problem in valgrind that could be helpful too. Also check if this problem happens with ffmpeg 3.2, or if it's new in 3.3
[22:03:58 CEST] <kepstin> but yeah, without any other info, i'd be guessing that there's a bug in opencv's memory handling :/
[22:08:25 CEST] <manj-gnome> sorry kepstin , im new to debugging things. https://pastebin.com/dHcAYQDF
[22:09:02 CEST] <manj-gnome> ok, ill try ffmpeg 3.2
[22:41:36 CEST] <Tatsh> someone know a good ffmpeg audio filter for hiss removal?
[22:41:46 CEST] <Tatsh> dehiss, dehum type thing, perhaps a 'Dolby B' equivalent?
[22:43:32 CEST] <durandal_1707> deeser?
[22:44:36 CEST] <Tatsh> eh?
[22:45:16 CEST] <Tatsh> see this on google:  -af "highpass=f=200, lowpass=f=3000"
[22:45:26 CEST] <Tatsh> basically need to figure out the numbers
[22:46:08 CEST] <furq> sox is probably better if you need to do this on the cli
[22:46:17 CEST] <Tatsh> yes i want to automate it
[22:46:30 CEST] <Tatsh> seems i can use sox like this: http://www.zoharbabin.com/how-to-do-noise-reduction-using-ffmpeg-and-sox/
[22:46:30 CEST] <furq> http://sox.sourceforge.net/sox.html
[22:46:33 CEST] <furq> see noiseprof and noisered
[22:59:08 CEST] <durandal_1707> furq: why is sox better?i will kick you
[22:59:34 CEST] <furq> does ffmpeg have filters which do that
[23:07:24 CEST] <durandal_1707> furq: neither sox has, and sox is not much developed
[23:07:52 CEST] <furq> what about the ones i just named
[23:08:04 CEST] <furq> the ones i was asking if ffmpeg has an equivalent of
[23:08:25 CEST] <durandal_1707> they produce metalic output
[23:08:33 CEST] <durandal_1707> iirc
[23:08:55 CEST] <furq> so does audacity
[23:09:03 CEST] <atomnuker> durandal_1707: shouldn't be hard to write such a filter though, just fft a noise sample and subtract the coefficients from the fft of the actual audio
[23:09:04 CEST] <durandal_1707> there is poor audacity
[23:09:16 CEST] <Tatsh> furq, that sox thing works pretty good
[23:09:18 CEST] <furq> bandpass is probably better but it's harder to automate if you don't have the same source of noise in all clips
[23:09:19 CEST] <Tatsh> i wonder if i should go down or up
[23:09:38 CEST] <Tatsh> furq, recording from the same tape on the same equipment should almost always mean one noise profile is good enough
[23:09:52 CEST] <Tatsh> i removed all hiss from a VHS recording
[23:10:36 CEST] <durandal_1707> hmm, i had thought on porting those two filters from sox
[23:11:09 CEST] <furq> well yeah i don't particularly care about soxbut
[23:11:09 CEST] <Tatsh> if you could, even if it were 2-pass that'd be cool
[23:11:12 CEST] <furq> but sometimes it's easier
[23:11:25 CEST] <Tatsh> the process is hard to parallelise in a simple bash script :P
[23:11:35 CEST] <kepstin> 2-pass filters in ffmpeg are problematic :/
[23:11:37 CEST] <furq> xargs baby
[23:11:51 CEST] <Tatsh> sox DENOISE STUFF & ; qtgmc (same time) -> encode together
[23:12:20 CEST] <furq> qtgmc is cpu-intensive enough that you might as well just run them separately anyway
[23:12:34 CEST] <Tatsh> qtgmc i get 0.2-0.3x without hardware dec
[23:12:41 CEST] <Tatsh> on 480p
[23:12:46 CEST] <furq> that sounds about right
[23:12:51 CEST] <Tatsh> with hardware dec i get like 1x
[23:13:04 CEST] <furq> that seems like a lot for 480p
[23:13:22 CEST] <Tatsh> i can't find an acceptable quality with nvenc compared to the options i use with the software encoder
[23:13:31 CEST] <furq> oh do you mean encoding
[23:13:31 CEST] <Tatsh> and nvenc also has no lossless mode
[23:13:36 CEST] <furq> that makes sense then
[23:13:57 CEST] <furq> and yeah there's no point using something as intensive as qtgmc and then fucking it up with nvenc
[23:14:03 CEST] <furq> unless you completely don't care about bitrate
[23:14:26 CEST] <Tatsh> i have the raw sources (relatively), then i output multiple sources
[23:14:26 CEST] <furq> although i believe nvenc does do lossless
[23:14:32 CEST] <Tatsh> for DVD, that's mpeg-2 no filters
[23:14:43 CEST] <Tatsh> for bluray that's mpeg-4 progressive with qtgmc and what not
[23:14:49 CEST] <Tatsh> and for that there is a max bitrate
[23:15:12 CEST] <Tatsh> and, for youtube the max bitrate for them for 480p is 2.5 Mbps with a buffer of 5
[23:15:24 CEST] <furq> is that for youtube livestreaming
[23:15:25 CEST] <durandal_1707> use qtgmc with 4k
[23:15:29 CEST] <furq> because otherwise they reencode it regardless
[23:15:38 CEST] <Tatsh> yes of course, and i don't want those re-encodes
[23:15:43 CEST] <furq> ok
[23:15:44 CEST] <Tatsh> transcoding is evil
[23:17:13 CEST] <Tatsh> in any case, i'm outputting multiple formats, my best quality one is basically -preset veryslow -crf 23 -profile:v high -level 4.1 (because Xbox One only does 4.1) and i haven't yet discovered a close enough equivalent with nvenc
[23:17:38 CEST] <furq> you won't exceed 4.1 at 480p anyway
[23:18:12 CEST] <Tatsh> also, considering making x265 encodes for future
[23:18:17 CEST] <furq> i wouldn't bother
[23:19:04 CEST] <Tatsh> one thing i hate is that youtube doesn't say if the bitstream in total is 2.5 Mbps or if that is just the video
[23:32:39 CEST] <erick3k> Hi, quick question, how can i loop a video forever, i tried -loop:0 stream_loop:0 and doesn't work
[23:32:44 CEST] <erick3k> current command is -i "$SOURCE" -deinterlace \
[23:32:44 CEST] <erick3k>     -vcodec libx264 -pix_fmt yuv420p -preset $QUAL -r $FPS -g $(($FPS * 2)) -b:v $VBR \
[23:32:44 CEST] <erick3k>     -acodec libmp3lame -ar 44100 -threads 6 -qscale 3 -b:a 712000 -bufsize 12000k \
[23:32:44 CEST] <erick3k>     -f flv "$YOUTUBE_URL/$KEY"
[23:32:54 CEST] <Fenrirthviti> Don't paste like that directly to chat, use pastebin or gist.
[23:33:04 CEST] <erick3k> k
[23:33:18 CEST] <erick3k> https://0bin.net/paste/+a+j9Ljh7g4I2Q5p#+1l32fCmajKZcqCu9pZ8o6HuIsw8OqkubuyIfT-gV21
[23:37:11 CEST] <erick3k> anyone?
[23:37:34 CEST] <erick3k> how can i repeat an mp4 endlessly or that's not possible?
[23:40:08 CEST] <Tatsh> erick3k, you could generate the command to have many inputs -i
[23:40:25 CEST] <Tatsh> well, that is with -f concat
[23:40:30 CEST] <Tatsh> -f concat -i chunks-file
[23:40:34 CEST] <erick3k> yes, i have it exactly like that
[23:40:53 CEST] <erick3k> https://0bin.net/paste/I-UbeXA4lm1WvGI3#vjUMG2Jo0XtLwNEjGQ7lp9-MKYcStRYKtBkiHg0Vefq
[23:40:54 CEST] <Tatsh> if your chunks file just repeats the same file over and over then that should be enough?
[23:41:09 CEST] <erick3k> with a txt file list but that will eventually require hands in to repeat
[23:41:36 CEST] <erick3k> i mean thats a solution and will stick to it if there isn't a better
[23:41:46 CEST] <Tatsh> then, while true; do ... ; done
[23:41:52 CEST] <Tatsh> or while [ 1 ]; if you prefer
[23:42:08 CEST] <erick3k> that before and after the commands?
[23:42:16 CEST] <Tatsh> this is an endless bash loop
[23:42:27 CEST] <erick3k> that works hehe i guess
[23:42:31 CEST] <Tatsh> there will be a tiny hiccup every time ffmpeg restarts
[23:42:31 CEST] <erick3k> so where do i put that?
[23:42:42 CEST] <Tatsh> while [ 1 ]; ffmpeg .... ; done
[23:42:54 CEST] <Tatsh> while [ 1 ]; do ffmpeg .... ; done
[23:42:55 CEST] <Tatsh> that is
[23:42:58 CEST] <furq> that won't really work properly
[23:43:00 CEST] <erick3k> am using it for live streaming on youtube, so the hiccup will be there?
[23:43:05 CEST] <furq> the stream will drop out at the end of every loop
[23:43:22 CEST] <erick3k> so stick to the file list?
[23:43:26 CEST] <erick3k> no other solution?
[23:43:35 CEST] <furq> that works
[23:43:47 CEST] <erick3k> what happened to the -loop command?
[23:43:50 CEST] <Tatsh> you can use OBS if you want something to stay on
[23:43:53 CEST] <Tatsh> forever
[23:43:58 CEST] <furq> or you could do `while true; do cat source.ts; done | ffmpeg -f mpegts -i - ...`
[23:44:11 CEST] <BtbN> if your input file is something like mpeg ts, you can produce an endless stream of that with your shell
[23:44:15 CEST] <furq> hi
[23:44:54 CEST] <BtbN> hm, I wonder if it'd be worthwhile to add a repeat option to the concat demuxer
[23:44:56 CEST] <furq> also i see you are another person who found the insane blog which thinks -b:a 712000 is a thing
[23:45:00 CEST] <BtbN> it can't be too hard
[23:45:04 CEST] <furq> BtbN: that'd be nice
[23:45:43 CEST] <Tatsh> that is the thing; how flexible is ffmpeg to replace things like OBS
[23:45:52 CEST] <Tatsh> that would be cool
[23:46:07 CEST] <furq> not very
[23:46:07 CEST] <erick3k> i dont even know what that is
[23:46:12 CEST] <erick3k> what is 712000?
[23:46:16 CEST] <furq> the audio bitrate
[23:46:17 CEST] <Threads> a number
[23:46:21 CEST] <furq> mp3 doesn't go past 512k
[23:46:22 CEST] <erick3k> what should i use lol
[23:46:24 CEST] <furq> and that's already insane
[23:46:25 CEST] <furq> use 128k
[23:46:28 CEST] <erick3k> hehe
[23:46:38 CEST] <furq> and get rid of -qscale 3
[23:46:40 CEST] <erick3k> so 128000
[23:46:43 CEST] <erick3k> correct?
[23:46:49 CEST] <erick3k> what is qscale for?
[23:46:49 CEST] <Tatsh> just write 128k
[23:46:51 CEST] <furq> just 128k
[23:47:01 CEST] <furq> qscale is completely useless in that command because it gets overriden by -b:a
[23:47:10 CEST] <erick3k> cool thank you guys
[23:47:18 CEST] <furq> also get rid of -threads 6
[23:47:25 CEST] <Tatsh> automatic thread handling :)
[23:47:33 CEST] <Threads> 1999 called it wants its mp3's back
[23:47:38 CEST] <furq> yeah someone put -threads 6 in an example command on a blog
[23:47:48 CEST] <furq> aside from the obviously broken shit, that's just insultingly bad
[23:47:51 CEST] <erick3k> look good? https://0bin.net/paste/1sUDAU-vwfpsqGq8#+Eu67wQ8Gv29UP5qr3nhP+L8U29VG3cTH+OAY2I-Vx6
[23:47:51 CEST] <Tatsh> ffmpeg running over OBS would be great btw
[23:48:10 CEST] <furq> i mean a lot of that is probably still redundant but there's nothing totally stupid there any more
[23:48:12 CEST] <erick3k> Yes, but is a vps under linux no graphic card and only playing an mp4 loop
[23:48:19 CEST] <furq> and the redundant stuff is probably just a noop anyway so never mind
[23:48:19 CEST] <erick3k> so OBS not an option for now
[23:48:28 CEST] <Threads> O_o why mp3 with x264 ?
[23:48:30 CEST] <Threads> why not aac
[23:48:37 CEST] <Tatsh> ^
[23:48:40 CEST] <erick3k> am sorry am not an expert
[23:48:41 CEST] <furq> presumably because this blog post the command is copied from was written before 3.0
[23:48:46 CEST] <erick3k> am just helping someone
[23:48:51 CEST] <Tatsh> use -codec:a aac and nothing else
[23:48:51 CEST] <furq> if you have >3.0 then use -c:a aac
[23:48:57 CEST] <furq> otherwise stick with mp3
[23:49:04 CEST] <furq> lame is better than the pre-3.0 aac encoder and faac
[23:49:16 CEST] <erick3k> sorry what do i replace?
[23:49:22 CEST] <furq> -acodec libmp3lame
[23:49:27 CEST] <furq> -> -c:a aac
[23:49:35 CEST] <furq> if your ffmpeg is newer than 3.0
[23:49:39 CEST] <furq> otherwise don't bother
[23:49:41 CEST] <erick3k> ffmpeg version 2.8.11-0ubuntu0.16.04.1
[23:49:42 CEST] <Tatsh> trying to use the new :[vsa] flags
[23:49:44 CEST] <Tatsh> i'm old
[23:49:46 CEST] <furq> yeah stick with lame then
[23:50:27 CEST] <erick3k> ok so back to the loop thing
[23:50:42 CEST] <erick3k> you said something with while?
[23:50:46 CEST] <faLUCE> hello. Given myframe->data[0]   (YUYV422 packed, 640x480), how can I extract  Y(10,10), Cb(10,10), Cr(10,10) ?
[23:50:52 CEST] <furq> what format, codec etc is the source
[23:51:02 CEST] <faLUCE> 10 = x, 10 = y
[23:51:16 CEST] <furq> oh, also get rid of -deinterlace
[23:51:23 CEST] <erick3k> here is the batch script
[23:51:23 CEST] <erick3k> https://0bin.net/paste/dncfhVkQTxrZ3shU#ik8SrXTB7uFFapBG4TOWmz+fZH6pwORJegJ3Ff4zSxu
[23:51:43 CEST] <erick3k> furq mp4
[23:51:46 CEST] <furq> ok
[23:51:51 CEST] <furq> ffmpeg -i source.mp4 -c copy source.ts
[23:51:55 CEST] <erick3k> what is deinterlace not important?
[23:52:01 CEST] <Tatsh> youtube wants -flags +cgop
[23:52:04 CEST] <Tatsh> just so you know
[23:52:06 CEST] <furq> while true; do cat source.ts; done | ffmpeg -f mpegts -i - ...
[23:52:27 CEST] <furq> you only need to run the first command once
[23:53:05 CEST] <erick3k> just add those flags?
[23:54:26 CEST] <erick3k> furq https://0bin.net/paste/2fy5BqQ0YSIuvxNm#x9Buift1TdF03mz+CPfHvCNcrYBQo8kPzWrzL3feQPd
[23:54:28 CEST] <erick3k> like that?
[23:54:40 CEST] <furq> no, nothing like that
[23:54:56 CEST] <erick3k> hold on
[23:56:43 CEST] <erick3k> furq https://0bin.net/paste/A30Wvv3lO+5LpyY+#1ObR9p7ChuS5w+gMIOe2ez72MLqGEN3EJ9UDMyYnESC maybe?
[23:57:01 CEST] <furq> that's even further away
[23:57:31 CEST] <erick3k> sorry man am a noob at this can you help me out hehe
[23:57:44 CEST] <furq> https://0bin.net/paste/Q8Vr5aFp6+9ZXCtj#ckakuZsuI-kzSa4IkYzH7Spy5Aqd+oSUSbuvBtrTyXP
[23:58:51 CEST] <erick3k> thank you very much, source.ts should be the list?
[23:59:04 CEST] <furq> source.ts is the source file remuxed to mpegts
[23:59:33 CEST] <furq> 22:51:51 ( furq) ffmpeg -i source.mp4 -c copy source.ts
[23:59:56 CEST] <erick3k> o
[23:59:58 CEST] <erick3k> k
[00:00:00 CEST] --- Tue Apr 18 2017


More information about the Ffmpeg-devel-irc mailing list