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

burek burek021 at gmail.com
Sun Feb 4 03:05:01 EET 2018


[00:03:58 CET] <jfmcarreira> heyy guys
[00:04:13 CET] <jfmcarreira> which is the function of avutils to convert AVFrame pixel format?
[00:05:00 CET] <ddubya> swscale or avfilter functions
[00:05:30 CET] <jfmcarreira> ddubya: which one? cant find it by googling it
[00:05:47 CET] <ddubya> more than one...
[00:09:54 CET] <jfmcarreira> seems like a very simple thing to have several function for it :D
[00:18:49 CET] <ddubya> haha melt hacked to use cuvid
[00:20:01 CET] <ddubya> jfmcarreira, jfmcarreira ffmpeg has to supports a gazillion codecs, pixel format etc etc. Given that, it doesn't seem too crazy
[00:22:53 CET] <jfmcarreira> ddubya: fair enoug. I was looking at one of the examples and if i understand correctly i have to create a sws context and then call the the sws function
[00:23:47 CET] <JEEB> with swscale directly, yes
[00:24:08 CET] <jfmcarreira> ddubya: actually i am developing a video player and I took the pixel description idea from ffmpeg. seems quiet nice the way ffmpeg is able to use the same function for a series of different formats. however as I cant implement all i need to convert some of them to know fmts like YUV420p
[00:24:11 CET] <JEEB> I prefer avfilter myself nowadays since it handles the whole avframe side of things
[00:24:31 CET] <JEEB> because what you get from the decoder is an AVFrame
[00:24:46 CET] <JEEB> and usually if you need to pass things around into encoders etc those take AVFrames in
[00:25:10 CET] <ddubya> avfilter is cleaner, no need for avpicture junk
[00:25:15 CET] <JEEB> https://github.com/jeeb/matroska_thumbnails/blob/master/src/matroska_thumbnailer.cpp#L321...L338
[00:25:21 CET] <JEEB> this is my old swscale usage
[00:25:28 CET] <JEEB> nowadays I use avfilter
[00:25:43 CET] <JEEB> (avfilter also lets you do deinterlacing etc)
[00:27:15 CET] <jfmcarreira> JEEB: ddubya so i will go for avfilter.  since I am already able to convert AVFrame to my own class where I save the pixel values. I just need to convert AVFrame to a known format
[00:28:23 CET] <jfmcarreira> JEEB: the example you shown is wuth avfilter?
[00:28:33 CET] <ddubya> yep just match format to display format
[00:29:20 CET] <JEEB> jfmcarreira: there are avfilter examples in doc/examples
[00:29:22 CET] <JEEB> of FFmpeg
[00:29:31 CET] <JEEB> not perfect, but some sort of filtering is there
[00:29:46 CET] <JEEB> also I recommend looking at the avfilter doxygen @ ffmpeg.org
[00:30:45 CET] <jfmcarreira> ddubya: normally i do not want to do that because the app is suppose to be used for video processing so I want to shown things as in source (but I am not being able to do so for every piece of fmt :( )
[00:31:53 CET] <ddubya> jfmcarreira, well you can convert to a wider gamut format for display. RGB is OK I guess
[00:32:02 CET] <hojuruku> Cu5tosLimen: i got timecode problems with what the vaapi ffmpeg driver / mesa / libva is creating vs libx264
[00:32:22 CET] <hojuruku> JEEB: knows the story, what software do i have to use to analyse the corrupted mp4 / mkv files image streams?
[00:32:45 CET] <JEEB> for mkv mkvinfo
[00:32:49 CET] <JEEB> it can output the timeline
[00:33:01 CET] <JEEB> for mp4 there are also various tools
[00:45:44 CET] <SortaCore> so err, it was decode with hw_device_ctx dxva2, then encode with derived device context nvenc right?
[00:47:03 CET] <jfmcarreira> where can I get a list of avfilters?
[00:48:17 CET] <kepstin> jfmcarreira: https://www.ffmpeg.org/ffmpeg-filters.html is a good place to start.
[00:48:37 CET] <kepstin> if you're asking how to get a list of filters available in *your particular ffmpeg build* there's an api for that.
[00:49:22 CET] <kepstin> jfmcarreira: but for general format conversion and whatnot, you're probably just gonna need the scale filter (and maybe format, depending how you're using the api)
[00:55:58 CET] <jfmcarreira> kepstin: i think that list helps
[00:56:23 CET] <jfmcarreira> i guess i found what I need
[00:56:30 CET] <jfmcarreira> is the "format" filtet
[00:57:30 CET] <kepstin> note that the 'format' filter doesn't do much on its own - it just requests a particular format at a spot in the filter chain, and then a (possibly auto-inserted) scale filter before it will do the actual conversion.
[00:57:45 CET] <jfmcarreira> :(
[01:02:07 CET] <jfmcarreira> yeah I tested in command line and I converted from PAL to BGR and  I asked for YUV420
[01:05:53 CET] <jfmcarreira> cant I request the video decoder to output AVFrame in a specific pixel format?
[01:24:13 CET] <prelude2004c> hey guys..quick question.. i have some filter like -vf fps=xx.xx,scale_npp,etc... i want to had motion Interpolation
[01:24:19 CET] <prelude2004c> not sure where to add it or what it should look like
[01:25:19 CET] <sfan5> replace the fps filter with minterpolate
[01:30:56 CET] <prelude2004c> i tried just -vf minterpolate=fps=60 and nothing else and it says : Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scaler_0'
[01:31:59 CET] <sfan5> don't you need a "hwupload" before scale_npp?
[01:32:48 CET] <DHE> which tells me frame is probably a hardware frame so really it needs downloading first
[01:32:57 CET] <prelude2004c> right nwo i am using : -vf 'a53_split,fps=29.97,a53_combine=ratio=5,scale_npp=w=1280:h=720'
[01:33:23 CET] <prelude2004c> and i want to do some motion Interpolation to fix the 29.97 to smooth video closer to 60fps
[01:34:19 CET] <prelude2004c> at least i'm reading on that is how it's done.. just not sure best way to make it wokr
[01:34:20 CET] <prelude2004c> at least i'm reading on that is how it's done.. just not sure best way to make it work
[01:47:39 CET] <prelude2004c> anyone?
[01:47:44 CET] <prelude2004c> i'm stuck
[01:49:24 CET] <SortaCore> put hwupload before scale_npp and hwdownload after, you might not need the hwupload one
[01:55:54 CET] <prelude2004c> oh.. ok trying
[01:56:54 CET] <prelude2004c> like this ? ..._combine=ratio=5,scale_npp=w=1280:h=720,hwdownload,minterpolate=fps=60
[01:57:30 CET] <prelude2004c> Impossible to convert between the formats supported by the filter 'Parsed_minterpolate_5' and the filter 'auto_scaler_0'
[02:00:44 CET] <prelude2004c> i tried both with hwupload and hwdownloa and just hwdownload and i had the same issue occur
[02:03:49 CET] <SortaCore> hwdownload after minterpolate
[02:04:27 CET] <prelude2004c> same error
[02:04:27 CET] <prelude2004c> Impossible to convert between the formats supported by the filter 'Parsed_scale_npp_4' and the filter 'auto_scaler_0'
[02:04:42 CET] <prelude2004c> .... ,a53_combine=ratio=5,hwupload,scale_npp=w=1280:h=720,minterpolate=fps=60,hwdownload'
[02:05:02 CET] <prelude2004c>  -vf 'a53_split,fps=29.97,a53_combine=ratio=5,hwupload,scale_npp=w=1280:h=720,minterpolate=fps=60,hwdownload'
[02:18:16 CET] <prelude2004c> :( still nothing..
[02:18:46 CET] <prelude2004c> tried just hwupload,minterpolate=fps=60,hwdownload
[02:19:03 CET] <prelude2004c> it gave me some error [hwupload @ 0x3d203c0] A hardware device reference is required to upload frames to.
[02:19:14 CET] <prelude2004c> tried without upload.. still errors out.. nothing i do seems to work
[02:44:17 CET] <prelude2004c> no other ideas ? i'm using cuvid for decoding
[02:44:53 CET] <DHE> we know. we suspected that the hardware decoding is actually making the software filtering act up
[02:46:01 CET] <prelude2004c> any other suggestion? for some reason source for video is coming in at 29.97 but in fast motion or text scrolling its stuttering like crazy
[02:46:12 CET] <prelude2004c> i want to smooth the video somehow so its more fluid
[02:46:22 CET] <prelude2004c> is interpolation the only way to do it?
[02:46:29 CET] <DHE> interlaced?
[02:47:18 CET] <prelude2004c> no
[02:48:41 CET] <prelude2004c> mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 1920x1080 [SAR 1:1 DAR 16:9], Closed Captions, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
[02:58:04 CET] <DHE> prelude2004c: ffprobe (source) -show_frames | grep interlaced
[02:58:42 CET] <furq> and/or ffmpeg -i foo -vf idet -f null -
[02:59:56 CET] <DHE> nice
[03:00:12 CET] <furq> obviously if it's flagged as interlaced you don't need to bother with that
[03:00:59 CET] <furq> maybe a better question would be "why do you want this to be 60fps"
[03:01:46 CET] <furq> if it is actually 30p then fps is just going to dup every frame and minterpolate is going to be incredibly slow and probably give artifacts
[03:02:15 CET] <DHE> mpeg2 1920x1080 makes me suspect OTA broadcasts which are actually 1080i
[03:02:42 CET] <DHE> (god I hate that but that's the standard)
[03:02:55 CET] <furq> yeah
[03:03:40 CET] <furq> i'm not sure where else you'd get 1080 mpeg2, and i don't know of anyone broadcasting 1080p30 in mpeg2
[03:03:54 CET] <furq> but i'm sure someone out there is more than happy to disappoint me
[03:04:27 CET] <furq> anyway
[03:04:30 CET] <DHE> HD standards for broadcast are 720p60 and 1080i30. but it's all I got...
[03:04:36 CET] <furq> prelude2004c: if it is interlaced then just -vf yadif=1
[03:04:45 CET] <furq> so you'd better hope it is if you really need this to be 60p
[03:05:09 CET] <furq> in fact doesn't nvenc have a decent double-rate deinterlacer
[03:29:33 CET] <prelude2004c> furq, not sure about double-rate de-interlacer
[03:29:35 CET] <prelude2004c> checking that now
[03:30:46 CET] <prelude2004c> interlaced_frame=1
[03:30:47 CET] <prelude2004c> interlaced_frame=0 looks like some frames are interlaced
[03:30:56 CET] <prelude2004c> so just yadif=1 ?
[03:31:41 CET] <furq> prelude2004c: -deint bob -c:v h264_cuvid -i foo
[03:32:06 CET] <furq> there's also -deint adaptive, idk which is better
[03:32:11 CET] <furq> bob will definitely double the framerate
[03:33:23 CET] <prelude2004c> so i put that after -i right?
[03:33:29 CET] <prelude2004c> sorry
[03:33:33 CET] <prelude2004c> silly me.. you said it.. ok testing
[03:35:15 CET] <prelude2004c> ok so this is what i get when i use the -deint bob
[03:35:16 CET] <prelude2004c> Codec AVOption deint (Set deinterlacing mode) specified for input file #0 (udp://235.1.2.246:758?ttl=100&reuse=1&include=1&sources=10.187.124.10&fifo_size=64000&buffer_size=100000&overrun_nonfatal=1) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some decoder which was not actually used
[03:35:17 CET] <prelude2004c> for any stream.
[03:35:48 CET] <furq> oh wait it's mpeg2 isn't it
[03:36:51 CET] <furq> -c:v mpeg2_cuvid if you weren't already doing that
[03:36:58 CET] <furq> if you were then shrug
[03:37:01 CET] <furq> i've never really used nvenc
[03:38:43 CET] <prelude2004c> nah.. doesn't like -c:v mpeg2_cuvid
[03:41:09 CET] <prelude2004c> -drop_second_field 1 should also drop it no ? but still doesn't help me much
[03:42:18 CET] <prelude2004c> ehh doesn't like that too :( Shittzel
[03:51:57 CET] <prelude2004c> ok so -deint doubles up the frames..
[03:52:07 CET] <prelude2004c> so that might do what i want but .. i'm using cuvid decoding
[03:52:29 CET] <prelude2004c> not 100% sure what i'm doing wrong here.. doesn't like it it seems . i can't -deint bob
[03:52:36 CET] <prelude2004c> probably because mpeg2video source
[03:52:39 CET] <prelude2004c> not h264
[04:30:14 CET] <prelude2004c> wow.. ok yadif=1 seems to double up frames
[04:30:39 CET] <prelude2004c> but.. kills my CPU on the decoding side.. i'm using hw_accel cuvid.. should it not do it on the GPU ?
[04:30:50 CET] <prelude2004c> any other way to get similar result without killing system ?
[09:39:02 CET] <xxx_> hello, does ffmpeg support closed caption?
[09:52:00 CET] Last message repeated 1 time(s).
[11:05:23 CET] <Fyr> guys, mkvalidator gives:
[11:05:23 CET] <Fyr> >>WRN311: The Cues entry for timecode 1634424 ms is listed after entry 1642951 ms
[11:05:35 CET] <Fyr> the file was made by FFMPEG.
[11:05:48 CET] <Fyr> what is the problem with the file?
[11:06:15 CET] <Fyr> I've a few thousands of these warnings.
[11:08:28 CET] <JEEB> could be the input to the muxer having weird timestamps, but without any details on the input etc nothing can really be said :P
[11:33:49 CET] <kazuma_> how can i demux/extract 1 audio channel?
[11:34:06 CET] <kazuma_> using -ac 1 , downmixes the both channels into 1
[11:43:35 CET] <Fyr> JEEB, is there a way to find out what index_space is necessary? I want to optimize the output MKV, however, there is no guide to use -reserve_index_space option.
[11:44:29 CET] <Fyr> I muxed the file, but I don't know what value to set to the -reserve_index_space option.
[11:44:44 CET] <Fyr> mkvinfo doesn't show something useful.
[14:18:02 CET] <volkan> hello guys
[14:18:20 CET] <volkan> any one can help me i have an serious problem
[14:18:54 CET] <iive> nobody can help you until you say what the problem is...
[14:23:25 CET] <Fyr> the problem seems to be solved. =)
[14:24:31 CET] <ovi> hello
[14:24:39 CET] <ovi> i have a little problem
[14:24:52 CET] <ovi> i am trying to set a list of jpg files as input to ffmpeg
[14:25:02 CET] <ovi> but it is interepted as output
[14:25:27 CET] <furq> pastebin the command line
[14:25:50 CET] <ovi>  ./ffmpeg -v debug -r 16 -f image2 -s 640x480 -i ./frames/0/*-video.jpg  -c:v libx264  -crf 25  -pix_fmt yuv420p ./videos/tl_camera-0.flv
[14:26:26 CET] <furq> add -pattern_type glob and quote the input filename
[14:26:28 CET] <ovi> i have tried with cat and pipe but is not working because cat will complain too many arguments
[14:26:31 CET] <furq> otherwise your shell will interpret the glob
[14:26:56 CET] <ovi> in -pattern_type glob in front of -i ?
[14:26:59 CET] <furq> yeah
[14:28:04 CET] <Fyr> ovi, ffmpeg -f image2 -framerate 16 -pattern_type glob -i "frames/0/*-video.jpg" camera.flv
[14:28:09 CET] <ovi> cool. thanks a lot
[14:28:17 CET] <ovi> it is already running
[14:28:32 CET] <ovi> thank you very much!
[14:34:29 CET] <wiak> ffmpeg.exe -i "test.mkv" -vcodec libvpx-vp9 "AVOptions: -row-mt=1 --tile-columns=6 --auto-alt-ref=1 --lag-in-frames=25 --aq-mode=0 --threads=16 --target-bitrate=3000 --cpu-used=0" -acodec libopus test_out.mkv
[14:34:32 CET] <wiak> hmm probobly not right
[14:46:19 CET] <volkan> my problem is i have an pcm_f32le file
[14:46:31 CET] <volkan> when i try to convert to wav it will be full noise
[14:46:41 CET] <volkan> my cli looks like ffmpeg -acodec pcm_f32le -i channel10-title1.adp -ar 48000 out.wav
[15:05:47 CET] <kepstin> volkan: how do you know it's "pcm_f32le"? if you're getting noise from that, it's probably not actually...
[15:06:05 CET] <volkan> how can i know it
[15:06:21 CET] <volkan> this sound file created honeywell annoucement device
[15:06:41 CET] <volkan> actually honeywell has an program called adpcm2wav converter
[15:07:33 CET] <furq> volkan: pcm_f32le is lpcm, not adpcm
[15:07:56 CET] <furq> what does ffmpeg autodetect it as if you remove -acodec pcm_f32le
[15:09:04 CET] <kepstin> ah, adpcm. ffmpeg has a lot of different adpcm decoders, be tricky to guess the right one. but given that this is telephony stuff it's probably g722 or g726?
[15:10:03 CET] <volkan> i sniffed network but
[15:10:45 CET] <volkan> rtp packet start 80 4E
[15:11:13 CET] <kepstin> huh? network sniffing? then how did you make this file?
[15:11:20 CET] <kepstin> is this a network capture or something?
[15:12:26 CET] <kepstin> anyways, like I said, the codec is probably either g722 or g726 (the former is more likely, i think)
[15:12:41 CET] <volkan> no this file created by device
[15:13:03 CET] <furq> 722 is wideband isn't it
[15:13:12 CET] <volkan> http://www.networksorcery.com/enp/protocol/rtp.htm
[15:13:22 CET] <furq> it'll probably be 721 or 726, both of which are covered by adpcm_g726
[15:13:42 CET] <furq> so if ffmpeg can't autodetect it then try that
[15:13:47 CET] <kepstin> hmm, well, either way it'll be one of those two
[15:14:12 CET] <volkan> when i tried the g726 my mac is return this error Error while opening decoder for input stream #0:0 : Not yet implemented in FFmpeg, patches welcome
[15:14:21 CET] <volkan> to *
[15:14:28 CET] <furq> uh
[15:14:33 CET] <furq> paste the command line and full output
[15:14:38 CET] <volkan> ffmpeg version 3.4.1 Copyright (c) 2000-2017 the FFmpeg developers   built with Apple LLVM version 9.0.0 (clang-900.0.39.2)   configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libvpx --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbo
[15:14:46 CET] <furq> to a pastebin
[15:14:57 CET] <volkan> ok 1sec please
[15:15:52 CET] <volkan> https://paste.ee/p/GdKnF
[15:16:02 CET] <volkan> pastebin is blocked our country sorry for that
[15:18:41 CET] <kepstin> hmm, I think that filename might be confusing ffmpeg; there's an 'adp' demuxer for iirc some sort of game audio or something.
[15:19:38 CET] <furq> you could try adding -ac 1 before -i, but yeah i'm guessing it's misdetecting the container
[15:19:45 CET] <furq> and i have no idea what the right container would be
[15:19:50 CET] <kepstin> try "-f g726"
[15:20:03 CET] <furq> oh
[15:20:08 CET] <furq> nice grepping
[15:20:09 CET] <kepstin> or g726le, g722, etc
[15:20:37 CET] <furq> do those exist
[15:20:39 CET] <furq> i don't have any of those
[15:21:26 CET] <kepstin> hmm, they're in my build.
[15:22:59 CET] <volkan> ffmpeg -f g722 -ac 1 -i channel10-title2.adp out.wav
[15:24:38 CET] <volkan> out file length is 29 min original file length is 4min
[15:24:58 CET] <furq> try -f g726
[15:25:22 CET] <furq> kepstin: nvm they're new in 3.4
[15:25:25 CET] <volkan> in g726 53 min
[15:25:34 CET] <furq> i'm still on 3.3 here
[15:25:54 CET] <volkan> g726le same as g726 53 min
[15:26:20 CET] <kepstin> volkan: if you play the resulting wav files are they just noise, or do they sound almost correct but distorted?
[15:26:22 CET] <furq> volkan: pastebin the output of ffprobe foo.adp
[15:27:02 CET] <volkan> honeywell provide this command line tool https://ibb.co/mEKYb6
[15:27:50 CET] <volkan> https://paste.ee/p/rbcsj
[15:28:37 CET] <kepstin> volkan: so, does just "ffmpeg -i channel10-title1.adp out.wav" work?
[15:28:49 CET] <furq> adpcm_dtk is a gamecube format, so probably not
[15:29:23 CET] <kepstin> i guess at this point, it's just back to going through the list of adpcm codecs ffmpeg supports and trying them to see
[15:29:34 CET] <furq> also i notice that image says it's converting to adpcm
[15:29:55 CET] <furq> what file did you give that adpcm converter
[15:30:22 CET] <kepstin> is that the tool that made the file, maybe?
[15:30:30 CET] <furq> yeah i assume so
[15:30:30 CET] <volkan> out file length is same as original wav file
[15:30:33 CET] <volkan> but noisy
[15:30:55 CET] <furq> lol
[15:30:56 CET] <volkan> is honeywell encode this sound file like an aes or something else
[15:31:05 CET] <furq> if you have the original file then what are you doing this for
[15:31:16 CET] <furq> are you just testing this honeywell tool or something
[15:31:55 CET] <volkan> some announcement recording and i don't have it original file i need to convert and stream
[15:32:06 CET] <volkan> but honeywell tool only work with windows
[15:33:54 CET] <kepstin> hmm. the only other ffmpeg-supported adpcm codec that seems possible is adpcm_ms
[15:34:03 CET] <kepstin> since most of the rest are game formats
[15:34:29 CET] <volkan> i tried adpcm_ms but failed says no packet found
[15:35:03 CET] <volkan> i have an sniffed network data rtp stream can we recognize on stream
[15:35:48 CET] <volkan> https://ibb.co/nxpfpR
[15:36:11 CET] <volkan> blue background is raw rtp data
[17:17:46 CET] <Purple_Minion> How do you set the aspect ratio in ffserver? putting -aspect 4:3 in ffmpeg creates a proper file that tells the player to stretch it when playing, but ffserver can't do this it seems.
[17:20:57 CET] <BtbN> Keep in mind that you really should not be using ffserver. And nobody really has any idea how to use it, so help with it is unlikely.
[17:21:15 CET] <Purple_Minion> oh I didn't know that. Is there a better program?
[17:21:37 CET] <Purple_Minion> crashed twice already
[17:22:02 CET] <klaxa> people usually recommend nginx-rtmp or hls or mpeg-dash
[17:22:43 CET] <Purple_Minion> Which one do you think is the easiest to configure?
[17:23:27 CET] <klaxa> use hls and let ffmpeg write segments to disk which are served by a webserver
[17:23:37 CET] <klaxa> i think that shouldn't be too hard to set up really
[17:23:47 CET] <klaxa> requires your devices to support hls though
[17:23:48 CET] <Purple_Minion> How much delay is there?
[17:23:57 CET] <klaxa> quite some
[17:24:00 CET] <Purple_Minion> I'll look up hls
[17:24:40 CET] <klaxa> hls works by splitting up your video into small chunks and maintaining a playlist file of these chunks
[17:24:52 CET] <klaxa> clients dowload the playlist file and then download the segments
[17:25:01 CET] <Purple_Minion> Could VLC be used as well?
[17:25:03 CET] <klaxa> the player stiches them together again
[17:25:04 CET] <klaxa> yes
[17:25:12 CET] <Purple_Minion> VLC to stream I mean
[17:25:16 CET] <klaxa> ah
[17:25:18 CET] <klaxa> maybe?
[17:25:26 CET] <klaxa> not for hls though i think
[17:25:32 CET] <klaxa> but i never checked
[17:25:43 CET] <kazuma_> hls/nginx is the way to go
[17:26:20 CET] <kazuma_> you let ffmpeg write the m3u8/.ts segments to a dir nginx monitors
[17:26:36 CET] <kazuma_> the load up the .m3u8 on your device/mediaplayer/browser whatever
[17:27:25 CET] <Purple_Minion> That's too much delay for video conferencing
[17:27:39 CET] <klaxa> yes
[17:27:43 CET] <Purple_Minion> RTSP seems like a great system
[17:31:22 CET] <Purple_Minion> ffplay rtsp://nomad.ignorelist.com:5554/tv.mpeg2
[17:34:22 CET] <Purple_Minion> ffserver works somewhat :)
[17:52:21 CET] <IchGucksLive> hi i woudt like to downbsize a HD to a SD  so projektx can grab it  as it wont do HD cuts
[17:52:39 CET] <IchGucksLive> in showes Stream #0:0[0x25f]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt470bg), 720x576 [SAR 16:11 DAR 20:11], 25 fps, 50 tbr, 90k tbn, 50 tbc
[17:53:02 CET] <IchGucksLive> this side showes a script https://avpres.net/FFmpeg/HD_SD.html
[17:53:41 CET] <furq> 720x576 is sd
[17:54:16 CET] <IchGucksLive> ffmpeg -i MillNut.ts -filter:v "colormatrix=bt709:bt601,scale=768:576:flags=lanczos,pad=768:432:0:72"-c:a copy SDmillNut.ts
[17:54:53 CET] <IchGucksLive> OH thanks furq
[17:55:01 CET] <IchGucksLive> but it cand be read
[17:56:30 CET] <IchGucksLive> it showes pictuer decoing not posible for mpeg-4/H.264
[17:56:54 CET] <furq> you'll probably need to transcode to mpeg2video though
[17:56:55 CET] <furq> then
[17:57:14 CET] <furq> what are you trying to do with projectx anyway
[17:57:43 CET] <IchGucksLive> cutting down its a 4episode file to the episodes
[17:57:59 CET] <furq> you could just do that with ffmpeg
[17:58:00 CET] <IchGucksLive> im on a old 14.04 ubuntu
[17:58:04 CET] <furq> or maybe something like avidemux if you want a gui for it
[17:58:48 CET] <IchGucksLive> avidemux  read the file only at 2.6 version i only can run 2.5.4
[18:00:09 CET] <furq> there are static builds for avidemux on their site
[18:00:12 CET] <furq> http://avidemux.sourceforge.net/download.html
[18:03:11 CET] <IchGucksLive> 2.7 read the file
[18:06:46 CET] <IchGucksLive> Workes gread Thanks
[18:09:11 CET] <Purple_Minion> ffmpeg -i yourfile -vcodec mpeg2video -acodec copy out.avi
[18:09:25 CET] <BtbN> -c:v and -c:a
[18:10:34 CET] <furq> also yeah don't actually do that
[18:10:51 CET] <Purple_Minion> audio not correct?
[18:10:57 CET] <furq> he doesn't need to reencode it
[18:11:06 CET] <Purple_Minion> I thought it needs to become mpeg2
[18:11:09 CET] <volkan> hello guys
[18:11:12 CET] <furq> only to import it into projectx
[18:11:20 CET] <furq> which is no longer required
[18:11:36 CET] <furq> although if you were going to reencode something to m2v you'd need a whole lot more parameters than that to make it look good
[18:11:37 CET] <IchGucksLive> for only cutting it is not needed to transform
[18:11:40 CET] <furq> none of which i remember, sadly
[18:12:01 CET] <IchGucksLive> need to check if the TV can run this from the NAS after AVIDMUX 2.7
[18:12:47 CET] <furq> IchGucksLive: make sure you set avidemux to copy the streams
[18:13:05 CET] <furq> you shouldn't need to reencode it as long as you're ok with the cut points possibly being slightly out
[18:13:48 CET] <IchGucksLive> i only did a Mux TS seting
[18:14:02 CET] <furq> you can also do it with ffmpeg, it's just a bit annoying to get the cuts with no gui
[18:14:03 CET] <IchGucksLive> auti and viodio cop
[18:14:07 CET] <furq> ok good
[18:14:32 CET] <IchGucksLive> -ss -t is for ffmpeg
[18:14:38 CET] <furq> right
[18:14:42 CET] <furq> and -c copy
[18:15:41 CET] <IchGucksLive> but the gui is perfect as procktX has now been history if that workes for me
[18:15:57 CET] <IchGucksLive> Modern Days from know
[18:16:28 CET] <IchGucksLive> Thanks im off
[19:13:17 CET] <Purple_Minion> Does anyone have an opinion on gst-rtsp-server ?
[19:13:51 CET] <furq> that's only a library isn't it
[19:15:10 CET] <Purple_Minion> I think you're right. I wonder what uses it?
[19:15:15 CET] <furq> fwiw i wouldn't expect rtsp to have much (any?) less latency than rtmp
[19:15:29 CET] <furq> the high latency thing is if you use hls or dash so that browsers can view the stream
[19:15:48 CET] <furq> which nginx-rtmp will do for you, but you can also just use the rtmp feed
[19:17:11 CET] <Purple_Minion> https://stackoverflow.com/questions/36759875/streaming-h264-file-using-gst-rtsp-server
[19:18:47 CET] <furq> http://vpaste.net/umpW3
[19:18:51 CET] <furq> doesn't look like anything uses it
[19:21:31 CET] <Purple_Minion> nginex
[19:21:35 CET] <Purple_Minion> oops
[19:45:25 CET] <roggy545> isnt it possble to run a http stream anymore with just ffmpeg now that ffserver is dropped?
[19:48:38 CET] <DHE> use a format that's HTTP friendly (typically DASH or HLS) and run a boring old HTTP server like Apache
[19:51:12 CET] <klaxa> you can also feel adventurous and try this: https://github.com/klaxa/mkvserver_mk2
[19:51:20 CET] <klaxa> it uses ffmpeg's http server api
[20:06:37 CET] <furq> someone in here mentioned that you can push mpegts over icecast
[20:06:45 CET] <furq> which is basically http
[20:06:50 CET] <furq> i tried that and didn't have the best results
[20:07:23 CET] <furq> it seemed to work quite well on the one in five occasions that mpv wouldn't just bail out before starting playback
[20:09:54 CET] <roggy545> Apache already installed so I think I'll try that first
[21:00:45 CET] <utack> is there a reason input jpg and converting to yuv420p significantly alters the color?
[21:02:14 CET] <furq> yes
[21:02:40 CET] <utack> is there a way around or, or do i have to deal with it?
[21:02:42 CET] <furq> it's converting from full to limited range and it sounds like either swscale is doing it wrong or whatever you're viewing it with isn't handling that well
[21:03:11 CET] <utack> i did not intentionally insert any flters, maybe zscale is better?
[21:03:26 CET] <furq> -pix_fmt yuv420p is the same as -vf format=yuv420p
[21:03:41 CET] <furq> also i take it your output is a video
[21:04:14 CET] <utack> yeah, i am trying to compress dashcam footage into a video stream to store it at someting like 15% the size
[21:04:33 CET] <utack> so the quality is not super critical or the color, but i was wondering about it
[21:04:37 CET] <furq> x264 accepts yuvj420p as input
[21:04:48 CET] <kepstin> utack: your dashcam footage is a bunch of individual jpeg files? or an mjpeg stream?
[21:04:59 CET] <furq> that should fix the colours but i don't know how it affects anything else in the world it has to interact with
[21:05:08 CET] <utack> individual jpegs, it is actually a gopro in interval mode, not some cheap dashcam
[21:05:44 CET] <kepstin> utack: does the resulting video appear to have lower contrast (washed out dark colour, grey light colors)?
[21:05:46 CET] <furq> i assume passing it yuvj420p does the same thing as x264 --fullrange but i don't actually know
[21:06:05 CET] <furq> i vaguely remember there being more than one way of getting full range
[21:06:35 CET] <utack> it is a bit brighter and a bit washed out kepstin
[21:06:45 CET] <furq> yeah that sounds about right
[21:06:45 CET] <utack> i'll upload a sample, one second
[21:07:01 CET] <utack> ok so that is yuv420 limitation? guess i can use yuv444 then?
[21:07:12 CET] <kepstin> my guess is that the camera is writing limited range to jpeg, ffmpeg is reading it as full range and then doing an extra conversion to limited range
[21:07:30 CET] <furq> utack: full/limited range has nothing to do with the subsampling
[21:07:34 CET] <furq> yuv444 will have the same issue
[21:07:35 CET] <utack> ah
[21:07:42 CET] <furq> like i said, try with yuvj420p
[21:07:53 CET] <utack> did not solve it unfortunately
[21:07:56 CET] <furq> oh
[21:08:03 CET] <furq> well yeah kepstin is probably right then
[21:09:08 CET] <furq> so uh
[21:10:01 CET] <kepstin> i dunno, adding "-pix_fmt yuv420p" as an *input* option might work around the issue
[21:10:10 CET] <furq> there is a proper way to do this but i forget what it is now
[21:10:15 CET] <furq> something like -vf colorspace
[21:10:41 CET] <furq> maybe -vf zscale=rin=limited,format=yuv420p
[21:10:53 CET] <furq> instead of pix_fmt obv
[21:11:45 CET] <kepstin> -vf scale=in_range=tv:out_range=tv should also work, i think
[21:12:08 CET] <kepstin> (it's a no-op, just retagging the input video as tv range so the player will handle it correctly)
[21:13:28 CET] <utack> hmh limited input range messes with it a LOT more, that does not seem to be the case
[21:13:48 CET] <furq> what are you playing the video in
[21:13:58 CET] <utack> mpv, for both the result and the jpg
[21:14:03 CET] <furq> opengl vo?
[21:14:05 CET] <utack> yep
[21:14:13 CET] <furq> yeah that's probably not it then
[21:15:46 CET] <utack> probably not. thank you for thinking about it, but given that i just want to "archive" it at lower quality, the little color shift is quite acceptable either way
[21:16:43 CET] <furq> maybe -vf colorspace=irange=tv:range=tv:format=yuv420p
[21:16:50 CET] <furq> failing that i'd suspect maybe ICC profiles or something like that
[21:17:12 CET] <furq> if mpv even supports those
[21:34:35 CET] <wiak> any idea why this iant working ffmpeg.exe -i "test.mkv" -vcodec libvpx-vp9 -row-mt 1 -tile-columns 6 -auto-alt-ref 1 -lag-in-frames 25 -aq-mode 0 -threads 16 -target-bitrate 3000 -cpu-used 0 -acodec libopus test_out.mkv
[21:34:36 CET] <wiak> ?
[21:38:06 CET] <utack> well what does it say goes wrong?
[21:39:04 CET] <utack> also vp9 really benefits from 2pass, i have been told. and is there a reason you are using row mt and tile columns both?
[21:39:07 CET] <sfan5> your target bitrate is quite low
[21:39:12 CET] <sfan5> you probably wanted 3000k
[21:39:43 CET] <sfan5> unless that option actually accepts kbit/s, i'd prefer using -b:v anyway
[21:40:57 CET] <wiak> libvpx-vp9 defaults to 2pass anyway
[21:41:09 CET] <utack> ah
[21:42:32 CET] <wiak> i know the quality of the settings,l they look awesome when i encode with vpxenc
[21:42:55 CET] <wiak> you can see some of the samples here https://awesome.nwgat.ninja/party/
[21:43:32 CET] <wiak> but the issues  is that i get invalid argument on row-mt for some werid reason
[21:44:46 CET] <sfan5> looking at ffmpeg -h encoder=libvpx-vp9 that option does not seem to exist
[21:45:02 CET] <sfan5> not here at least, my libvpx is probably too old
[21:45:37 CET] <furq> row-mt is only in git builds
[21:45:45 CET] <furq> or 1.7 if that came out yet
[21:46:29 CET] <wiak> https://patchwork.ffmpeg.org/patch/2745/
[21:46:42 CET] <wiak> is ffmpeg dev so slow?
[21:47:29 CET] <furq> that says it was accepted the same day
[21:47:30 CET] <wiak> the patch was added march of last year..
[21:47:41 CET] <utack> wiak libvpx 1.7 was only released a few days ago, not even arch has it yet
[21:48:05 CET] <wiak> row-mt was added in 1.6.1*
[21:48:17 CET] <furq> https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/libvpxenc.c#L111
[21:48:20 CET] <wiak> ffmpeg row-mt support was added march of last year
[21:48:50 CET] <furq> what are you asking then
[21:49:02 CET] <wiak> how to pass arguments to vpxenc? ;P
[21:49:15 CET] <utack> only worked for me when rebuilding ffmpeg 3.4 with libvpx 1.7 in place
[21:49:25 CET] <furq> yeah i'm pretty sure row-mt is new in 1.7
[21:49:35 CET] <furq> it's been around for a while but never cut into a release
[21:49:57 CET] <furq> until last week obv
[21:50:15 CET] <wiak> can you look at my options and see if am doing it wrong?
[21:50:17 CET] <furq> https://github.com/webmproject/libvpx/releases/tag/v1.7.0
[21:50:19 CET] <furq> yeah there you go
[21:50:32 CET] <furq> wiak: are you sure you have an ffmpeg build with libvpx 1.7
[21:50:42 CET] <wiak> lol probobly not stupid me
[21:50:45 CET] <wiak> totally forgot
[21:50:56 CET] <wiak> zaraone ffmpeg 3.4 i think
[21:51:17 CET] <wiak> https://groups.google.com/a/webmproject.org/forum/#!topic/codec-devel/oiHjgEdii2U
[21:51:25 CET] <furq> the latest zeranoe git build has 1.7
[21:51:43 CET] <utack> you can always pipe to a libvpx git that is straightfoward to build.
[21:51:54 CET] <utack> ffmpeg -i source.mkv -pix_fmt yuv420p -f rawvideo - | ~/libvpx/vpxenc ... --width=1920 -height=1080 - -o out.vp9
[21:51:57 CET] <utack> something like this
[21:52:21 CET] <wiak> aah thanks
[21:52:38 CET] <utack> that is how i used row-mt before libvpx 1.7 was released
[21:52:54 CET] <wiak> ive used row-mt almost a year lol
[21:53:05 CET] <utack> with ffmpeg?
[21:53:06 CET] <furq> i should grab a build and check it out
[21:53:23 CET] <furq> i don't care enough about vp9 to have bothered building with git libvpx
[21:53:24 CET] <wiak> utack no i just use ffmpeg to export to y4m hehe
[21:53:28 CET] <furq> but that's mostly because it's so slow
[21:53:33 CET] <wiak> well not anymore
[21:53:44 CET] <wiak> still slower than h264 but alot faster than last
[21:53:49 CET] <furq> that's good to know
[21:53:51 CET] <wiak> last= before
[21:54:12 CET] <furq> In tests[1] of encoding HD videos with 4 column tiles, the improved VP9 MT encoder achieved speedups over the original of 11% with 2 threads, 27% with 4 threads, 101% with 8 threads, and 135% with 16 threads.
[21:54:14 CET] <wiak> my ryen 1700x used to do 25% now it uses 80%
[21:54:17 CET] <furq> that sounds about right lol
[21:54:23 CET] <wiak> ryzen*
[21:54:30 CET] <furq> yeah i got about 33% with 8 threads
[21:54:42 CET] <utack> any reason you use tile columns and row-mt both?
[21:55:23 CET] <furq> hopefully you get an even bigger improvement on stuff that can only use two tiles
[21:55:28 CET] <furq> that was my big problem with it before
[21:55:41 CET] <furq> sd stuff would hardly be any faster than hd because it just wouldn't multithread
[21:56:08 CET] <utack> i used row mt to encode 960x540 yesterday and it was using something like 500% cpu
[21:56:37 CET] <furq> that's all right
[21:57:12 CET] <furq> one of the av1 developers pinky promised me that libaom would have frame threading
[21:57:20 CET] <utack> :D
[21:57:28 CET] <furq> it better or else he's a dead man
[21:58:42 CET] <utack> i mean all the "big" content providers probably don't care, they slice stuff anyways and piece it together on keyframes?
[21:59:02 CET] <utack> you could probably also implement that in a bash script for your consumer machine quite easily?
[22:35:32 CET] <seb_> hello
[22:35:38 CET] <utack> hi
[22:36:54 CET] <seb_> i have a little question about PPM format
[22:37:27 CET] <seb_> i see that format could be in Binary or ASCII
[22:38:25 CET] <seb_> No luck for me, i think that by default the output format is Binary and not ascii
[22:38:50 CET] <seb_> is it a way to change de output format ?
[22:39:22 CET] <iranen> when do you think you can use ffmpeg to compress av1?
[22:40:53 CET] <seb_> I use ffmeg to make thumbnail
[22:45:42 CET] <kepstin> iranen: I'd expect it to be added fairly soon once the aom av1 encoder has a stable api.
[22:46:42 CET] <furq> yeah there hasn't been a release of libaom yet
[22:46:46 CET] <furq> presumably once there is then ffmpeg will add it
[22:47:02 CET] <furq> it's not like there aren't any aom developers in here who could add it
[22:47:44 CET] <utack> on the plus side if they add it in the current state, by christmas you might be done encoding your first 60 minute video :D
[22:48:31 CET] <iranen> ty for the info guys :)
[22:50:25 CET] <iranen> I'm really excited about av1
[22:50:28 CET] <DHE> even x264's API isn't quite stable... close, but not exactly
[22:51:13 CET] <DHE> iranen: I am as well, but what I really need is support in hardware, like TVs, Android, etc
[22:51:44 CET] <iranen> well sure
[22:52:09 CET] <kepstin> hmm, there's that exciting x264 api break just recently when they added multi-bit-depth support in one lib :)
[22:53:55 CET] <seb_> How to have with strftime() milliseconds?
[22:57:45 CET] <seb_> i found https://github.com/InSoundz/ffmpeg-strftime-milliseconds
[22:57:49 CET] <seb_> yessss
[22:58:24 CET] <seb_> it coud be add to ffmpeg
[23:09:46 CET] <SortaCore> *hunts for C++ nvenc hwaccel example*
[00:00:00 CET] --- Sun Feb  4 2018


More information about the Ffmpeg-devel-irc mailing list