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

burek burek021 at gmail.com
Fri Feb 12 02:05:01 CET 2016


[04:19:09 CET] <mike41> Does anyone know how to set the default or forced flags for matroksa subtitle streams?
[04:31:13 CET] <llogan> mike41: maybe something like "-disposition:s:2 default"
[04:31:20 CET] <llogan> 2 being the 3rd subtitle stream
[04:34:38 CET] <mike41> I did
[04:34:41 CET] <mike41> ffmpeg -i input.mkv -c copy -map 0 -disposition:s:1 default -disposition:s:2 default -disposition:s:3 default -disposition:s:4 default -disposition:s:5 default test.mkv
[04:34:57 CET] <mike41> no change in the output file
[04:39:51 CET] <llogan> i see thisquestion asked often but i don't know an answer.
[04:40:17 CET] <mike41> the topic mentions this channel is logged, do we know where these logs go?
[04:41:52 CET] <llogan> http://lists.ffmpeg.org/pipermail/ffmpeg-devel-irc/
[04:42:08 CET] <mike41> thanks, I'll grep this stuff and see what I can dig up
[04:42:27 CET] <llogan> might be worth trawling the bug tracker too
[04:42:50 CET] <llogan> IIRC, some of the similar questions involved mov instead of mkv
[04:55:23 CET] <mike41> my input is: Stream #0:3(eng): Subtitle: ass
[04:55:30 CET] <mike41> ffmpeg -i input.mkv -c copy -map 0 -disposition:s:3 forced -y test.mkv
[04:55:35 CET] <mike41> this command line changes nothing
[04:55:40 CET] <mike41> ffmpeg -i input.mkv -c copy -map 0 -disposition:s:s:1 forced -y test.mkv
[04:55:47 CET] <mike41> this command line sets it as forced...
[04:56:09 CET] <mike41> but :s:3 and :s:s:1 both refer to the same stream (in my mind)
[05:05:58 CET] <relaxed> mike41: how many subs in the input?
[05:07:03 CET] <mike41> 2
[05:07:43 CET] <mike41> 0:0 is video
[05:07:50 CET] <mike41> 0:1 is ac3
[05:07:54 CET] <mike41> 0:2 is ac3
[05:08:05 CET] <mike41> 0:3 is subs (ass)
[05:08:09 CET] <mike41> 0:4 is subs (ass)
[05:08:54 CET] <relaxed> which one do you want to be default?
[05:09:10 CET] <mike41> I want 0:3 to be forced
[05:09:21 CET] <relaxed> -disposition:s:s:0 forced
[05:09:31 CET] <relaxed> the count starts at zero
[05:10:15 CET] <mike41> -disposition:s:s:0 forced sets 0:3 as forced
[05:10:19 CET] <mike41> -disposition:s:s:1 forced sets 0:3 as forced
[05:10:22 CET] <mike41> -disposition:s:s:2 forced sets 0:3 as forced
[05:10:25 CET] <mike41> they all do the same thing
[05:10:49 CET] <mike41> -disposition:s:3 forced does nothing
[05:11:17 CET] <mike41> :/
[05:24:29 CET] <mike41> figured it out
[05:24:36 CET] <mike41> to change 0:3
[05:24:42 CET] <mike41> use -disposition:3
[05:24:54 CET] <mike41> to change subtitle 0 (which is also 0:3)
[05:24:59 CET] <mike41> use -disposition:s:0
[09:46:36 CET] <termos> codec_context->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; is there an overview or table about which codecs+containers this needs to be set for?
[09:59:46 CET] <Bluez_> termos: i havnt managed to find one, but you could look at the source to find where it prints the warning
[10:00:12 CET] <Bluez_> hmm why doesnt it like a pts of 0 for video, i have to start at 1
[10:33:04 CET] <Ccdc_DuckZ> hello, can somebody help me with a segfault in my code please?  http://pastebin.com/BvvDVgKA it crashes in avcodec_encode_video2(), and I'm not sure why
[10:33:51 CET] <Ccdc_DuckZ> maybe I'm decoding the input data (whole png file) the wrong way?
[11:24:09 CET] <k_sze[work]> You guys know MPEG-DASH?
[11:24:24 CET] <k_sze[work]> I mean, does any of you know?
[11:25:01 CET] <c_14> Know what specifically?
[11:31:05 CET] <oldcode> is it possible to use my own malloc and free with ffmpeg as a shared object?
[11:37:52 CET] <jkqxz> oldcode:  Of course.  Though note that malloc and free on their own are not sufficient - you will also need to replace realloc and probably posix_memalign (depends on what ffmpeg detected the system has).
[11:39:07 CET] <oldcode> jkqxz, where can i find the API functions to set the memory management function pointers? i spent a few hours looking, no luck
[11:41:37 CET] <jkqxz> Oh, right.  There isn't any API to use like that: I was meaning ELF interposition.  (With LD_PRELOAD, say.)
[11:44:31 CET] <oldcode> ok, that sounds too fragile. i'll probably just leave ffmpeg to allocate memory in its own way then
[11:51:11 CET] <jkqxz> There isn't anything special going on with memory allocation - ffmpeg (well, libavutil) just uses the C library.
[11:54:00 CET] <oldcode> my app uses a very fast arena style allocator with leak detection - i prefer external libraries to use it instead of malloc - some libraries allow you to set your own allocator
[11:57:45 CET] <jkqxz> Right, and ELF interposition by defining malloc/etc. in the executable would capture everything rather than just ffmpeg/lav*, which isn't necessarily what you want.
[12:02:51 CET] <jkqxz> If you are building ffmpeg yourself then you can add a prefix to all allocation functions by adding "--malloc-prefix=foo".  That would make it then use foomalloc, fooposix_memalign, etc. and you can then define those in your executable to only gets calls from ffmpeg.
[12:05:02 CET] <jkqxz> *adding "--malloc-prefix=foo" to configure, that is.
[12:06:48 CET] <oldcode> thats not a bad option, but its a cross platform app that only dynamically links to ffmpeg if it can find it. Users of my app can package their own ffmpeg dll or shared object if it isnt already installed on their machine
[12:08:50 CET] <BtbN> good luck targetting various libav* versions that way
[12:09:17 CET] <BtbN> or do you have an implementation for each ABI bump of the past few years?
[12:11:05 CET] <oldcode> yes thats going to be fun - i'm going to have to create a search list of compatible ABIs / versions
[12:11:47 CET] <BtbN> I'd say it's almost impossible to target all possible ffmpeg ABIs from a single binary, firefox is on the same quest currently
[12:11:59 CET] <oldcode> if it finds an old version, it'll simply say no
[12:12:36 CET] <oldcode> i'm happy to target only the most modern ABI, and i use only a common set of API calls which dont change a lot
[12:13:02 CET] <oldcode> i'm dynamically requesting each function address
[12:15:18 CET] <oldcode> and of the user want to be certain that their video will work, they can package their own ffmpeg
[12:15:24 CET] <oldcode> of=if
[14:04:25 CET] <momomo> anyone here alive?
[14:05:12 CET] <andrey_utkin> momomo: sure
[14:05:22 CET] <momomo> great :)
[14:05:44 CET] <momomo> I am on a Java platform and would like to keep it as Java as possible if you know what I mean.
[14:06:16 CET] <momomo> I have some streams that are in the mp2 format that I can connect to. These doesnt work in an html 5 video tag
[14:06:53 CET] <momomo> I would like to connect to these on the server side, and apply a lightweight as possible convertion into appropiate format using as few resources as possible
[14:07:10 CET] <momomo> and then serve this converted stream to the client
[14:07:42 CET] <momomo> i have studied differnt tools and i think using ffmpeg seems to be the best option ... but I am not sure ..
[14:07:51 CET] <gurabli> hi! i would like to ask for your help regarding ffmpeg with intel quick sync support on ubuntu server. Is there a guide I can follow? Thanks
[14:07:55 CET] <andrey_utkin> you could start with invoking ffmpeg as system command execution
[14:08:03 CET] <momomo> andrey_utkin, yes, that's what I was thinking
[14:08:16 CET] <momomo> andrey_utkin, i have this for now: http://pastebin.com/xuAiDCVD
[14:08:42 CET] <andrey_utkin> you could either consider conversion results as your "cache", or you could read conversion results from stdin (and to make ffmpeg put it to its stdout)
[14:09:13 CET] <andrey_utkin> momomo: seems legit. What's the problem?
[14:10:05 CET] <momomo> andrey_utkin, as of now ( current code ) writes to a file .. and then I am not sure how to pass it to the client .. ProcessBuilder can redirect to a file .. not sure how to get that to response output stream
[14:11:11 CET] <momomo> but I just gotten started .. i think i am still far away from getting anything working .. the current example also relies on mp4
[14:18:08 CET] <momomo> andrey_utkin, is tehre a way to test this outside of java .. test a command and see the video ? is there a built in player in ffmpeg ?
[14:18:15 CET] <momomo> or how would I go about this?
[14:20:48 CET] <J_Darnley> There's ffplay
[14:22:15 CET] <andrey_utkin> momomo: you can download the resulting file from your server and play in with any media player
[14:22:44 CET] <andrey_utkin> the issue you are experiencing is not ffmpeg-related, you got to figure out how to let your users download streams
[14:23:03 CET] <andrey_utkin> you could try to rely on functionality of some existing web servers, like apache/nginx/etc.
[14:24:56 CET] <momomo> what would be the command to run ffplay to turn a mpeg2 into h264 and play it?
[14:25:00 CET] <momomo> i tried ffplay -i http://85.229.9.206:9981/stream/channel/fdccb829c6e768d4643ae226c6e3b288 -y -vcodec libx264
[14:25:09 CET] <momomo> the url is a real one
[14:25:38 CET] <momomo> andrey_utkin, yes, i need to continue exploring my options .. i am not sure what the correct path right now would be
[14:25:49 CET] <DHE> sounds like you're doing a conversion for each user. is there any reason to not convert the video ahead of time and just serve one pre-converted copy instead?
[14:26:12 CET] <momomo> DHE, that's my final intention .. but I'd like to get just one working first
[14:26:17 CET] <momomo> :)
[14:26:50 CET] <andrey_utkin> momomo: your _ffmpeg_ command is right. _ffplay_ doesn't convert, it plays ready files.
[14:27:23 CET] <momomo> ah .. ok .. so I need to download some piece using ffmpef first ... lets try it .. and ffplay command then would be ?
[14:28:23 CET] <momomo> does this command loook correct:
[14:28:23 CET] <momomo> ffmpeg -i http://85.229.9.206:9981/stream/channel/fdccb829c6e768d4643ae226c6e3b288 -y -vcodec libx264 /momomo/Generated/Tv/a.mp4
[14:28:45 CET] <andrey_utkin> yes
[14:29:12 CET] <momomo> it loads for 2 seconds and then I get : http://85.229.9.206:9981/stream/channel/fdccb829c6e768d4643ae226c6e3b288: End of file
[14:29:27 CET] <momomo> I can't see the file a.mp4 under Generated
[14:34:15 CET] <momomo> seems to be something wrong with the strams
[14:34:25 CET] <momomo> i apoligzie .. i will try again soon
[14:56:31 CET] <endle> Excuse me, I'm reading ffmpeg's code now, and faced a problem
[14:57:17 CET] <endle> The coverage page(http://coverage.ffmpeg.org/) shows that libswscale got 54.7% coverage, but I can't find the test code for it
[14:57:28 CET] <endle> tests$ git grep -i swscale
[14:57:28 CET] <endle> ref/fate/source:libswscale/log2_tab.c
[14:57:42 CET] <endle> So where is the test code for libswscale?
[15:00:19 CET] <J_Darnley> in fate
[15:00:58 CET] <J_Darnley> any time a change in pixel format or a change in size is needed swscale is ued.
[15:01:01 CET] <J_Darnley> *used
[15:01:46 CET] <endle> So the code in libswscale are tested indirectly?
[15:02:40 CET] <J_Darnley> Not sure.  You'd have to check the tests run
[15:09:52 CET] <endle> A little confused
[15:10:36 CET] <J_Darnley> Okay, I think there are some dedicated test programs but most of the testing is done by executing ffmpeg
[15:11:10 CET] <J_Darnley> there are flac and h264 api tests for example
[15:12:15 CET] <J_Darnley> oh checkasm too for some dsp functions
[15:13:16 CET] <endle> Thanks. I was trying to send a patch fixing compile warnings in libswscale as my first patch to ffmpeg
[15:13:44 CET] <J_Darnley> Oh a noble effort
[15:13:58 CET] <J_Darnley> You can discuss this on #ffmpeg-devel
[15:14:09 CET] <J_Darnley> You're more likely to find someone who knows then.
[15:14:45 CET] <endle> Oops, I thought that this is for devel, and #ffmpeg-user is for daily use
[15:15:17 CET] <J_Darnley> I don't think there is an #ffmpeg-user IRC channel
[15:15:23 CET] <endle> Thanks
[15:23:57 CET] <momomo> is "-s 360x480" a requiremetn ?
[15:24:18 CET] <DHE> if you want to rescale the input, it's the easiest way
[15:28:26 CET] <momomo> ook
[15:30:46 CET] <momomo> If I don't want to record a stream, just send it along to the clients ... is there a way to make sure the file never gets bigger than say 50 MB ?
[15:34:45 CET] <DHE> set the bitrate to a value that ensures it won't. you'll have to do some math on-the-fly if the video length varies
[15:41:39 CET] <momomo> -maxrate 3000k -bufsize 6000k ?
[15:42:31 CET] <DHE> the math says that a 50 MB file will be about 2.2 minutes long
[15:42:39 CET] <DHE> (audio not included)
[15:43:21 CET] <momomo> so what is the flags and values that I need to use?
[15:47:01 CET] <YamakasY> what do you guys recommend for creating a mp4 out of an flv with best quality ?
[15:47:28 CET] <J_Darnley> ffmpeg
[15:48:35 CET] <YamakasY> yes but which parameters :)
[15:48:50 CET] <J_Darnley> Depends on what's in the flv file
[15:49:12 CET] <YamakasY> audio/video h.264
[15:49:17 CET] <J_Darnley> If they're suitable for mp4 then copy
[15:49:21 CET] <J_Darnley> otherwise encoding
[15:49:30 CET] <J_Darnley> h264 is not an audio format
[15:49:31 CET] <YamakasY> yeah that's why
[15:49:42 CET] <YamakasY> fps if 25
[15:49:45 CET] <YamakasY> of
[15:50:08 CET] <J_Darnley> try just -c copy to begin with
[15:50:54 CET] <YamakasY> yeah that was nog that good @ the past
[15:51:00 CET] <YamakasY> *not
[15:51:46 CET] <J_Darnley> "not good" is not an error message
[15:51:57 CET] <J_Darnley> I will assume the the audio is the problem then
[15:52:01 CET] <J_Darnley> -c:a aac
[15:52:36 CET] <YamakasY> yap
[15:52:48 CET] <YamakasY> -c is a shorttag for cop and a ?
[15:52:51 CET] <YamakasY> async ?
[15:53:15 CET] <J_Darnley> No
[15:53:34 CET] <J_Darnley> The old syntax would be -vcodec and -acodec
[15:53:47 CET] <J_Darnley> but apprarently that's too verbose today
[15:56:14 CET] <at0m> hi, is there any (static?) builds of ffmpeg that support QSV? https://trac.ffmpeg.org/wiki/HWAccelIntro
[15:56:24 CET] <at0m> looking to encode using hw accel
[16:06:01 CET] <YamakasY> J_Darnley: is it or think people it is ;)
[16:06:29 CET] <J_Darnley> Ask whoever changed it.
[16:06:44 CET] <J_Darnley> I think the command line options just get worse and worse
[16:08:29 CET] <Ccdc_DuckZ> I don't understand what cleanup I have to do here http://ffmpeg.org/doxygen/2.8/group__lavf__core.html#gadcb0fd3e507d9b58fe78f61f8ad39827
[16:09:23 CET] <Ccdc_DuckZ> it says I should call avcodec_close and avformat_free_context, but what should I pass to those? the example from muxer.c linked there passes AVStream::st to avcodec_close
[16:09:46 CET] <Ccdc_DuckZ> so I guess that's one, but what about avformat_free_context?
[16:10:13 CET] <J_Darnley> Does it not have a type in the function signature?>
[16:10:55 CET] <Ccdc_DuckZ> it takes an AVFormatContext, so not an AVStream
[16:11:55 CET] <Ccdc_DuckZ> and avcodec_close takes an AVCodec... so bonus question: how do I cleaup the AVStream pointer, since none of the suggested functions there accept one such pointer?
[16:12:57 CET] <J_Darnley> I don't know.  Just exit?
[16:13:15 CET] <Ccdc_DuckZ> sounds like a leak tho
[16:14:13 CET] <J_Darnley> Does any real OS not free memory when a program exists?
[16:14:19 CET] <J_Darnley> *exits
[16:14:59 CET] <Ccdc_DuckZ> idk, the problem is what happens if the program calls my function 1 million times without ever exiting?
[16:15:38 CET] <Ccdc_DuckZ> rage quit?
[16:16:09 CET] <Ccdc_DuckZ>  (o° °	o5 ;;)
[16:17:05 CET] <Mavrik> Ccdc_DuckZ, AVStreams are cleaned up in avformat_free_context.
[16:18:00 CET] <Mavrik> https://www.ffmpeg.org/doxygen/2.5/libavformat_2utils_8c_source.html#l03574
[16:20:55 CET] <Ccdc_DuckZ> Mavrik: so whatever AVStream, it gets deleted when the associated context is killed?
[16:21:54 CET] <Mavrik> Yes, since it gets attached to the format context when you create it.
[16:22:14 CET] <Mavrik> Streams not attached to a format context don't really make much sense in ffmpeg API
[16:22:50 CET] <Ccdc_DuckZ> ok, I see  :)
[16:43:34 CET] <YamakasY> can't I get a/v sync much much better ? I use -async 1 now
[16:46:12 CET] <shincodex> Hi, How do i tell if libavformat or whatever in the stupid ass collection network stream dropped
[16:46:15 CET] <shincodex> IS there a callback
[16:46:42 CET] <shincodex> EG RTSP into a camera get stream av_decode everything is great and lovely... then some asshat kicks the router... or they reboot the camera
[16:47:11 CET] <shincodex> IS there a callback of rtsp/avformat the library controlling connections of ffmpeg to tell me E_IDIOT_RECONNECT
[16:47:19 CET] <shincodex> or errno
[16:48:22 CET] <shincodex> OR... https://trac.ffmpeg.org/ticket/2694
[16:48:28 CET] <shincodex> Look at that would that work?
[16:48:46 CET] <shincodex> Does that timeout value checked in the strucutre mean no communication from stream... (we might be dead or not)
[17:05:15 CET] <Bluez_> hi guys
[17:05:38 CET] <Bluez_> im trying to put raw aac frames into a quicktime container, the video works fine, but the audio only seems to play half of each frame
[17:05:54 CET] <Bluez_> pts/dts is all correct, the audio is in the right place in the video
[17:06:28 CET] <Bluez_> frame size is correct (confirmed on a xcode version)
[17:07:13 CET] <shincodex> dont sleep anywhere.
[17:31:24 CET] <Bluez_> argh this is driving me crazy
[17:33:31 CET] <Ccdc_DuckZ> other question: I'm following the code this dude posted on SO http://stackoverflow.com/questions/31387067/segmentation-fault-with-avcodec-encode-video2-while-encoding-h-264 and I see he does AVFrame* sourceAvFrame = av_frame_alloc()
[17:34:07 CET] <Ccdc_DuckZ> then the next time he uses that variable is: avpicture_alloc((AVPicture*)sourceAvFrame, blah)
[17:34:56 CET] <Ccdc_DuckZ> so why the cast, and what do I pass to avpicture_free()? because he's not doing any cleanup at all
[17:36:22 CET] <Ccdc_DuckZ> I'm cleaning my frames with av_freep(&frame->data[0]); av_frame_free(&frame);
[17:39:46 CET] <momomo> guys, i can't get this to work, i know it's java.. but maybe you can spot something that I can't : http://pastebin.com/Zf2YEZ7a
[18:01:31 CET] <Mavrik> Ccdc_DuckZ, that looks like ancient API that's mostly deprecated.
[18:01:36 CET] <Mavrik> What are you trying to do?
[18:05:16 CET] <Ccdc_DuckZ> Mavrik: I'm trying to encode jpg/png frames into an animated gif, but my code segfaults miserably in avcodec_encode_video2 :(
[18:06:31 CET] <Mavrik> Anyway, avpicture_alloc will kill you on new reference counted code.
[18:06:54 CET] <Mavrik> use av_frame_alloc(), and av_frame_get_buffer() to allocate it's buffer.
[18:07:01 CET] <Mavrik> Make sure you set properties av_frame_get_buffer needs first.
[18:07:16 CET] <Mavrik> Then you'll have valid AVFrame.data buffers.
[18:07:22 CET] <Mavrik> And you'll be able to encode stuff.
[18:07:32 CET] <Mavrik> Also, get a debugger so you'll know where avcodec_encode_video2 crashes.
[18:09:15 CET] <Ccdc_DuckZ> I know, I built ffmpeg in release, so I won't see where it crashes anyways
[18:11:21 CET] <Ccdc_DuckZ> btw I'm a bit confused now... first I call avcodec_decode_video2, which fills a frame structure, right? in that case packet=input and frame=output, right?
[18:12:11 CET] <jmcdonald> Hey guys, I'm trying to install ffmpeg on CentOS Linux release 7.2.1511, but all guides that I'm following seem to be out of date and no longer valid.  Does anyone have any tips, or should I just install from source?
[18:12:12 CET] <Ccdc_DuckZ> then I call avcodec_encode_video2, passing the same frame I passed to decode and a different packet, because here packet=output and frame=input... or not?
[18:12:49 CET] <Ccdc_DuckZ> jmcdonald: normally I ask those questions on the distro's channel
[18:13:12 CET] <jmcdonald> Sorry, new to IRC.  I'll switch to the distro channel, thanks :)
[18:14:37 CET] <Ccdc_DuckZ> Mavrik: so that's to say, if my frame is (supposedly) already initialized, when do I have to call av_frame_get_buffer()?
[18:15:09 CET] <Mavrik> Ccdc_DuckZ, ah, nop, if you decoded it then your AVFrame must be valid.
[18:15:23 CET] <Mavrik> And you should really build ffmpeg with debug symbols for easier debugging.
[18:15:31 CET] <Mavrik> Usually just seeing which field crashes is a huge help :P
[18:16:22 CET] <Ccdc_DuckZ> can you have a quick look at my code, in case you spot any obvious mistake? 'cause I'm leaving soon, reubilding will have to wait until tomorrow
[18:20:42 CET] <Ccdc_DuckZ> Mavrik: http://pastebin.com/JnzdwBGU and http://pastebin.com/jzesvhpW and http://pastebin.com/mj14TAvD
[18:21:53 CET] <Mavrik> Ccdc_DuckZ, hrmf, I don't see you converting pixel formats anywhere.
[18:22:09 CET] <Mavrik> You set output pix_fmt to PAL8 and input is almost certanly either YUV (jpeg) or RGB (png)
[18:22:26 CET] <Mavrik> So when the encoder tries to read the palette it probably crashes.
[18:22:59 CET] <Ccdc_DuckZ> hmm... I thought the encoder would know that...
[18:27:12 CET] <Ccdc_DuckZ> I can't find how to do that... I'll check tomorrow again, thanks for the hint btw ;)
[18:28:20 CET] <King_DuckZ> Mavrik: I'll be online/afk from here btw
[18:54:06 CET] <shincodex> what about me dieing
[18:54:15 CET] <shincodex> what can i check in ffmpeg to see if my network stream died
[19:00:10 CET] <anewinckname> I am trying to make a script that when ran will execute a ffmpeg  command.I have the script mostly made,minus one issue.I need to output the encoded video in to a new folder(which is made at the start of the script).Im having trouble finding out how to output to a folder. Here is the script: http://pastebin.com/DDeCjmwH
[19:28:11 CET] <pzich> anewinckname: that looks like it should work, what are you seeing?
[19:29:03 CET] <anewinckname> pzich: It does the encoding,but it errors out saying that "done" is a directory and exits. The encoded video erased
[19:31:37 CET] <DHE> it's reading a .mkv as both input file and subtitle file?
[19:32:23 CET] <DHE> otherwise yeah looks okay to me
[19:32:46 CET] <anewinckname> Yes. I need to hardsub the subtitles,the subtitles are softsubbed and the device i am using dosent support subtitles Running the command without variables in it, it encodes as expected
[19:34:07 CET] <derekprestegard> hello,
[19:35:25 CET] <derekprestegard> Im scaling a 1920x1080 video down to fit in an 720x512 frame. I can go to 720x480 no problem using -vf pad=720:480:0:60 but I also need to add 32 lines of pad to the top for the vbi area. if I chain this with another pad=720:512:0:0 I get [Parsed_pad_2 @ 0x7fdef1c13020] Input area 0:0:720:480 not within the padded area 0:0:512:480 or zero-sized
[19:35:26 CET] <derekprestegard> [Parsed_pad_2 @ 0x7fdef1c13020] Failed to configure input pad on Parsed_pad_2
[19:35:26 CET] <derekprestegard> Error opening filters!
[19:35:53 CET] <derekprestegard> sorry that was not clear& one second
[19:49:52 CET] <situation> is this for disney? :D
[19:52:32 CET] <Matador> solid
[19:52:44 CET] <derekprestegard> sorry about that :D
[19:53:50 CET] <Matador> its ok.. your an expert
[20:12:03 CET] <_TheArtist_> Hello! Can ffserver accept rtmp input?
[20:18:28 CET] <derekprestegard> thoughts on dithering options in zscale? is there a generally regarded best practice for 10 bit to 8 bit dithering? (prores to MPEG-2, DV, H264 etc)
[20:18:51 CET] <derekprestegard> guessing error_diffusion gives nice results?
[20:22:48 CET] <durandal_1707> use format after zscale to make sure its called and not scale
[20:26:58 CET] <derekprestegard> durandal_1707: not sure what you mean - can you clarify? proposed command follows:
[20:27:01 CET] <derekprestegard> ffmpeg -i Trimmed_Trailer_Source.mov -map 0:0:0:0:0:0 -vf zscale=w=720:h=360:filter=spline36:dither=error_diffusion,pad=720:480:0:60,pad=720:512:0:32,telecine=t:23,colormatrix=src=bt709:dst=bt601 -c:v mpeg2video -pix_fmt yuv422p -b:v 15000k -minrate 15000k -maxrate 15000k -bufsize 7500k -dc 10 -alternate_scan 1 -mpeg_quant 1 -flags +ilme+ildct -top 1 -aspect 4:3 -filter_complex "[0:1][0:2]amerge=inputs=2[aout]" -map "[aout]" -c:a mp2
[20:27:01 CET] <derekprestegard> -b:a 384000 -f vob ntsc_mpeg2_dithered.mpg
[20:27:53 CET] <durandal_1707> why telecine?
[20:28:04 CET] <derekprestegard> have to make a 59.94i otuput for broadcast
[20:28:16 CET] <derekprestegard> also why Im making a 16x9 file letterboxed to 4x3 :|
[20:29:53 CET] <durandal_1707> also zscale should change colormatrix not that awful filter
[20:30:05 CET] <derekprestegard> heheh ok
[20:30:22 CET] <durandal_1707> it operates in 8bit only
[20:31:55 CET] <derekprestegard> so like zscale=w=720:h=360:filter=spline36:dither=error_diffusion:matrix=170m:matrixin=709
[20:32:03 CET] <furkan> jkqxz: so guess what, wireshark didn't reveal any packet loss, because everything is being received and in correct order, but it turns out that the kernel has been dropping packets (specifically UDP packets)
[20:32:19 CET] <furkan> i think i need to increase some buffering somewhere, it's probably because of lack of flow control with UDP
[20:32:40 CET] <derekprestegard> durandal_1707:  noticed theres no 601 mentioned in zscale for matrix
[20:33:11 CET] <durandal_1707> its another name, alias for sure
[20:33:24 CET] <derekprestegard> 170m == 601 basically?
[20:37:42 CET] <durandal21707> 601 is mentioned for other things primaries, etc
[20:41:40 CET] <derekprestegard> got it
[20:41:44 CET] <derekprestegard> fark this is slow!!!
[20:42:05 CET] <derekprestegard> like under 2fps when I use zscale to dither and do all the colorspace conversions
[20:42:22 CET] <derekprestegard> is that normal??
[20:42:26 CET] <durandal21707> perhaps you havent enabled asm when building it?
[20:42:34 CET] <derekprestegard> I downloaded a zeranoe build
[20:42:39 CET] <durandal21707> ah
[20:43:29 CET] <derekprestegard> I wonder if its applying all the conversions when the video is still 1080 then scaling it down. That would be wasteful
[20:46:04 CET] <durandal21707> even if it is, difference should be marginal
[20:46:28 CET] <durandal21707> i got 12-14fps with 1080i30 input
[20:46:38 CET] <durandal21707> with asm enabled
[20:46:52 CET] <durandal21707> and this is without threads unfortunately
[20:50:50 CET] <derekprestegard> thats weird
[20:50:55 CET] <derekprestegard> how does one thread it?
[20:51:47 CET] <durandal21707> currently you cant
[20:51:55 CET] <derekprestegard> gotcha
[20:54:14 CET] <derekprestegard> how can i tell if asm is disabled?
[20:59:27 CET] <derekprestegard> yeah dithering only gets me about 10fps
[20:59:34 CET] <derekprestegard> dithering + color matrix goes under 5
[20:59:57 CET] <derekprestegard> and dithering + color matrix + transfer + primaries goes under 2& this is all on an Ivy Bridge Xeon too!
[21:01:04 CET] <JEEB> derekprestegard: I think durandal21707 picked the slowest defaults for dithering
[21:01:57 CET] <durandal21707> JEEB: default is none :)
[21:02:03 CET] <JEEB> oh
[21:02:04 CET] <JEEB> lol
[21:03:02 CET] <derekprestegard> so can I get better than no dithering and better than 10 fps for SD ?? :)
[21:11:30 CET] <JEEB> you might want to also try out vapoursynth, where zimg/zscale "comes from" and is threaded
[21:11:40 CET] <JEEB> it doesn't really handle audio though
[21:31:48 CET] <Bluez_> hey guys, this is driving me crazy.  Im encoded h264 and aac (raw frames) into a .mov (quicktime) container.  the video works, the audio also works in vlc
[21:32:14 CET] <Bluez_> but in quicktime i dont get any audio, and media ispector in quicktime only shows the avc1/h264 track
[21:32:15 CET] <Bluez_> http://pastebin.com/raw/yeACQUHD
[21:32:32 CET] <Bluez_> im pulling out my hair :/
[21:43:18 CET] <llogan> Bluez_: did you use ffmpeg to encode?
[21:43:36 CET] <Bluez_> no its raw h264 and aac from a hardware device
[21:43:49 CET] <Bluez_> theres no adts headers either only rtp, which ive removed
[21:44:01 CET] <llogan> how is ffmpeg involved? muxing?
[21:44:02 CET] <at0m> hi, is there any (even static?) builds of ffmpeg that support QSV? https://trac.ffmpeg.org/wiki/HWAccelIntro ? looking to use hw encoding. will try a compile myself, but it's not my forte...
[21:44:06 CET] <Bluez_> yes just muxing
[21:44:39 CET] <Bluez_> im using the apis in C
[21:45:01 CET] <Bluez_> http://pastebin.com/raw/RAkWCTjM
[21:45:28 CET] <llogan> not my area, but maybe you can get help at libav-user mailing list if not here
[21:50:59 CET] <derekprestegard> I heard ffmbc has been merged into ffmpeg?
[21:51:09 CET] <derekprestegard> I want to make imx50 but -target imx50 doesnt appear to work
[21:51:15 CET] <llogan> where did you hear that?
[21:51:24 CET] <derekprestegard> dunno somewhere on the web lol
[21:51:31 CET] <derekprestegard> in any case, can ffmpeg make imx50 in mxf?
[21:52:25 CET] <JEEB> probably yes, -target imx50 is most probably just a shorthand for a bunch of options
[21:52:31 CET] <derekprestegard> yeah
[21:52:37 CET] <derekprestegard> seems to throw an error for me
[21:52:49 CET] <JEEB> also you can't really merge things as-is from ffmbc
[21:52:57 CET] <derekprestegard> Unknown target: imx50
[21:53:17 CET] <JEEB> yes, which is why I kind of wanted to hint at you actually going to look at the actual parameters that target sets :P
[21:53:30 CET] <derekprestegard> yeah lol I did, I think Ive got a valid video essence
[21:53:36 CET] <derekprestegard> bunch of params
[21:53:53 CET] <derekprestegard> -pix_fmt yuv422p -minrate 50000k -maxrate 50000k -b:v 50000k -intra -flags +ildct+ilme+low_delay -intra_vlc 1 -non_linear_quant 1 -ps 1 -qmin 1 -qmax 3 -top 1 -dc 10 -bufsize 2000000 -rc_init_occupancy 2000000 -rc_buf_aggressivity 0.25 -bsf:v imxdump -tag:v mx5p
[21:54:32 CET] Action: llogan is happy to not ever deal with mxf
[21:55:51 CET] <derekprestegard> my concern is the audio - imx would properly have a 4ch aes3/s302m pcm track
[21:57:40 CET] <JEEB> I've seen everything from multiple channels in a single track to multiple tracks for a set of channels
[21:57:43 CET] <JEEB> in MXF
[21:57:53 CET] <JEEB> thankfully I only have to deal with the waste other people throw at me
[21:57:57 CET] <JEEB> not create more of it
[21:58:08 CET] <dowdle> Any familiar with WebEx's .wfr files?  Is that a completely closed codec that one needs their software to work with?  Or is it something perhaps ffmpeg understands (I should check the --formats flag)
[21:58:50 CET] <dowdle> Make that -formats
[21:58:54 CET] <derekprestegard> yeah, xdcam generally requires one channel per track and imx usually requires 4 or 8 channels per track
[21:58:56 CET] <JEEB> easiest is to build recent FFmpeg and see if "ffprobe file.wfr" tells you anything useful
[21:59:10 CET] <derekprestegard> its pretty straighforward once youve had some experience with these files :)
[21:59:20 CET] <JEEB> derekprestegard: I also love it when people have out-of-band data in the video
[21:59:28 CET] <llogan> dowdle: a sample file would be nice to have if it can't
[21:59:30 CET] <derekprestegard> yeah lol!!! that part is totally looney tunes
[21:59:58 CET] <dowdle> llogan: I need to find a sample.  I was just asked about them today and am researching.
[22:00:38 CET] <dowdle> llogan: They have their own player here - https://www.webex.com/play-webex-recording.html and that page mentions .arf and .wrf files.
[22:01:12 CET] <llogan> ARF. The file for dogs.
[22:05:54 CET] <derekprestegard> how do I make silent audio tracks?
[22:06:39 CET] <llogan> use anullsrc filter
[22:06:57 CET] <llogan> or aevalsrc if you prefer
[22:11:00 CET] <derekprestegard> turns out theres a special mxf muxer for imx/d10. its -f imx_d10
[22:15:43 CET] <derekprestegard> if anyone needs to encode 16x9 PAL IMX 50, heres a working command that is valid in sony tools
[22:16:06 CET] <derekprestegard> -c:v mpeg2video -pix_fmt yuv422p -minrate 50000k -maxrate 50000k -b:v 50000k -intra -flags +ildct+ilme+low_delay -intra_vlc 1 -non_linear_quant 1 -ps 1 -qmin 1 -qmax 3 -top 1 -dc 10 -bufsize 2000000 -rc_init_occupancy 2000000 -rc_buf_aggressivity 0.25 -bsf:v imxdump -tag:v mx5p -filter_complex "[0:1][0:2][0:3][0:4]amerge=inputs=4[aout]" -map "[aout]" -c:a pcm_s24le -r 25 -f mxf_d10 pal_imx50_16x9.mxf
[22:18:28 CET] <dowdle> Ok, I got a sample .wrf file and no... ffprobe doesn't know what it is... and neither does the file command.  "data"
[22:23:59 CET] <llogan> dowdle: you can make a feature request on the bug tracker and provide a sample
[22:33:15 CET] <dowdle> llogan: Ok.
[22:57:23 CET] <dowdle> llogan: Without any kind of spec for .wrf, filing a request for feature ticket would be a waste of time... unless someone likes reverse engineering in their free time.
[22:59:25 CET] <JEEB> there's some people who like that
[22:59:43 CET] <JEEB> there's almost always someone with Mrs. IDA up on their laptop at the usual meetings
[23:10:22 CET] <momomo> when I execute the command : ffmpeg -i http://85.229.9.206:9981/stream/channel/channel4 -y -vcodec libx264 /momomo/Generated/Tv/store.mp4
[23:10:31 CET] <momomo> the file store.mp4 gets created
[23:11:00 CET] <momomo> if I try to play it before exiting (CTRL+C) then it won't play ... first when I exit does it do so
[23:11:27 CET] <momomo> the thing is that I would like to send the stream to a webbrowser directly and keep the stream open ( not exit it )
[23:12:12 CET] <drv> the mp4 format is not streamable; it has a moov chunk that needs to be written after the file is finished before it can be played
[23:12:42 CET] <momomo> what format is? hls262 == mp4  ?
[23:12:49 CET] <momomo> 264
[23:13:18 CET] <drv> hls uses a bunch of short segments to accomplish streaming
[23:14:18 CET] <momomo> the above command converts a stream to hls264 i believe ...
[23:14:47 CET] <furq> it doesn't and you seem to have got hls and h264 confused
[23:14:59 CET] <momomo> yes, maybe
[23:15:05 CET] <momomo> i just found this: https://hetzel.net/2014-01-29/youtube-videos-will-process-faster-encode-streamable-file-format/
[23:15:07 CET] <furq> hls is a bunch of .ts files
[23:15:22 CET] <furq> also youtube doesn't use hls
[23:15:22 CET] <momomo> yes, lets forget about that. i need web usable format
[23:15:39 CET] <momomo> h.264
[23:15:53 CET] <furq> as far as i know you're limited to flv
[23:15:59 CET] <furq> unless you use hls or dash, in which case ts
[23:16:15 CET] <furq> and of course flv won't work with html5 video
[23:16:32 CET] <momomo> what does work with html5 video ?
[23:16:39 CET] <furq> mp4 and webm
[23:16:47 CET] <furq> webm can't contain h264
[23:17:00 CET] <momomo> webm can be used for streaming ?
[23:17:08 CET] <furq> maybe
[23:17:10 CET] <furq> i've never tried
[23:17:17 CET] <momomo> mp4/h.264 can not ?
[23:17:51 CET] <pinPoint> Does anyone think the first comment at the bottom is spot on? What about the second comment? Does time(cpu time) not == overall time spend encoding? http://wideopenbokeh.com/AthenasFall/?p=303
[23:17:55 CET] <pinPoint> thanks ^^^^
[23:18:06 CET] <furq> momomo: your best bet is probably using HLS
[23:18:09 CET] <furq> ffmpeg has a builtin hls muxer
[23:18:24 CET] <furq> and iirc it will work with a single .ts file, it doesn't have to be chunked
[23:18:28 CET] <furq> the playlist can just refer to offsets
[23:18:57 CET] <furq> it won't work with plain html5 video, but you can use hls.js
[23:19:40 CET] <furq> https://github.com/dailymotion/hls.js/
[23:22:01 CET] <momomo> furq, so I would use ffmpeg to convert original stream to hls somehow, and then use this gigantic library to play it
[23:22:02 CET] <momomo> ?
[23:22:49 CET] <furq> normally i would agree that 114KB of javascript is excessive, but this is for streaming video
[23:23:08 CET] <furq> it's not like that's going to be a significant percentage of bandwidth
[23:23:39 CET] <furq> https://www.ffmpeg.org/ffmpeg-formats.html#hls-1
[23:24:53 CET] <momomo> furq, true
[23:25:01 CET] <momomo> i found this pretty big thread: http://stackoverflow.com/questions/21921790/best-approach-to-real-time-http-streaming-to-html5-video-client
[23:25:51 CET] <momomo> it doesnt seem to work on iphone thoguh
[23:26:24 CET] <furq> er
[23:26:37 CET] <furq> hls was designed by apple
[23:26:51 CET] <furq> it should definitely work on iOS
[23:27:05 CET] <furq> i don't think DASH does, but DASH looks like a hot mess
[23:27:22 CET] <momomo> hls.js is compatible with browsers supporting MSE with 'video/MP4' inputs. as of today, it is supported on:
[23:27:22 CET] <momomo> Chrome for Android 34+
[23:27:22 CET] <momomo> Chrome for Desktop 34+
[23:27:22 CET] <momomo> Firefox for Desktop 38+ (with media.mediasource.whitelist=false in about:config)
[23:27:22 CET] <momomo> IE11+ for Windows 8.1
[23:27:23 CET] <momomo> Safari for Mac 8+ (beta)
[23:27:31 CET] <furq> right, iOS supports it natively
[23:27:39 CET] <momomo> not in the browser
[23:28:30 CET] <momomo> i have been in the web world long enough to understand that these mutha fuckers do these things on purpose ... there is nothing in the web world that just worjs
[23:28:31 CET] <momomo> works
[23:29:16 CET] <furq> no i'm pretty sure it's supported in the browser on mobile devices
[23:29:32 CET] <furq> i have no way of testing though
[23:30:20 CET] <furq> https://walterebert.com/playground/video/hls/
[23:30:35 CET] <furq> that claims it's supported in safari on osx and iOS
[23:31:22 CET] <furq> obviously you'd still ideally want an RTMP fallback for people on old IEs
[23:32:43 CET] <momomo> not really, don't care
[23:32:47 CET] <momomo> about those
[23:33:18 CET] <momomo> on that demo page, only the last one worked .. the flash one
[23:33:27 CET] <furq> yeah that page isn't using hls.js
[23:33:32 CET] <furq> that's using hls natively
[23:33:45 CET] <furq> which should work on iOS safari and android browser
[23:35:04 CET] <momomo> jeezus .. why would the not support it natively on the desktop .. always making life difficult
[23:35:16 CET] <furq> dash is the anointed son of the desktop
[23:35:23 CET] <furq> which of course doesn't work at all on iOS
[23:35:35 CET] <furq> hls.js is actually pretty good though
[23:37:23 CET] <momomo> i found this too: https://www.theoplayer.com/ costs money though
[23:39:13 CET] <furq> that's probably just using hls.js anyway
[23:40:07 CET] <TD-Linux> furq, well MSE is the anointed son of the desktop :)
[23:41:22 CET] <momomo> I need to test this tomorrow ... and figure out the right command for executing ffmpeg into a hls
[23:45:40 CET] <tp__> momomo: mkv works in chrome also
[23:46:00 CET] <tp__> but thats probably the only browser mkv works in :P
[23:46:22 CET] <kepstin> nah, works in gnome's "epiphany" browser. but nobody uses that :)
[23:46:25 CET] <furq> does it actually officially work or is it just a byproduct of webm support which might break
[23:46:49 CET] <kepstin> (epiphany will play anything that your gstreamer installation can decode in a video tag)
[23:47:10 CET] <tp__> not officially, but it doesnt break
[23:47:20 CET] <furq> by might i mean in the next chrome release
[23:48:58 CET] <tp__> no idea, i cant see why they should break it
[23:49:37 CET] <furq> famous last words
[23:50:39 CET] <tp__> worked for quite a while now
[00:00:00 CET] --- Fri Feb 12 2016


More information about the Ffmpeg-devel-irc mailing list