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

burek burek021 at gmail.com
Fri Feb 15 02:05:01 CET 2013


[00:32] <meelu> is there a list of codecs ffmpeg supports, where is allows libmp3 conversion
[00:32] <meelu> from video
[00:32] <meelu> i mean is there a list of video codecs it supports where it can convert to mp3
[00:33] <llogan> i don't quite understand your question, but did you see "ffmpeg -codecs"?
[00:33] <meelu> tried ffmpeg -formats, is this it
[00:34] <meelu> i want to know if i can use "-y -acodec libmp3lame -ab " on all llogan
[00:34] <llogan> you want to know what formats support mp3 audio?
[00:35] <llogan> i meant "containers", not "formats"
[00:35] <meelu> i want to know which type of videos i can run this command on
[00:35] <meelu> %ffmpeg% -i %tempFile% -vol %volume% -y -acodec libmp3lame -ab %quality%k %newFile%
[00:35] <llogan> you can run that on any input file
[00:35] <meelu> ah great
[00:35] <meelu> so i can do that with anything
[00:36] <llogan> although consider using -q:a instead of -ab
[00:36] <meelu> im going to make something using php to verify a file is supported when a user uploads it
[00:36] <meelu> why?
[00:36] <llogan> https://ffmpeg.org/trac/ffmpeg/wiki/Encoding%20VBR%20%28Variable%20Bit%20Rate%29%20mp3%20audio
[00:42] <tseth> hi. can someone help me with this error?
[00:42] <tseth> h264_mp4toannexb failed for stream 0, codec copy: Invalid argume
[00:42] <tseth> argument*
[00:42] <tseth> ffmpeg -i fs0 -vcodec copy -acodec copy -vbsf h264_mp4toannexb -f mpegts ts_stream0.ts
[00:42] <tseth> that is my command... fs0 is a rawdump of an h264 stream nals
[00:50] <tseth> better question... does anoyne know how to convert raw h.264 over to mpeg2-ts
[00:50] <tseth> ?
[00:52] <cps> Hi, I'm working on the open source animation program Pencil2D. I'm trying to get file export working using ffmpeg.
[00:53] <cps> As a test, I'm trying to encode a vector of RGB image data (derived from a png).
[00:54] <cps> I have a couple of questions about the decoding_encoding.c example.
[00:54] <cps> Firstly, is this the right place to ask?
[00:55] <klaxa> cps: if you are using ffmpeg and not the fork (avconv) then yeah probably
[00:56] <cps> Great!
[00:58] <cps> The example uses "AV_PIX_FMT_YUV420P". What I'm not clear about is how to convert and then write the image data to the AVFrame
[01:00] <cps> Am I right in thinking that I need to convert the RGB data to YCbCr for each pixel, and then average the YCbCr data for each quad?
[01:06] <tseth> so I basically realized what's happening. I'm trying to put an mpeg2-ts container around an h264 payload... when I run this command: ffmpeg -i fs0 -acodec copy -vbsf h264_mp4toannexb -f mpegts stream0.ts the 10 second stream pops out a 00:00:0.4 seconds long.
[01:06] <tseth> any idea what I'm doing wrong?
[01:16] <tseth> can someone please help me out? I'm getting incredibly frustrated?
[01:18] <tseth> llogan: http://pastie.org/6158686
[01:18] <tseth> the video clip is 10 seconds long.
[01:19] <tseth> it's a raw h264 dump, all I'm trying to do, is to convert it to an mpeg2-ts format that safari will play nice with.
[01:19] <tseth> if anyone has any idea how to help, it would really mean the world to me.
[01:21] <llogan> ask in #libav. you're not using ffmpeg from FFmpeg.
[01:21] <llogan> we do not support third party tools here.
[01:22] <tseth> llogan: am I able to do this with ffmpeg?
[01:23] <llogan> you're not using ffmpeg.
[01:23] <tseth> damn... I just used the apt-get for ffmpeg....
[01:23] <tseth> how can I get ffmpeg?
[01:23] <llogan> compile or use a static build
[01:23] <llogan> the "ffmpeg" is a result of others misrepresenting the name ffmpeg.
[01:24] <llogan> *the "ffmpeg" in the ubuntu repo
[01:24] <tseth> does ubuntu not have an ffmpeg.
[01:24] <tseth> and is libav essentially the same thing? (honest question... I have no idea.)
[01:24] <llogan> no. it's a fork.
[01:24] <llogan> see http://stackoverflow.com/a/9477756/1109017
[01:24] <llogan> and http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html
[01:25] <llogan> ubuntu no longer provides ffmpeg from FFmpeg, but a fake "bizarro" version from libav.
[01:25] <tseth> why would they do that?
[01:26] <tseth> Would the real ffmpeg solve the issue I'm bumping into here?
[01:27] <llogan> because the debian/ubuntu maintainer is a member of the fork and they want users to switch to libav (while allowing users to bleieve they are using ffmpeg from FFmpeg).
[01:27] <llogan> i'm not sure if ffmpeg will help, but we simply dont support fake ffmpeg here.
[01:28] <tseth> If this were a real version of ffmpeg, what would you suggest to do this?
[01:29] <tseth> libav looks dead, and I'm frustrated, and you're the only one who seemed to be willing to help :-(
[01:29] <tseth> #libav*
[01:29] <llogan> i suggest trying it with a static build from the link i provided. it will be simple to try.
[01:29] <llogan> i've never been in that channel. i don't know if they often try to help users.
[01:30] <tseth> will downloading that ffmpeg break the current one?
[01:31] <klaxa> tseth: no, you can put it in any directory you want and execute it from there
[01:31] <llogan> no. you simply download the archive, extract the archive, and run the binary
[01:31] <klaxa> no installation needed whatsoever
[01:34] <llogan> do you mean to be re-encoding the video? also your input has no audio, so -acodec copy is superfluous.
[01:35] <tseth> oh wow. looks like this version worked.
[01:41] <tseth> llogan: you are correct.
[01:42] <tseth> any idea why what I'm doing wouldn't work with http live streaming? it half worked :-)
[01:42] <klaxa> that is often the case :)
[01:42] <tseth> it starts the video, plays through my section, then craps out.
[01:42] <tseth> :-)
[01:42] <llogan> it's what I call YALB...yet another libav bug
[01:43] <llogan> "it" as in safari?
[01:48] <tseth> ah, gotchya.
[01:48] <tseth> hahaha.
[01:48] <tseth> yeah, I think I tracked the issue down :-)
[01:48] <tseth> one last question... what is the licensing on ffmpeg?
[01:48] <tseth> (hoping for mit or berkeley, expecting gpl v2)
[01:53] <klaxa> i think most is lgpl
[01:53] <klaxa> http://ffmpeg.org/legal.html
[02:06] <skered-> I have an mp3 file that only has right audio, can ffmpeg make an audio file that has the right channel for both left/right (or a mono file using the right side)?
[02:08] <tseth> lgpl = more restrictive, no?
[02:21] <base698> Hi All!  I have this command:  ffmpeg -i pipe:0 -acodec libvorbis  test.ogg and it works great.  Just wanted to know if you can do something like this:  ffmpeg -i pipe:0 -acodec libvorbis pipe:1 > somefile.ogg
[02:21] <base698> I had to rebuild ffmpeg for ogg support and in doing that it changed the man page, which did have a huge section about pipes
[02:25] <klaxa> base698: you probably have to specify a container format with -f
[02:25] <klaxa> for example -f ogg
[02:25] <llogan> base698: man pages have been segmented. see the end of "man ffmpeg".
[02:25] <llogan> such as: man ffmpeg-protocols
[02:25] <base698> holy shit success!
[02:26] <base698> and thanks even more for the man info
[02:26] <base698> that's the man page I remember
[02:47] <iive> tseth: lgpl is less strict than gpl.
[03:10] <defaultro> so happy, -vf hue=30 fixed the greencast from my videos :)
[03:16] <tseth> new question...
[03:16] <tseth> is it possible to use ffmpeg to resize a video?
[03:17] <klaxa> yes
[03:17] <klaxa> see -s
[03:17] <tseth> what would the options be for doing such said black magic?
[03:17] <klaxa> i think it should also be possible to use -vf scale
[03:17] <tseth> so if I wanted to reencode to 720p, how would I do that?
[03:18] <klaxa> ffmpeg -i <input> <input options> -s 1280x720 output.container
[03:18] <klaxa> i think that should work
[03:18] <klaxa> i think you can put -s 1280x720 even before <input options> but not before -i <input>
[03:19] <tseth> hmm, looks like this should already be done :-/.
[03:19] <tseth> for some reason the ts I cvreate doesn't work on the ipad.
[03:19] <klaxa> it's also rather output options really
[03:19] <klaxa> not input options, silly me
[03:19] <tseth> it does work on the safari desktop thoguh.
[03:19] <tseth> for live streaming.
[03:19] <tseth> I know this isn't your area, but....
[03:20] <tseth> ffmpeg -i fs0 -vbsf h264_mp4toannexb stream0.ts am I missing some options to make this a valid http live stream?
[03:20] <tseth> for the ipad*
[03:20] <klaxa> heh, no idea
[03:20] <klaxa> i have no ipad and everything i stream via http is done with matroska
[03:21] <llogan> -vf scale is more flexible than -s and has the advantage of working easier with other filters in a filterchain
[03:21] <llogan> such as -vf scale=1280:-1 if you want it to automatically figure out the height to preserve aspect
[03:22] <tseth> gotchya.
[03:22] <tseth> hmm, that's really weird.
[03:22] <tseth> haha.
[03:24] <llogan> i'm assuming your command is re-encoding H.264 to mpeg2 video, so -vbsf h264_mp4toannexb is not needed if that is what you want
[03:25] <tseth> llogan: I don't think I want to be reencoding either. I think what I want is just to reencapsulate?
[03:26] <tseth> unless I'm completely misunderstanding.
[03:26] <llogan> add "-codec copy" as an output option with "-bsf:v h264_mp4toannexb"
[03:30] <tseth> this may sound like a really strange question...
[03:30] <tseth> but does ffmpeg use cron at all?
[03:35] <llogan> you can invoke just about anything with cron
[03:38] <tseth> you're right. ffmpeg is the only thing I was running. I ended up with about 100 copies of it.
[03:38] <tseth> haha.
[03:38] <tseth> there's something screwed with that server....
[03:39] <tseth> Failed to open bitstream filter h264_mp4toannexb for stream 0 with codec copy: Invalid argument
[03:39] <tseth> llogan: I'm getting that :-)
[03:40] <tseth> http://pastie.org/6159610
[03:41] <tseth> llogan: that's the output :-)
[03:51] <llogan> tds5016: i don't know why it's doing that and I can't duplicate it
[03:51] <tds5016> any ideas llogan ?
[03:51] <tds5016> no worries. Sorry. :-/. I always get lucky with this.
[03:52] <tds5016> This problem is so stupidly obnoxious... haha.
[03:53] <llogan> ask on ffmpeg-user mailing list if you don't figure it out. make sure to include your complete ffmpeg command and the complete console output (you can omit the repeated "failed" messages but leave at least one)
[03:54] <tds5016> could I be missing timecode info?
[03:57] <tds5016> Stream format for the stream segmenter must be MPEG elementary audio and video streams, wrapped in an MPEG-2 transport stream, and using the following encoding.
[03:57] <tds5016> hmmmm.....
[03:57] <tds5016> how do I check if I've already got an elementary video stream?
[04:00] <tds5016> sorry if that's a stupid question... I'm just triyng ot figure all of this out :-/.
[04:14] <tds5016> is there a differennce between baseline and elementary?
[04:18] <relaxed> elementary stream means a raw h264 file. (not in a container)
[04:18] <tds5016> I thinkt hat's what I have :-/. how could I tell?
[04:19] <relaxed> run ffmpeg -i file
[04:19] <relaxed> look at input format
[04:20] <relaxed> For example:  Input #0, h264, from 'fs0':
[04:20] <tds5016> http://pastie.org/6159849
[04:20] <tds5016> also, btw...... pastie.com and pastie.org... NOT the same thing ;-)
[04:20] <relaxed> so, yes, your input is a h264 elementary stream
[04:21] <tds5016> then I have no idea why in the hell mobile safari is choking on it :-
[04:21] <tds5016> :-(
[04:21] <tds5016> http://pastie.org/6159854
[04:22] <tds5016> is that the right output for what should be an mpeg2-ts with a payload of an elementary h264 stream?
[04:22] <relaxed> your video is now mpeg2, is that what you want?
[04:22] <relaxed> no
[04:22] <tds5016> I want h264 wrapped in mpeg2-ts
[04:22] <tds5016> relaxed: can you help me figure out how I'd do that?
[04:23] <relaxed> "ffmpeg -i fs0 -c:v copy -f mpegts output.ts"
[04:23] <tds5016> http://pastie.org/6159861
[04:24] <relaxed> NO, run what I just gave you.
[04:24] <relaxed> -vbsf h264_mp4toannexb is only needed when demuxing h264 from the mp4 container.
[04:25] <relaxed> or stream copying
[04:25] <tds5016> hmm, that looked like it broke :-/.
[04:25] <tds5016> it only plays for a portion of a second, then breaks.
[04:26] <relaxed> pastie.org or it didn't happen
[04:26] <tds5016> Failed to open bitstream filter h264_mp4toannexb for stream 0 with codec copy: Invalid argument
[04:26] <tds5016> I keep getting that :-(
[04:26] <tds5016> sad face.
[04:26] <tds5016> haha.
[04:26] <tds5016> when I add that section back in.
[04:27] <relaxed> I need pastebins and not a personal recount from you.
[04:28] <tds5016> http://pastie.org/6159883
[04:28] <tds5016> that's without the mp4toannexb
[04:29] <tds5016> for some reason when I get hte file, it only plays a portion of a second of it, then it stops playing.
[04:30] <tds5016> oh, it looks like it's a problem with the video tag auto playing....
[04:30] <tds5016> it looks like it gets what it can from http, then just says "screw it, I'm at the end" then dies if it doesn't have the whole file.
[04:31] <defaultro> does ffmpeg support denoise?
[04:32] <tds5016> relaxed: do you have any idea how I'd be able to fix that? or that's a web problem?
[04:35] <tds5016> hmmm.... magically started working.
[04:35] <tds5016> you guys rock!
[04:35] <tds5016> thank you so much!
[04:35] <tds5016> well, partially worked...
[04:36] <tds5016> still breaks on ipad in the video tag
[04:53] <tds5016> thanks for all of the help guys. you are phenomenal people, all of you!
[05:31] <relaxed> defaultro: ffmpeg -filters | grep -i denoise
[05:38] <defaultro> thanks relaxed!
[05:39] <defaultro> hqdn3d           V->V       Apply a High Quality 3D Denoiser.
[08:13] <willbradley> hey is ffmpeg good for extracting h264 data from inside a large binary?
[08:13] <willbradley> google is failing me
[08:49] <creep>  At the end of the month, Jaimie Alexander was injured on the London film set, after she slipped while walking in the rain.
[08:49] <creep> breaking news haha
[08:50] <creep> willbradley<< ffmpeg plays it, you do "extracting" with dd for example
[08:52] <robotics> Hi everyone! Sorry for interrupting you, but, does anybody know, why while converting avi to mpeg2, one second of the end of video is lost?
[08:52] <robotics> *why when...
[08:53] <creep> robotics<< hi, no problem, i'll put the chips down while writing then
[08:54] <robotics> creep: i'm sorry, i don't know english very well. Could you explain in detail
[08:56] <creep> robotics<< you know, when you eat you hold food in your hand you would want to eat and take it to your mouth usually
[08:57] <robotics> ok, don't waste your time.
[11:10] <jeje34> hello to all :-)
[11:21] <jeje34> I have a question about av_init_packet and av_new_packet. In my code, when I have a H264 frame to decode with FFMPEG 1.1.1, I use av_init_packet and av_free_packet. But, I see av_new_packet seems be better because it can realloc if necessary with FF_INPUT_BUFFER_PADDING_SIZE and set the av_destruct pointer. With av_init_packet, I call av_init_packet, I make a temporary buffer sizing it to my
[11:21] <jeje34> (H264 frame size+FF_INPUT_BUFFER_PADDING_SIZE), memset it to 0, copy my H264 frame in this one and so affect the AVPacket.data to this buffer and the size to the H264 frmae size. When finish decoding, I use av_free_packet to free the memory. I try to use av_new_packet because I don't have to create my temporary buffer, but I have an error on the av_free_packet (in reality in av-destruct-packet)
[11:23] <jeje34> between the av_new_packet and av_free_packet I call the avcodec_decode_video2 on this packet, so the size of this packet after decoding is set to 0
[11:55] <jeje34> another question I have is how to use the av_lock_mgr because in liv AVCodec 5.2 (I know it's old) I had a function called av_lockmgr_addref and I use it doing if (av_lockmgr_addref()==1)av_lockmgr_register(&ff_lockmgr); But now, it seems there's only the function av_lockmgr_register. Do I need to call it at each thread using ffmpeg?
[12:50] <Bor0> how can I correctly increase the audio volume of a video that I'm displaying with SDL? I tried something like for (int i=0;i<len1;i++) {... *p *= (is->volume / 100.0); } but increasing amplitude like this will generate noise at a point (and above it)
[12:50] <Bor0> are there any native functions for this?
[12:54] <Mavrik> there's an audio filter for that
[12:54] <Mavrik> btw, volume is always adjusted on  logarithmic scale
[12:55] <Bor0> can you point me to some examples? can libavfilter do this? I'd rather not do it manually
[12:55] <durandal_1707> see volume filter
[12:58] <Bor0> ok, and regarding the logarithmic scale thing, if I were to do it manually (out of curiousity), then I'd multiply by log(x), instead of x? 0 < x < 100
[13:00] <Mavrik> http://dsp.stackexchange.com/questions/2990/how-to-change-volume-of-a-pcm-16-bit-signed-audio
[13:00] <Mavrik> this should help a little ;)
[13:19] <Bor0> excellent, thanks.
[13:27] <funyun_> hi. if i want to encode 2 videos into 1, how would i go about doing that? ffmpeg -i vid1 -i vid2 ?
[13:37] <durandal_1707> burek: the nick arg works for !pb only. why?
[13:46] <funyun_> saste: here's what i understood from that but it's not working. any idea why? i did this, ffmpeg -i vid1.wmv -i vid2.wmv -filter_complex '[0:0] [0:1] [1:0] [1:1] concat=n=2:v=1:a=1 [v] [a]' -map '[v]' -map '[a]' -vcodec libx264 -preset veryfast -tune film -x264opts level=41:deblock=-2,-2 -crf 18 test.mp4
[13:46] <funyun_> the error i get is Stream specifier ':0' in filtergraph description [0:0] [0:1] [1:0] [1:1] concat=n=2:v=1:a=1 [v] [a] matches no streams.
[13:51] <funyun_> anyone know what i'm doing wrong?
[14:14] <saste> funyun_, you're missing to link the graph outputs to the output file
[14:14] <saste> -map [a] -map [v] -codec:v libx264 ...
[14:15] <saste> uhm not really
[14:17] <funyun_> saste: http://pastie.org/6163183
[14:21] <saste> funyun_, can't see nothing wrong in your command, and it works here
[14:22] <saste> you might try to update your ffmpeg
[14:22] <funyun_> alright, i'll try
[14:52] <funyun_> saste: now i get "Unrecognized option 'preset'."
[16:30] <diroots> hi there
[16:31] <jeje34> Hi, is it better to in order:1- avcodec_all_context3(NULL) 2- avcodec_find_decoder(CODEC_IH_H264) to finally 3- avcodec_open2( CodecCtx,  Codec, NULL); or is better to directly do 1- Codec = avcodec_find_decoder(CODEC_ID_H264) , 2- avcodec_alloc_context3(Codec) and so 3- avcodec_open2( CodecCtx,  Codec, NULL); because the 2 methods works but which is the best???
[16:31] <diroots> I have a source (H.264) video with a Stream #0.2 : Data: unknown (tmcd), do you know wtf this is?
[16:32] <diroots> and when I re-encode it to x264, I loose this stream #0.2 is there a way to keep it within the output video ?
[18:10] <taylanub> Is $CC being ignored by ffmpeg's build ?  I see a line in config.log, but then it doesn't seem to use it.
[18:45] <ubitux> taylanub: yes iirc it's ignored
[18:45] <ubitux> i sent a patch a long while ago for this
[18:45] <ubitux> but it was somehow rejected for a reason like&
[18:46] <ubitux> "ppl tend to put crap in it"
[18:47] <taylanub> ...
[18:48] <ubitux> actually it was at the time of the fork
[18:48] <ubitux> http://lists.libav.org/pipermail/libav-devel/2011-April/001454.html  the thread died after this
[18:49] <relaxed> taylanub: can't you use --cc=
[18:52] <taylanub> relaxed: I can, but of course I'd prefer it to just use my global $CC.
[19:17] <relaxed> taylanub: -cc=$CC done
[19:20] <taylanub> Still not as good as: <nothing> done  :P
[19:46] <ubitux> relaxed: that's especially troublesome when you are using an automated build of ffmpeg, like let's say, in ffmpeg
[19:47] <ubitux> in mplayer*
[21:24] <john_____> hi, does anyone has some knowledge about libstagefright.cpp ?
[21:50] <durandal_1707> john_____: what is issue?
[22:09] <funyun_> hi. i'm trying to encode 2 videos into 1 video. but i get this error http://pastebin.com/1r2tumWx , can anyone help me?
[22:15] <funyun_> anyone have any idea?
[22:23] <funyun_> JEEB: are you familiar with concat in ffmpeg?
[22:25] <durandal_1707> funyun_: concat what?
[22:25] <durandal_1707> protocol?filter?demuxer?
[22:25] <ubitux> seems to be the filter here
[22:31] <funyun_> durandal_1707: yes, filter
[22:31] <funyun_> durandal_1707: here's my problem http://pastebin.com/1r2tumWx
[22:51] <llogan> ubitux: looks like ffmpeg in Extra now has your config requests.
[22:52] <llogan> s/extra/testing
[22:53] <ubitux> llogan: oh? all of them?
[22:55] <ubitux> funyun: try to put the audio streams after the video ones maybe
[23:15] <tds5016> hi. I was wondering if anyone could send a list of dependencies for ffmpeg?
[23:16] <llogan> ubitux: i think so
[23:17] <ubitux> nice ok
[23:17] <llogan> tds5016: depends on what you want
[23:18] <tds5016> ffmpeg -i fs3 -c:v copy -f mpegts stream3.ts
[23:18] <tds5016> enough to do that :-P
[23:20] <tds5016> how would I track down the dependencies on that?
[23:20] <tds5016> thanks for the help man. llogan you are awesome.
[23:26] <ubitux> tds5016: gcc
[23:26] <ubitux> i guess that's all
[23:26] <tds5016> really? no deps aside from that for what I'm doing there?
[23:26] <ubitux> for remuxer i don't think so
[23:26] <ubitux> remuxing*
[23:27] <ubitux> yasm is generally recommended for a ffmpeg build though
[23:27] <tds5016> yasm?
[23:27] <ubitux> assembler
[23:27] <ubitux> for the optims
[23:27] <ubitux> (mostly in codecs)
[23:27] <tds5016> I'll be crosscompiling using gcc.
[23:28] <tds5016> I don't think I can use yasm for this.
[23:28] <tds5016> what would the configure options be to allow what I have there to work?
[23:28] <ubitux> none
[23:29] <ubitux> you can disable a lot of things though
[23:29] <ubitux> like --disable-everything and just enable the few flags you need
[23:29] <ubitux> s/flags/things/
[23:31] <tds5016> awesome. so just configure and it'll install? I don't need to disable/enable anything and it'll all work?
[23:31] <tds5016> correction: SHOULD all work?
[23:35] <ubitux> yes
[23:36] <ubitux> note: you don't need to make install to test, make is enough, you can ./ffmpeg
[23:37] <tds5016> thanks!
[23:37] <tds5016> you rock :-)
[00:00] --- Fri Feb 15 2013


More information about the Ffmpeg-devel-irc mailing list