[00:00] <c_14> Yes, not sure if that's done automatically though... [00:01] <quebre> ok... [00:02] <kepstin-laptop> the -target option is already rescaling the video to the correct 720x480/5XX for the dvd; i'd expect that ffmpeg is probably guessing something reasonable for aspect by default to tell the player if stretching/squishing is needed. [00:02] <kepstin-laptop> but -aspect could override that if something goes wrong... [00:05] <quebre> alright [00:05] <quebre> how can i enable CUDA for ffmpeg? this conversion takes really long time ;P [00:11] <quebre> seems it got converted [00:11] <quebre> is it ok that original file had 1.73gb and output is 1.02gb ? [00:13] <kepstin-laptop> your original was a 720p h.264 video, the output is a standard definition mpeg2 video; sounds about right. [00:13] <quebre> oki [00:22] <quebre> is it ok that the resulotion after conversion is 1280x720 ? [00:23] <kepstin-laptop> huh, I thought the target option would set that.... I guess I was wrong [00:23] <quebre> ;X [00:25] <llogan> it should scale to 720x576 or 720x480 [00:25] <kepstin-laptop> yeah, the docs say it should be scaling [00:25] <llogan> (see ffmpeg_opt.c) [00:25] <kepstin-laptop> the -target option does the equivalent of setting -s, which will insert a scale filter if needed [00:25] <quebre> i did: ffmpeg cartoon.mkv -target pal-dvd dvd cartoon.mpg [00:25] <quebre> (im using 64bit ffmpeg uner windows 7) [00:26] <quebre> i meant ffmpeg -i (...) [00:26] <c_14> eh [00:26] <llogan> remover that superflous dvd [00:26] <c_14> ^that [00:27] <quebre> ffmpeg cartoon.mkv -target pal-dvd cartoon.mpg [00:27] <quebre> good ? [00:27] <llogan> sure [00:27] <quebre> ok [00:27] <quebre> here we go again [00:27] <quebre> that's the only downside. speed [00:28] <quebre> or lack of speed [00:29] <quebre> i know ffmpeg for longer time, i guess it's best converted in the world :p [00:29] <quebre> converter* [00:30] <llogan> kepstin-laptop: is the k6 done yet? [00:33] <Suchiman> quebre: just get a frickin 36 core system, ffmpeg nicely scales with CPU cores ;) [00:33] <quebre> yeah, one day.. when i get better job :PPP [00:34] <kepstin-laptop> llogan: still going. [00:34] <sacarasc> You're converting to MPEG2, I wouldn't be surprised if most of the CPU is being used for decoding. :p [00:34] <quebre> 95% cpu usage :D [00:34] <quebre> the ammount of ram does not help much i think [00:34] <kepstin-laptop> it's onto the filter-pixfmts tests now... [00:35] <Suchiman> quebre: you just need a motherboard that holds two of them: http://ark.intel.com/products/81061/Intel-Xeon-Processor-E5-2699-v3-45M-Cach... [00:37] <quebre> The Xeon E5-2699 V3 is listed for 3,960.26 EUR (...) [00:37] <quebre> right. [00:37] <Suchiman> i wonder how much cores x264 can utilize at maximum [00:42] <foonix> maybe video height / 48 [00:46] <quebre> ok the resolution is now 720x576 [04:18] <molikto> Hi, anyone here? [04:18] <molikto> question: Can I get metadata for a stream? because I want to get the rotation of a video but the metadata does not appears if I use ffmetadata [04:35] <molikto> is this channel dead? [04:36] <EvolE_> quebre: probably all are sleeping [04:36] <EvolE_> ... [08:46] <anshul_mahe> how to set explicitly maximum_number_of_frames in x264 [09:04] <K4T> frame=3407399 fps= 50 q=30.0 size=37510276kB time=18:55:47.97 bitrate=4509.1kbits/s DUP=14 DROP=0 [09:04] <K4T> what is that DUP and DROP? [09:04] <K4T> it is not always showing [09:05] <BtbN> duplicated and dropped frames. [09:05] <K4T> it means that 14 frames is duplicated in every second, yes? [09:06] <sacarasc> Total, I thought. [09:06] <K4T> ow, from ffmpeg start, yes? [09:06] <sacarasc> Yes, I think so. [09:07] <Mavrik> yes [09:07] <Mavrik> dup= - number of frames that were duplicated to keep up with desired framerate [09:07] <K4T> so, nothing to worry, 14 duplicated frames per 19h streaming [09:07] <Mavrik> drop= - number of frames tropped to keep up with farmerate [09:07] <K4T> Mavrik, thank you [09:07] <BtbN> more like dropped because of bad network connection [09:08] <BtbN> accidently encoding too many frames doesn't happen [09:08] <K4T> video card is input for ffmpeg, so I thjink it is not related to network environment [09:08] <BtbN> The input doesn't matter at all for dropping frames [09:28] <K4T> what will happen when I run ffmpeg on machine which have 2 CPUs, each with 4 cores? All CPUs and cores (8) will be used by that ffmpeg instance? [09:28] <sacarasc> Depending on the encoder, yes. [09:31] <anshul_mahe> I am using libx264 when I encode the video it sets log2_max_frame_num to 4 which means maximum frames as 2^4+4 = 256, since i concat that video with other large video [09:31] <K4T> sacarasc, I will use libc264 for video and aac for audio [09:31] <K4T> libx264* [09:31] <anshul_mahe> I need to set the value of log2_max_frame_num to 6 means number of frame 1024 [09:32] <sacarasc> K4T: That should use all 8 cores. [09:33] <anshul_mahe> If I directly use x264 then there is option called --frames and how to use that option in ffmpeg, I tried -x264opts but that fails for this option [09:47] <K4T> anshul_mahe, try -x264opts frames [09:48] <anshul_mahe> K4T: not working [09:48] <K4T> paste error [09:48] <K4T> and command line [09:51] <anshul_mahe> here is all you wanthttp://pastebin.com/NYbe9u7e [09:51] <anshul_mahe> here is all you want http://pastebin.com/NYbe9u7e [09:54] <K4T> what frames is supposed to do? I can not find doc [09:56] <anshul_mahe> from x264 help --frames <integer> Maximum number of frames to encode [09:57] <K4T> maybe you can use ffmpeg argument like -r or fps vilter? [09:57] <K4T> filter* [10:01] <K4T> anshul_mahe, pm [10:20] <relaxed> anshul_mahe: -frames:v 1024 [10:26] <okokokno> Hi. I'm trying to use libavformat but are noticing that for many supported formats, there's a lot of missing file information [10:27] <anshul_mahe> relaxed: not working, in actual I dont want to limit my output, I want to set log2_max_frame_num to 6 in SPS of H264 [10:28] <okokokno> for example, for mp3 files libavformat doesn't provide channel count and samplerate [10:28] <okokokno> do i have to parse the formats myself? [10:31] <okokokno> *The format's header info [10:38] <myubuntu__> Can I disable faac's three frames [10:38] <myubuntu__> Can I disable faac's three frames's buffering? [10:57] <K4T> is RAM important for ffmpeg enconding? [10:59] <__jack__> not really [10:59] <K4T> I think I will have max 8 instances of FFMPEG, each of them will create 4 streams. Inputs for each instance will be video card [10:59] <__jack__> depending on what you're encoding (source, size, format, codec etc), you 'll require a min of ram, but increase that value won't make it faster [10:59] <K4T> 8GB will be enough or I should buy 16GB? [11:00] <K4T> 720p quality [11:00] <__jack__> codec ? options ? you may test [11:01] <K4T> x264 for video and aac for audio [11:01] <__jack__> you should test [11:01] <__jack__> you must test ? [11:01] <__jack__> hum [11:02] <K4T> ok [11:03] <__jack__> If you want a really answer: get 16GB, it's not really more expensive, and may be usefull in the future [11:04] <K4T> yeah, 16 should be enough [11:04] <K4T> now I have one ffmpeg with one streamd and it takes 300MB [11:04] <K4T> I will get probably 16 streams [13:20] <xtruder> when i sent multi bitrate streams to my rtmp server, it recognizes only one. When i do the same with FMLE it recognizes them correctly. Is this due to ffmpeg not able to align keyframes? [13:34] <sekon> if i do ffmpeg -i /path/to/ip/file [13:35] <sekon> I get .... Stream #0:0(eng): Audio: pcm_s16le (sowt ..... [13:35] <sekon> so what does sowt mean ? [13:36] <c_14> > 'sowt' ('twos' spelled backwards) also denotes signed linear PCM. However, 16-bit data is stored in little endian format. [13:36] <c_14> AFAIK it's just a QuickTime identifier. [13:36] <sekon> c_14: thanks [13:37] <c_14> It's not like the le in pcm_s16le already stands for little endian or anything. Nah, we need more identifiers& [13:37] <Dark-knight> kerploop [13:39] <sekon> c_14: your help was greatly appreciated [13:39] <sekon> not just by me .. but by others here too [14:24] <wysaid> Anybody have the static release library of the latest ffmpeg? Please send me a link~~~~~~thanks a lot [14:28] <c_14> wysaid: the gusari builds haven't been updated since july, just stick with the johnvansickle builds. [14:29] <wysaid> sorry, I forgot to say that I am asking for the builds of windows platform... [14:30] <c_14> zeranoe [14:30] <c_14> http://ffmpeg.zeranoe.com/builds/ [14:31] <c_14> https://ffmpeg.org/download.html [14:31] <c_14> They're all linked there. [14:31] <c_14> For future reference. [14:34] <wysaid> I know that, I'm using the package for Dev, but it doesn't include the dll files. The program always report an error: " missing avcodec-56.dll" [14:34] <wysaid> The other downloads are 'exe' files [14:35] <wysaid> Can you tell me which one is for developing? Thanks a lot~ [14:35] <wysaid> I am wasting a lot of time here [14:37] <__jack__> that's so kind, thank you [14:37] <c_14> If I'm reading this correctly, you need the shared and the dev package. [14:39] <wysaid> Yes, I used to think the three downloads "static", "shared" and "dev" are for the same usage... [14:39] <wysaid> I'm downloading the shared version... [14:39] <wysaid> thanks~ [14:45] <wysaid> I found the DLLs! @_@b [14:47] <lipizzan> What would be an efficient console video player (framebuffer) to "tee" output to. [14:48] <lipizzan> .-? [14:48] <lipizzan> .->? [15:00] <c_14> lipizzan: I remember mplayer having framebuffer support. [15:05] <lipizzan> c_14: yes, i'm testing with it. I have an old version though, and i cant re-position the video on the screen (-geometry=x:y). [17:21] <lipizzan> when encoding dv->h.264->ts container file, is there some switch I should use to maintain audio\video sync? video races ahead of audio on my fresh compiled mplayer when playing the ts file (linux console, X-less). [17:25] <klaxa|work> how are you rendering the video? [17:25] <klaxa|work> is your computer fast enough to render the video without X? [17:26] <Mavrik> hmm [17:26] <Mavrik> lipizzan, are you somehow clobbering the timestamps on frames? [17:29] <lipizzan> klaxa|work: It;s <2KB/sec bitrate (-preset faster... when generated) , and cpu is < 30% during playback. [17:29] <lipizzan> Mavrik: Not sure. How would I find out? [17:29] <Mavrik> are you piping stuff around without containers? [17:30] <lipizzan> The work flow is dvgrab(dv stream)->ffmpeg(h.264->ts)->ts file. [17:32] <lipizzan> should I be using a bitsteam filter on the audio to when creating the h.264\ts? I use one on the video. [17:33] <lipizzan> should I be using a bitsteam filter on the audio also when creating the h.264\ts? I use one on the video. [17:43] <excalibr> HOw do you specify milisecond with -ss and -to param? [17:44] <Ess4_> -ss 1.23 [17:46] <Ess4_> excalibr, you can use -ss param like that : -ss 00:00:00.123 [17:48] <excalibr> thank you sir [19:36] <tab1293> if I am transcoding a mp3 file to aac what should I use as my output format specified with the -f flag? [19:40] <Mavrik> tab1293, mp4 [19:42] <okokokno> Hi. I've been here earlier and asked a question but later disconnected so I'll ask again, sorry. [19:43] <tab1293> Mavrik, I am getting this error Could not write header for output file #0 (incorrect codec parameters ?) [19:44] <tab1293> okay hold on [19:46] <okokokno> avformat seems to, for some formats like mp3, not provide any info about the file (e.g. channels, sample rate) [19:47] <Mavrik> okokokno, are you streaming the file? [19:48] <okokokno> Is there a way to get this info via the av libraries or do I have to parse the format header myself? [19:48] <Mavrik> also, how are you reading that data? [19:49] <okokokno> I wish to stream or otherwise read the file later, but first I wish to get its info [19:50] <Mavrik> you're not answering my questions. HOW are you trying to read the files that you don't get that info? [19:52] <tab1293> Mavrik here is the command and error http://pastebin.com/LrnedP9h [19:53] <Mavrik> tab1293, you need to write mp4 / m4a to file [19:53] <Mavrik> not pipe it somewhere. [19:53] <Mavrik> also. [19:53] <tab1293> Mavrik, why can't I pipe it? [19:53] <Mavrik> [libfdk_aac @ 0x29d2b20] Note, the VBR setting is unsupported and only works with some parameter combinations [19:53] <okokokno> I'll take a look and answer, thanks, Marvik [19:53] <Mavrik> tab1293, because index cannot be written before file is complete. [19:53] <Mavrik> tab1293, see, you get this error: [mp4 @ 0x29c42e0] muxer does not support non seekable output [19:54] <tab1293> yeah [19:54] <tab1293> so I can't transcode on the fly [19:54] <tab1293> with aac at least [19:54] <Mavrik> of course you can transcode on the fly. [19:54] <Mavrik> you just can't write it to MP4/M4A container. [19:54] <Mavrik> use something else. [19:55] <tab1293> Mavrik, let me explain what I am trying to do [19:56] <tab1293> I am trying to use python to transcode an mp3 to aac. So I have it set up that the mp3 file data is being passed to stdin using python's subprocess command. I would like to then take the stdout and write it to an amazon s3 bucket [19:56] <tab1293> So I am trying to work with the raw data in python so I can upload ffmpeg's output to amazon [19:57] <tab1293> what container supports on the fly transcoding? [19:57] <Mavrik> you're asking the wrong question. [19:57] <Mavrik> which containers must you support for delivery to the player? [19:57] <Mavrik> how are you going to play stuff? [19:57] <Mavrik> are you going to remux on delivery? [19:57] <Mavrik> when you have those answers, then you can choose a container :) [19:59] <tab1293> Mavrik, I was planning on using a container that is supported in most browsers hence the mp4 [19:59] <kepstin-laptop> and if the answer ends up being 'mp4', you're going to have to buffer the complete file before uploading it, for example by saving a temporary file on disk. [20:00] <tab1293> Mavrik, does mp3 support being written to a pipe? [20:00] <Mavrik> no idea [20:00] <tab1293> kepstin-laptop yeah I guess I can just make a temp file [20:00] <Mavrik> make a temp file and upload that [20:00] <tab1293> yeah alright [20:00] <Mavrik> browsers really don't support anything else than mp4 / mp3 [20:01] <Mavrik> so your choices are very limited in that regard [20:01] <Mavrik> sadly people are dragging their asses as hell with HLS support which uses MPEG2-TS container [20:01] <kepstin-laptop> mp3 in its "native" format, when not using vbr encoding, doesn't need a seek index, so you can stream it fine. If you use vbr, I think there's an optional xing header to add seeking, I'm not sure if it can be written at the end of the file or needs space reserved at the start. [20:02] <tab1293> Mavrik, I was actually thinking about trying to write a hls client in javascript. It seems like it could be done using aurora.js [20:02] <Mavrik> yuck :) [20:02] <Mavrik> we just used flash [20:02] <Mavrik> way more supported, way better experience for users :) [20:03] <tab1293> Isn't flash a nono nowadays? [20:35] <Mavrik> tab1293, why would it be? [20:35] <Mavrik> mobile platforms support HLS natively [20:35] <Mavrik> desktop people can use Flash because it still isn't as shitty as 5000 lines of JS decoder :) [20:36] <tab1293> Mavrik, mobile browsers support HLS natively? [20:36] <tab1293> how would you embed the HLS stream for mobile? [20:37] <Mavrik> ? [20:37] <Mavrik> you just point the video tag to m3u8 [20:39] <tab1293> Mavrik, hmm okay I didn't know that. So are there any open source flash hls players? [20:39] <Mavrik> I think JWPlayer has HLS module [20:39] <tab1293> but you developed your own player? [20:40] <okokokno> Hi Mavrik. I'm opening the mp3 file via avformat_open_input, providing a path. Is this what you meant by how I'm reading the data? [20:40] <okokokno> (Sorry it took so long to answer) [20:41] <Mavrik> okokokno, yes, and you're getting the data form AVStream right? [20:41] <Mavrik> tab1293, honestly I do backend work so I don't know which option the frontend guys took at the end :) [20:41] <Mavrik> I just deliver video ;) [20:42] <okokokno> I'm not getting any data before I'm trying to get the format's info [20:42] <okokokno> E.g. via <codec context>->channels, which is 0 [20:43] <Mavrik> uhm [20:43] <okokokno> I need the codec's/format's info long before I want to start reading the actual audio samples [20:44] <okokokno> Do I need to do something different? [20:45] <Mavrik> okokokno, you need to call avformat_find_stream_info on the codec context [20:45] <Mavrik> to probe the input and get all that data populated [20:45] <Mavrik> that will read your input up to probesize / analyzeduration and extract data [20:46] <okokokno> Ah [20:46] <okokokno> I'll try that, thanks [20:48] <EvolE> tab1293: for hls you can use http://www.flashls.org/ with videojs for example (or with any osmf player) [20:49] <tab1293> Mavrik, do you know if you use ffmpeg to create a HLS live stream with the +live flag do the segments get automatically deleted? [20:49] <Mavrik> I doubt it [20:49] <okokokno> Thanks, it worked! [20:49] <tab1293> EvolE, awesome thanks [20:50] <tab1293> Mavrik, so what does the +live flag change? [20:50] <Mavrik> hmm, I don't even see the option here: https://www.ffmpeg.org/doxygen/trunk/hlsenc_8c_source.html [20:51] <Mavrik> ah [20:51] <Mavrik> 00573 { "live", "enable live-friendly list generation (useful for HLS)", 0, AV_OPT_TYPE_CONST, {.i64 = SEGMENT_LIST_FLAG_LIVE }, INT_MIN, INT_MAX, E, "list_flags"}, [20:51] <tab1293> Mavrik, https://www.ffmpeg.org/ffmpeg-formats.html#segment_002c-stream_005fsegment_0... under options [20:51] <Mavrik> https://www.ffmpeg.org/doxygen/trunk/segment_8c-source.html [20:52] <Mavrik> it seems to just add this to m3u8: 00203 "#EXT-X-TARGETDURATION:%"PRId64"\n", seg->time / 1000000); [20:53] <tab1293> hmm okay [20:54] <tab1293> do you think adaptive bitrate streaming is useful when just streaming audio? I am trying to decide if my app should stream with hls or just transcode to m4a and serve them statically [20:55] <Mavrik> I doubt it's useful [20:55] <Mavrik> I even doubt the audio does enough bitrate difference for players to even switch [20:55] <tab1293> Both formats are supported by the popular browsers (hls with flash) and mobile so I am trying to decide if hls will give better performance [20:56] <tab1293> or any benefit over using m4as [20:57] <tab1293> so you think not? [21:34] <EvolE> tab1293: using hls should be ok if you plan to live stream and have a lot of concurrent listeners, because it's easy to cache on the server or cdn. not sure how it works with audio, but i suppose it should be ok [21:44] <Suchiman> is it just me or does ffmpeg rarely match the timestamps other players report? e.g. when i cut something with the timestamps from the players, the result will not be exactly what i've targeted [21:45] <jehar_work> Are you cutting h264 videos? There's the keyframes to keep in mind whenever you're slicing without doing a re-encode. [21:46] <Suchiman> jehar_work: the difference is up to 30 seconds so i don't believe it's just about keyframes, is it? i also tried moving -ss before and after the Input file [21:46] <Suchiman> but in this case it's slicing a vob file [21:46] <Suchiman> so mpeg2 [21:46] <jehar_work> Hmm, that'd be outside my head then. [21:50] <kepstin-laptop> vob files are mpeg-ps; a quick search reveals that at least some players (vlc and maybe gstreamer stuff?) have had issues with timestamps in those. Fixed by using the avformat (ffmpeg) demuxer. [21:50] <kepstin-laptop> so, make of that what you will :/ [21:59] <Suchiman> kepstin-laptop: well right now i try to repair a broken DVD Video, 2 titles won't read by MakeMKV but Play fine in VLC. copying them with mplayer (dvdnav just stops with error, dvd works) will break the titles even more. But i managed to put all vobs together using ffmpeg -i "concat:..." -c copy huge.vob (which plays fine) and now i'm trying to slice it by [21:59] <Suchiman> adding the title lengths 1-3 reported by mplayer to get the start Position of title 4 and then stream copy that Segment with fflags +genpts and -ss ... -t ... result.mkv which produces a playable mkv again. [21:59] <Suchiman> all fun stuff lol [22:02] <okokokno> I see AVCodecContext::block_align tells me the size of each packet read from the file but not decoded yet [22:03] <okokokno> Is there a similar value that tells me the decoded size of each packet, if known? [22:03] <okokokno> (For codecs where this is constant) [22:59] <active8> is there a syntax error here? ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1920x1080 -i :0.0 -a:c pcm_s16le -v:c libx264 -preset ultrafast -crf 0 -threads 0 09-14-2014-cast.mkv [22:59] <active8> Unrecognized option 'a:c'. Error splitting the argument list: Option not found [23:00] <lipizzan> active8: think that should be -c:a [23:00] <active8> yeah - copy pasted from article, duh! [23:00] <lipizzan> -c:a aka, codec:audio [23:02] <active8> right. now this: Invalid loglevel "libx264". $ffbin -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1920x1080 -i :0.0 -c:a pcm_s16le -v:c libx264 -preset ultrafast -crf 0 -threads 0 09-14-2014-cast.mkv Invalid loglevel "libx264". Possible levels are numbers or: [23:02] <active8> i tried it without the preset, too. I might not have the preset, but even without it, same error [23:03] <active8> $ffbin is a shortcut to a recent build [23:03] <active8> = ffmpeg [23:06] <Suchiman> active8: -c:v not v:c [23:07] <Suchiman> c:v = codec:vide [23:07] <active8> oh my. I must really need a shot to the head. lemme try that. [23:09] <active8> that's better. sorry, but thanks. [23:09] <active8> why, when there's no audio playing do I get: Non-monotonous DTS in output stream 0:1 ? [23:09] <active8> I sometinmes get that even with audio playing [23:28] <jehar_work> I'm doing some initial tests with x265 - it looks like I'm getting the same filesize with 1 pass as I am with 2 - is there any implication that I can get everything done with 1? [23:34] <kepstin-laptop> jehar_work: nah, that just means that their 1-pass bitrate algorithm is really strong. You should still prefer 2-pass, because it uses knowledge of future frames to create a file that's roughly constant quality [23:35] <kepstin-laptop> rather than dropping quality in hard bits and wasting file size on easy bits [23:36] <llogan> jehar_work: use -crf, one pass. or use -b:v with two passes if you are targeting a specific output file size. [23:36] <Suchiman> *thought that crf is better than two pass and two pass should only be used if e.g. constant file size is desired [23:36] <jehar_work> gotcha [23:37] <kepstin-laptop> with x264, crf and 2-pass are exactly equivalent, given the same output file size. I don't know if that holds for x265 [23:37] <Suchiman> what x_X [23:37] <llogan> i read 26*4* [23:37] <llogan> damned similar names... [23:37] <jehar_work> Me neither - I'm just scoping out the current time/filesize footprint currently. [23:38] <kepstin-laptop> x264's 2-pass algorithm works by doing one pass, using the results to calculate a crf value, and using that for the second pass. I have no idea what x265 does for that :/ [23:38] <jehar_work> Fortunately I can likely go "there's no huge gain at the moment, let's check again in 2 months" and get on with my day :D [23:39] <kepstin-laptop> well, to see the difference between 1- and 2- pass, you'd have to watch the output and see how the quality is [23:39] <kepstin-laptop> both should be able to get very close to the target bitrate in a good codec. [23:40] <jehar_work> Yeah, I've been having trouble checking the visual quality with the vlc nightly - is there a decoder that's working well? [00:00] --- Fri Sep 19 2014
participants (1)
-
burek