[Ffmpeg-devel-irc] ffmpeg.log.20180813
burek
burek021 at gmail.com
Tue Aug 14 03:05:02 EEST 2018
[00:01:19 CEST] <Obliterous> reasonable enough. :-)
[00:01:48 CEST] <Obliterous> dont suppose you know the required version of NASM?
[00:06:26 CEST] <furq> apparently 2.13
[00:07:53 CEST] <Obliterous> that would explain my current issue... Time to compile tools to allow me to compile tools...
[00:31:43 CEST] <Obliterous> Ja, that fixed the issue. am compiling now.
[02:28:06 CEST] <Hello71> emerge ffmpeg
[02:28:13 CEST] <Hello71> *emerge emerge
[12:06:42 CEST] <barhom> I have an incoming http stream that I convert to HLS, I would like to copy the stream but still make the segment lengths exact. How can I achieve that?
[12:06:59 CEST] <barhom> I understand that it might problametic with getting keyframes in the beginning of a segment
[12:11:12 CEST] <ayohmang> nasm/yasm not found or too old. Use --disable-x86asm for a crippled build. (solaris 11.3 x86_64)
[12:11:46 CEST] <BtbN> Well, looks like your nasm and/or yasm is too old or not found.
[12:12:41 CEST] <BtbN> barhom, you can always set hls_flags split_by_time, and it will split by time no matter what, possibly producing half-broken segments.
[12:13:24 CEST] <barhom> BtbN: Thanks, I will try this.
[12:13:43 CEST] <bencoh> or you you rely on the fact that the stream was encoded with fixed-size GOPs
[12:14:00 CEST] <barhom> BtbN: I contacted the person who is doing the initial transcode (The person providing the http input), he does use fixed 100 GOP and outputs to UDP
[12:14:06 CEST] <BtbN> That's usually what you do for HLS, yes
[12:14:06 CEST] <barhom> with 25 fps
[12:14:23 CEST] <BtbN> That should be nice and even 4 second segments
[12:14:28 CEST] <barhom> but getting his output via HTTP is not producing be exact 4 second segments
[12:15:02 CEST] <barhom> is it a problem created because my input is HTTP?
[12:15:21 CEST] <BtbN> The hls muxer never knows that anyway.
[12:17:19 CEST] <barhom> What tool can I use to find out what the GOP is when I dont know what the source is?
[12:17:26 CEST] <BtbN> ffmpeg
[12:17:42 CEST] <barhom> BtbN: Just great, any info about the command? ;)
[12:18:01 CEST] <BtbN> ffprobe with -show_frames
[12:18:09 CEST] <BtbN> It should display the frame type
[12:18:15 CEST] <BtbN> And then you just count
[12:20:03 CEST] <barhom> so each frame is the gop/keyframe, I need to find out the time between them
[12:20:18 CEST] <BtbN> no, each frame is a frame.
[12:20:44 CEST] <BtbN> You just count from I to last frame before next I
[13:43:20 CEST] <ayohmang> which corrent gnu sed should i refer ? still got this error , sed: illegal option -- E. i'm compiling on solaris 11.3 x86_64
[13:43:35 CEST] <ayohmang> correct*
[15:19:57 CEST] <Nacht> I've got a stream with a seperate video and audio stream which I merge to one muliplexer stream. However, now it's making video packets with a total of 1 PTS. Any clue how I can prevent that ? I tried copyts but that didn't do much
[15:20:19 CEST] <Nacht> So for example, it has a package of 3600, then 1, then 7200
[15:55:53 CEST] <DHE> Nacht: out of order PTS is normal for many codecs, including H264 with b-rames
[15:56:28 CEST] <DHE> DTS is what matters and must be sequential. or if you really need sequential PTS, disable bframes (usually discouraged with h264 for quality/bitrate reasons)
[16:00:54 CEST] <linux8659> Hi , hoe do I run a ffmpeg command that would apply to all files in the pwd???
[16:09:14 CEST] <DHE> you don't. you script it with your shell/cli
[16:12:09 CEST] <linux8659> dhw how do I do that ??
[16:12:33 CEST] <linux8659> for instance : ffmpeg -c:v copy -af "highpass=f=200, lowpass=f=3000"
[16:13:12 CEST] <DHE> I'm going to assume you're on linux, and hence bash...
[16:13:32 CEST] <linux8659> dhe YES
[16:13:53 CEST] <DHE> something like: for input in *.mpv; do ffmpeg -i "file:$input" -c copy -af ".." "file:processeddir/$input"
[16:14:49 CEST] <linux8659> DHE THANKS ,will try
[16:18:19 CEST] <linux8659> dhe does not seem to work , did : for input in *.mp4; do ffmpeg -i "file:$input" -c:v copy -af "highpass=f=200, lowpass=f=3000" "file:processeddir/$input"
[16:20:16 CEST] <TheAMM> for x in *; do echo $x; done
[16:22:05 CEST] <linux8659> TheAMM where do I insert the ffmpeg command in that??
[16:22:42 CEST] <TheAMM> It was a barebones bash for-loop example to hint what you're missing
[16:23:45 CEST] <linux8659> sorry I m new to this ,also I know the ffmpeg commands I need ,I don t know how to automate it
[16:24:34 CEST] <TheAMM> I know you're new to this, which is why I try to lower the bar little by little instead of kissing the ground
[16:24:45 CEST] <TheAMM> It's better to learn than be told the answer, but what can you do
[16:24:49 CEST] <TheAMM> You're missing "; done"
[16:25:06 CEST] <TheAMM> And don't quote that
[16:25:32 CEST] <linux8659> TheAMM thanks I ll try
[16:28:44 CEST] <linux8659> TheAMM it tried but for each file in the folder it said in red:
[16:28:52 CEST] <linux8659> file:processeddir/88914.mp4: No such file or directory
[16:29:29 CEST] <linux8659> for input in *.mp4; do ffmpeg -i "file:$input" -c:v copy -af "highpass=f=200, lowpass=f=3000" "file:processeddir/$input" ; done
[16:29:49 CEST] <TheAMM> Make sure the directory exists, remove the "file:"
[16:29:50 CEST] <relaxed> mkdir processeddir
[16:29:56 CEST] <TheAMM> I thought you knew the command worked
[16:30:43 CEST] <linux8659> yes it works when I do it on one file (-i filename.mp4)
[16:30:49 CEST] <linux8659> a sec
[16:33:17 CEST] <linux8659> removed :file in both places ,same error
[16:33:55 CEST] <relaxed> did you create the processeddir directory?
[16:34:20 CEST] <linux8659> no
[16:34:36 CEST] <linux8659> sorry thanks for your patience guys !!I ll try
[16:36:35 CEST] <linux8659> relaxed thank you so much ,works fine
[16:39:03 CEST] <linux8659> while I m here , any option in ffmpeg to choose how many cores of the cpu are used for encoding???
[16:39:40 CEST] <DHE> -threads 4 # before the output
[16:39:48 CEST] <linux8659> when I encode videos it uses my 4 cores ,when I convert one audio file into another format it uses only one core
[16:40:01 CEST] <DHE> audio encoders tend to be single-threaded. video encoders tend to be multithreaded
[16:40:42 CEST] <linux8659> DHE but -threads 4 before the output would work for audio files?
[16:42:42 CEST] <DHE> the audio encoder isn't multithreaded. it doesn't help
[16:42:56 CEST] <DHE> you'd have to encode 4 files at the same time with 4 different copies of ffmpeg running simultaneously
[16:43:14 CEST] <linux8659> DHE good to know ,thanks for everything!
[16:44:05 CEST] <linux8659> yes this is what I do ,have several instances running
[16:55:20 CEST] <DHE> oops sorry about the ;done thing...
[16:59:43 CEST] <Nacht> DHE: I don't mind the order being off. It's just that it takes in a stream which has gaps of 3600 TS (wether it be PTS or DTS) and makes it into a stream with gaps of (3600, 3599, 7199, 7200 and 1)
[17:00:05 CEST] <Nacht> I'm trying to figure out why it is suddenly creating the 1-off gaps
[17:00:33 CEST] <linux8659> DHE no worries and THANKS ,on the #bash freenode they didn t have the patience for a newbie like me!
[17:03:56 CEST] <kepstin> Nacht: with an encoder that re-orders frames, the only thing that the dts values have to do is be in order that you feed them to the decoder. the gap between the numbers is meaningless.
[17:05:10 CEST] <DHE> yeah, if you configured the encoder correctly then you should just roll with the timestamps it gives you. I don't think there's really a meaning to the exact values of dts other than the ordering and requirement dts <= pts
[17:07:03 CEST] <kepstin> as long as the pts values are fine (after reordering), the video will play back correctly.
[17:24:36 CEST] <timokau[m]> Is there a way to do stream selection on image-based subtitles? I want to exclude those. If thats not possible, can I do stream-selection based on format?
[17:26:59 CEST] <DHE> I don't think there's conditional stream selection like that. you should run ffprobe to scan the file, make your own decision and produce a suitable ffmpeg command for it.
[17:29:06 CEST] <timokau[m]> DHE: Thanks, thats unfortunate. And there is no way to ignore streams on encode failure either right? Basically I just want to transform subtitles to srt, without caring too much about losing some if they cannot be encoded.
[17:30:09 CEST] <DHE> ffprobe has options for machine-parsable output and describing specific streams. this is very shell-scriptable
[17:30:37 CEST] <DHE> or maybe just retry with a second set of options if the first try fails? not as consistent but might be good enough
[17:31:14 CEST] <timokau[m]> Okay, I'll look into that. Thank you :)
[21:52:50 CEST] <m_saba01> hey folks, i'm trying to convert a set of images into a video using minterpolate. The images are supposed to be at 15 fps; the resulting video should play at 60 fps
[21:53:39 CEST] <m_saba01> i actually do get a 60 fps video but there's no interpolation going on. frames are simply being repeated
[21:54:07 CEST] <durandal_1707> m_saba01: pastebin full uncut ffmpeg command and output
[21:57:36 CEST] <m_saba01> volià: https://pastebin.com/TphcKf7w
[21:58:32 CEST] <Cracki> m_saba01, why did you not set any arguments to minterpolate?
[21:59:08 CEST] <Cracki> (except for fps...)
[22:01:19 CEST] <m_saba01> -filter "minterpolate='fps = 60 : mi_mode = blend : scd = none : scd_threshold = 100" \
[22:02:17 CEST] <m_saba01> that was my inital attempt. same result
[22:02:17 CEST] <durandal_1707> that mi_mode will not do much
[22:02:17 CEST] <durandal_1707> have you read filter docs?
[22:03:59 CEST] <Cracki> those don't say why "blend" wouldn't work here https://ffmpeg.org/ffmpeg-filters.html#minterpolate
[22:04:45 CEST] <durandal_1707> blend works fine, it does not repeats frames
[22:05:06 CEST] <Cracki> so it *does* do a linear blend even for rate increase?
[22:05:21 CEST] <Cracki> why did you then say that "that mi_mode will not do much"
[22:06:14 CEST] <durandal_1707> you want mci
[22:06:29 CEST] <durandal_1707> mi_mode=mci
[22:06:41 CEST] <Cracki> sure he does, if he wants smooth motion instead of blended frames
[22:06:53 CEST] <Cracki> still, what did you mean by "will not do much"?
[22:08:57 CEST] <durandal_1707> to eyes
[22:09:31 CEST] <Cracki> of course
[22:09:43 CEST] <m_saba01> I'm looking specifically for linear blending of frames. I do not need the more advanced alternatives
[22:09:54 CEST] <Cracki> well, the blend effect will be visible and distinguishable from nearest neighbor or motion interpolation
[22:10:31 CEST] <kepstin> m_saba01: for simple linear blending, you probably want the 'framerate' filter, not minterpolate.
[22:10:56 CEST] <kepstin> although I suppose minterpolate can do it if configured appropriately
[22:11:50 CEST] <kepstin> depending on input material, you might also need to disable scene cut detection if you use minterpolate
[22:12:41 CEST] <kepstin> actually, that applies to the framerate filter too :)
[22:15:57 CEST] <m_saba01> scd is set to none. I've also set scd_threshold to 100 even though I'm not quite sure what this parameters does
[22:22:29 CEST] <Bombo> does this work for anyone maybe with newer ffmpeg? 'ffmpeg -i input.flac -sample_fmt s16 -ar 48000 output.flac'
[22:22:44 CEST] <durandal_1707> m_saba01: have you set input fps with -frame_rate ?
[22:23:03 CEST] <Bombo> with ffmpeg version 3.2.12-1~deb9u1 i get just one second encoded
[22:23:25 CEST] <durandal_1707> Bombo: have same happens when decoding to wav?
[22:23:29 CEST] <Bombo> size= 57kB time=00:00:00.76 bitrate= 612.0kbits/s speed= 22x
[22:23:33 CEST] <Bombo> not even 1s
[22:23:49 CEST] <durandal_1707> if yes, upload sample somewhere and link it to trac.ffmpeg.org
[22:24:06 CEST] <Bombo> Stream #0:0 -> #0:0 (flac (native) -> pcm_s16le (native))
[22:24:13 CEST] <Bombo> yes same
[22:24:41 CEST] <durandal_1707> Bombo: you actuall is it long, and size of flac is?
[22:24:41 CEST] <Bombo> i'll try to compile a newer ffmpeg then
[22:24:44 CEST] <kepstin> Bombo: i'm guessing that the problem is that your input file is either actually that short or is corrupted/truncated.
[22:25:27 CEST] <Bombo> it's a 24bit 192khz file
[22:25:41 CEST] <Bombo> oh shit i accidentally the file
[22:25:52 CEST] <Bombo> ;)
[22:26:30 CEST] <Bombo> (overwritten the source flac)
[22:26:56 CEST] <Bombo> sorry, i need to go to bed ;)
[22:27:47 CEST] <m_saba01> durandal_1707: https://pastebin.com/TphcKf7w I've specified the framerate of the image files via -framerate
[22:29:35 CEST] <m_saba01> is it possible that the order of my parameters is somehow messed up?
[22:30:02 CEST] <kepstin> m_saba01: um, your options are all messed up there. the only filter you're applying is an fps filter
[22:30:18 CEST] <m_saba01> nice ^^ not
[22:30:48 CEST] <durandal_1707> that explains it
[22:30:50 CEST] <kepstin> m_saba01: -vf is the same as -filter:v, and the later -vf overwrites your previous -filter option
[22:31:21 CEST] <m_saba01> facepalm
[22:37:18 CEST] <ahoo> hey there
[22:37:40 CEST] <ahoo> where did the audio/video tray icons go?
[22:37:42 CEST] <m_saba01> -vf "minterpolate='fps=60:mi_mode=blend:scd=none', format = yuv420p" gives the expected result! cpu is finally getting quite busy too
[22:37:47 CEST] <m_saba01> thank you guys!
[22:39:05 CEST] <kepstin> ahoo: are you referring to the windows directshow stuff? that's a separate project, not part of ffmpeg.
[22:39:20 CEST] <ahoo> oh
[22:39:26 CEST] <ahoo> what's it called?
[22:40:50 CEST] <kepstin> ahoo: i think 'LAVFilters - https://github.com/Nevcairiel/LAVFilters is a currently supported project.
[22:42:08 CEST] <kepstin> ahoo: i think they're associated with the mpc-hc player project.
[22:43:16 CEST] <ahoo> i'm not sure if i'm on the right path. all i want to do is encode video while recording from it
[22:43:40 CEST] <kepstin> well, you can use the ffmpeg command line tool for that
[22:43:55 CEST] <ahoo> i have installed the k-lite codec pach
[22:44:03 CEST] <ahoo> really?
[22:44:09 CEST] <kepstin> ffmpeg is not a codec pack and does not require or use windows codecs
[22:44:13 CEST] <ahoo> i can record from the command line?
[22:44:24 CEST] <kepstin> depends what you're trying to record, but probably?
[22:44:32 CEST] <ahoo> dshow://
[22:45:06 CEST] <kepstin> should work fine for webcams and video capture cards. If you want to record your screen, you might be better off using a dedicated application like OBS
[22:49:29 CEST] <ahoo> no i only want to record from my webcam.
[22:49:39 CEST] <ahoo> could you explain to me one more thing
[22:49:46 CEST] <ahoo> there's ffmpeg and ffmpeg-tryouts
[22:49:58 CEST] <ahoo> which of the two is this channel for?
[22:50:15 CEST] <ahoo> i understand tryouts is just a fork
[22:52:18 CEST] <kepstin> i haven't heard of anything called ffmpeg-tryouts
[22:52:40 CEST] <kepstin> ffdshow-tryouts is a third party project
[22:54:10 CEST] <kepstin> this channel is for ffmpeg, which consists of a set of libraries used by many other applications, and some command-line tools.
[23:01:43 CEST] <kepstin> As far as capturing your webcam on windows, this page: https://trac.ffmpeg.org/wiki/DirectShow has some examples that should get you started
[23:02:40 CEST] <ahoo> awesome
[23:02:43 CEST] <ahoo> thanks
[23:02:55 CEST] <ahoo> i admire your wisety
[23:54:55 CEST] <ahoo> i'd like to have a date/time stamp in my recorded video - is that even possible with ffmpeg ootb?
[00:00:00 CEST] --- Tue Aug 14 2018
More information about the Ffmpeg-devel-irc
mailing list