[Ffmpeg-devel-irc] ffmpeg.log.20130529
burek
burek021 at gmail.com
Thu May 30 02:05:01 CEST 2013
[05:02] <mapreduce> 2009-04-11 - 80d403f - lavc 52.25.0 - deprecate av_destruct_packet_nofree() Please use NULL instead. This has been supported since r16506
[05:02] <mapreduce> What should I replace a call to that function with?
[07:39] <t4nk935> the command line I use: ffmpeg -f video4linux2 -r 30 -s 640x480 -input_format mjpeg -i /dev/video0 -vcodec copy http://localhost:8090/feed1.ffm after trace ffmpeg code, I see in do_streamcopy(), do_streamcopy() will call write_frame(), and next write_frame() will call av_interleaved_write_frame(), I do not see the code about socket write. Because I see ffserver will keep receive data from socket. Does anyone have idea about this
[07:40] <t4nk935> where is the code that help ffmpeg to send data to ffserver?
[07:40] <t4nk935> any ideas?
[07:46] <t4nk935> i see ffserver call recv() from the fd that is return from accept
[07:46] <t4nk935> so, the fd is from socket, but where is the code that ffmpeg write video data to socket fd?
[07:46] <t4nk935> does anyone have idea?
[07:55] <t4nk935> does anyone study ffmpeg.c and ffserver.c
[07:55] <t4nk935> who can help me?
[07:57] <Demon_Fox> WOuld using the default codecs
[07:57] <Demon_Fox> Would png to tga be lossless?
[07:58] <t4nk935> Is there someone study ffmpeg.c and ffserver.c?
[07:59] <t4nk935> who can discuss the detail flow of ffmpeg?
[07:59] <t4nk935> I would like to know where is the code that ffmpeg send data to ffserver?
[07:59] <burek> t4nk935
[07:59] <t4nk935> hi
[07:59] <t4nk935> hi burek
[07:59] <burek> im not sure, but i think -vcodec copy is wrong when using ffserver
[07:59] <t4nk935> could you kindly give some hints?
[07:59] <burek> you should take that out
[08:00] <burek> because, as far as i figured it out
[08:00] <burek> ffmpeg first establishes the connection to the ffserver
[08:00] <burek> and gets the config info through that connection
[08:00] <t4nk935> yes I see the code
[08:00] <burek> and then sets the proper vcodec based on that
[08:00] <t4nk935> yes
[08:00] <burek> if you force -vcodec copy then i think it makes no sense
[08:01] <t4nk935> but when do_streamcopy in ffmpeg
[08:01] <t4nk935> where is the code that send video data to ffserver?
[08:01] <t4nk935> why -vcodec copy is wrong?
[08:01] <burek> why do you worry about that?
[08:01] <burek> aren't you interested about vcodec from ffserver to players?
[08:02] <t4nk935> because I would like to fix the problem that struct FFMContext header corrput in ffserver
[08:02] <t4nk935> the problem occurs for a long time
[08:02] <burek> Demon_Fox, some pixel format conversion might happen
[08:03] <t4nk935> ffserver read frame, then it says header has wrong size then the stream is stop
[08:03] <burek> t4nk935, do you have any example with output log that shows that issue?
[08:03] <t4nk935> i have to make sure the stream is keep runnning
[08:04] <t4nk935> yes I ever post to another forum
[08:04] <Demon_Fox> burek, I know, I was just wondering how close to lossless it is.
[08:04] <t4nk935> but no any other comments
[08:04] <t4nk935> burek, can I post here again?
[08:07] <t4nk935> hi burek, the log http://pastebin.com/2BzwCDxY
[08:07] <t4nk935> could you kindly give some hints?
[08:07] <burek> Demon_Fox, try and see? :)
[08:08] <burek> yes, just a moment
[08:08] <Demon_Fox> I was hoping someone knew on the byte level
[08:09] <t4nk935> I would like to clarify, is the ffm header is correct or wrong when ffmpeg prepare to send
[08:09] <burek> Demon_Fox, png -> tga -> png and then md5 check :)
[08:10] <t4nk935> if the data is wrong when ffmpeg is prepare, then the issue is cause by ffmepg
[08:10] <burek> t4nk935, wait, slow down
[08:10] <t4nk935> ok, thanks!
[08:10] <burek> what is your overall goal, what are you trying to accomplish?
[08:10] <t4nk935> because I use vlc client to get video stream from ffserver,
[08:11] <t4nk935> if the error occurs ,then the stream is stop
[08:11] <burek> using latest vlc, right?
[08:11] <t4nk935> it can not pass the test criterion
[08:11] <t4nk935> yes
[08:11] <burek> using ffplay to play the stream, or even ffmpeg, does it stop again?
[08:12] <Demon_Fox> burek, The problem with md5 is that if it is off by one bit like a timestamp
[08:12] <Demon_Fox> It will change the entire outcome.
[08:12] <burek> Demon_Fox, png/tga have timestamps? :)
[08:12] <burek> ok, try this, png->bmp
[08:12] <t4nk935> I use the url http://192.168.1.254:8090/test.mjpeg on vlc client
[08:12] <burek> png->tga->png->bmp
[08:12] <burek> and compare those two
[08:13] <burek> t4nk935, does ffplay http://192.168.1.254:8090/test.mjpeg stops if errors occur?
[08:13] <Demon_Fox> I should startpage it
[08:14] <t4nk935> I do not try ffplay, because I have to use windows application
[08:15] <t4nk935> And I google search, I find the issue 855 in libav
[08:15] <burek> Demon_Fox: http://en.wikipedia.org/wiki/Truevision_TGA says "Image data may be stored raw, or optionally, a lossless RLE compression similar to PackBits can be employed."
[08:16] <burek> so it should be lossless
[08:16] <t4nk935> I am not sure that have been fixed or not
[08:16] <t4nk935> my problem seems that same as that
[08:16] <burek> t4nk935, ffplay is a windows application too
[08:16] <Demon_Fox> burek, Except for the byte conversion
[08:16] <Demon_Fox> which means
[08:16] <Demon_Fox> perfect
[08:16] <t4nk935> http://roundup.libav.org/issue855
[08:17] <t4nk935> it says :ffserver hangs when feeding it via http
[08:17] <t4nk935> do you have idea?
[08:17] <burek> t4nk935, libav.org is not ffmpeg.org
[08:17] <burek> no need to mix those two
[08:17] <burek> libav.org is a fork of ffmpeg.org
[08:17] <burek> another project
[08:17] <t4nk935> ok,
[08:18] <burek> t4nk935, try playing your stream using ffplay for some time, see if it stops
[08:18] <t4nk935> but it seems ffserver hangs when feeding it via http I got
[08:18] <burek> if not, then most probably vlc has a bug which prevents it to overcome errors in the stream
[08:18] <t4nk935> why you think it is vlc bug?
[08:19] <burek> could be
[08:19] <burek> that's why i suggest you to test with ffplay
[08:19] <burek> http://ffmpeg.zeranoe.com/builds/
[08:19] <burek> download the latest binary
[08:19] <burek> and use ffplay.exe
[08:19] <burek> use static version
[08:19] <t4nk935> ok, for windows pc I can ffplay?
[08:19] <burek> of course :)
[08:21] <t4nk935> hi burek, let me try to use ffplay.exe
[08:23] <t4nk935> hi burek, could you help me , how about the command line to play my stream with ffplay?
[08:27] <t4nk935> how to use ffplay ?
[08:27] <t4nk935> could you provide the command line?
[08:29] <t4nk935> how to use ffplay to play the url http://192.168.1.254:8090/test.mjpeg?
[08:40] <t4nk935> hi burek,
[08:40] <t4nk935> I try to use ffplay and the command line of ffplay is ffplay http://192.168.1.254:8090/test.mjpeg
[08:40] <t4nk935> I got the same problem as vlc
[08:42] <t4nk935> the log is http://pastebin.com/B524Hp1b
[08:42] <t4nk935> do you have any idea about how to add workaround for the bug
[08:43] <burek> let me check
[08:44] <burek> t4nk935 did you see your stream with ffplay?
[08:44] <burek> did it display the video in a window?
[08:45] <t4nk935> yes
[08:46] <t4nk935> but just a few seconds, then the stream stop
[08:46] <t4nk935> I can see the window been opened
[08:49] <t4nk935> in /libavformat/fmdec.c, function ffm_read_packet(), case READ_DATA: size = AV_RB24(ffm->header + 2); the value of size is very very large, then ffm_is_avail_data() will return EAGAIN,
[08:50] <t4nk935> this condition will not leave
[08:50] <t4nk935> ffserver will stay in this condition always , then no any data can be output
[08:52] <burek> t4nk935, what did ffserver log show?
[08:54] <t4nk935> what log from ffserver, I just add some print by myself
[08:55] <t4nk935> I trace the flow, ffserver will do http_receive_data, then wake-up the streame that client request
[08:56] <t4nk935> then the stream client requested have av_read_frame return -11, then keep wait more data
[08:56] <burek> im not that much familiar with the source code itself
[08:56] <burek> you might want to try the mailing list for that
[08:57] <t4nk935> I have send to the mail list, but no any other comment
[08:58] <t4nk935> so , it is very big trouble for me
[08:59] <t4nk935> do you know who is familiar with the source code?
[09:00] <t4nk935> or, what is your expect about ffserver log?
[09:01] <burek> could you make your camera ip public, so i can setup a test ffserver to see what's wrong?
[09:03] <t4nk935> mm, this may not possible, because I can test it in my office
[09:03] <t4nk935> a test ffserver?
[09:03] <t4nk935> what is it?
[09:05] <burek> ffserver + config + ffplay
[09:05] <burek> btw, did you remove -vcodec copy from your ffmpeg cmd line
[09:10] <t4nk935> can i setup a test ffserve?
[09:23] <t4nk935> and I can not remove -vcodec copym this is must for me in this project, we do not allow to do decode+encode on my embedded system
[10:32] <t4nk935> hi burek, can I setup the test ffserver for debug?
[12:59] <SanderM> Hi
[12:59] <nilsge> hello. I'm using the last example on this page to create a video from a still image (jpg) and a wave file: http://ffmpeg.org/trac/ffmpeg/wiki/Create%20a%20video%20slideshow%20from%20images
[12:59] <nilsge> however, the wave is only 1:20 long and the timer already shows over 2:20
[12:59] <SanderM> me too nilsge! For me it keeps continuing
[13:00] <nilsge> I remember that happened before, a few month back
[13:00] <SanderM> I am having exactly the same problem at the same time
[13:00] <nilsge> durandal_1707: if you ensist: http://hastebin.com/pakicexawu.css
[13:00] <nilsge> insist
[13:01] <nilsge> ffmpeg version 1.2.1 btw
[13:01] <SanderM> I am also using version 1.2.1 on Mac OS X
[13:02] <nilsge> the strange thing is that the video does indeed stop when the music ends. mplayer does not go any further, but it shows the time (3:01) where I ended the process
[13:03] <SanderM> Do you mean when you play the file?
[13:03] <nilsge> yes
[13:04] <SanderM> for me VLC cannot recognize the input format of the file when I try to play it
[13:04] <nilsge> I did this 4 or 5 times now. Everytime I search for a new ffmpeg command on the web and then end up doing it in OpenShot anyway.
[13:04] <SanderM> What OS are you using?
[13:04] <nilsge> linux
[13:04] <SanderM> okay so it is not a Mac thing apparently
[13:04] <durandal_1707> so just wrong duration is displayed or?
[13:05] <nilsge> durandal_1707: no, the file is bigger than it should be. I quitted after encoding 3 minutes of video time, but it will go on forever
[13:05] <SanderM> The ffmpeg process keeps running
[13:05] <nilsge> the first time, one year ago or so, I tried it I was naive and let it running over night until it ran out of disk space
[13:05] <durandal_1707> ahh, i experience same crap
[13:06] <durandal_1707> open bug report
[13:06] <nilsge> -shortest does not work it seems. At least not in that parameter position
[13:09] <durandal_1707> example need update that is for sure, if there is working cmd line
[13:11] <durandal_1707> got it working, will update example
[13:12] <burek> nilsge, you have misplaced -i in your cmd line
[13:12] <burek> and you didn't provide complete output log
[13:13] <durandal_1707> burek: that last example does not work on latest master
[13:13] <SanderM> can you have a look at my thesis burek? I need someone to spot errors ...
[13:14] <burek> durandal_1707 why
[13:14] <burek> SanderM just a sec
[13:14] <SanderM> just joking burek haha
[13:14] <nilsge> burek: it is the example from the official ffmpeg site.
[13:15] <nilsge> It was not I who misplaced it
[13:15] <nilsge> anyway, if you move -fastest after the wave file name it works
[13:15] <yellabs-r2> hello there
[13:15] <nilsge> -shotest I mean, not fastest
[13:15] <burek> SanderM :)
[13:16] <burek> [13:00:49] <nilsge> durandal_1707: if you ensist: http://hastebin.com/pakicexawu.css
[13:16] <burek> take a look again
[13:16] <yellabs-r2> i am trying to split a 3.5 mpeg into two pieces ..
[13:16] <burek> 2nd -i is invalid
[13:16] <nilsge> burek: I am not saying it is correct. I am saying this is the official example.
[13:16] <burek> it's not
[13:16] <yellabs-r2> got the first part with : ffmpeg -ss 00:00:00 -t 00:30:00 -i
[13:16] <durandal_1707> -shortest:a should be after all -i stuff...
[13:16] <burek> official example has got proper -i options defined
[13:16] <durandal_1707> nope
[13:17] <nilsge> look at the page http://ffmpeg.org/trac/ffmpeg/wiki/Create%20a%20video%20slideshow%20from%20images
[13:17] <durandal_1707> official example does not work on master any more
[13:17] <yellabs-r2> but i cant get the second part, any tips would be more then welcome
[13:17] <nilsge> last example
[13:17] <durandal_1707> you get red error message
[13:17] <burek> nilsge, either read carefuly what i wrote or just ignore my lines
[13:17] <elkng> is that command "ffmpeg -i video.mkv -map 0:4 -scodec copy out.ass" the right one to extract subtitles using ffmpeg ?
[13:18] <burek> nilsge, your pastebin says: ffmpeg -shortest -loop 1 -f image2 -i Birnau-Kirchturm.jpg -i -c:v libx264 -c:a aac -strict experimental -b:a 192k out.mp4
[13:18] <burek> obviously your 2nd -i is invalid
[13:18] <burek> durandal_1707, thanks for updating the wiki page
[13:18] <burek> :beer: :)
[13:21] <yellabs-r2> with ffmpeg -ss 00:00:00 -t 00:30:00 -i i can get the first part of an mpeg video, how do i get the next part ? video is 1 hour 26 minutes 44 seconds long
[13:24] <burek> yellabs-r2, -t is output option
[13:24] <burek> ffmpeg -ss ... -i ... -t output.mp4
[13:25] <burek> for your case: ffmpeg -ss 00:00:00 -i ... -t 00:30:00 out1.mp4
[13:25] <burek> ffmpeg -ss 00:30:00 -i ... out2.mp4
[13:26] <yellabs-r2> ok, so that would get me the first 30 minutes of the mpeg, how would i get the last part of it ?
[13:27] <burek> i just wrote the cmd line both parts
[13:27] <burek> for*
[13:27] <burek> first cmd line is for out1.mp4 and another is for out2.mp4
[13:29] <yellabs-r2> ok trying it..
[13:29] <elkng> I'm trying to compile mkvtoolnix and that is what I get http://sprunge.us/ZiHE, is there some option for "configure" script I can use to disable some features and get rid of those errors ?
[13:30] <elkng> or is there mkvtoolnix channel ?
[13:39] <burek> +1 :)
[13:40] <elkng> burek: is that about you ?
[13:40] <burek> yes
[13:41] <elkng> family of baked or fried filled pastries made of a thin flaky dough known as phyllo or yufka ?
[13:41] <burek> it's a filling
[13:41] <burek> meat, onion and spices
[13:43] <elkng> burek: are you from turkey ?
[13:43] <burek> no :) from serbia :)
[13:43] <burek> but it was under turkish occupation for 500 years, so..
[13:45] <Bor0> burek great food
[13:45] <elkng> burek: so odds are 99% that your ancestors are turkish
[13:46] <Bor0> most of balcans countries are like that, not just Serbia
[13:46] <elkng> Bor0: yours ?
[13:47] <Bor0> that's my channel, it mostly contains trolling stuff
[13:47] <Bor0> and some music
[13:48] <burek> elkng, could be :) world is a big place :)
[13:57] <SanderM> hi
[13:58] <whatsoEVERyouWAN> sure; Hi ?
[13:58] <SanderM> using the command line http://hastebin.com/fejaxiqopa.avrasm , how would I make ffmpeg insert very many keyframes?
[13:58] <whatsoEVERyouWAN> I'm sorry, ... give me a moment to have a look
[14:01] <SanderM> moment passed!
[14:01] <SanderM> :)
[14:01] <burek> SanderM, we just discussed the -shortest
[14:01] <burek> move it just before output file name
[14:01] <SanderM> sorry
[14:01] <SanderM> do not bother about that
[14:01] <SanderM> I pasted the old command line
[14:02] <SanderM> I mean the new one
[14:02] <SanderM> (wiki page hadn't been refreshed)
[14:02] <burek> set -gop 1
[14:02] <SanderM> the question now is, how can I make ffmpeg insert very many keyframes? A certain software packages relies on them.
[14:02] <SanderM> okay
[14:02] <SanderM> -s
[14:02] <burek> sorr -g 1
[14:03] <burek> in ffmpeg it's -g not -gop
[14:04] <burek> -g 0 will make it all I-frames
[14:04] <whatsoEVERyouWAN> Invalid value '1' for option 'loop'
[14:06] <SanderM> burek, what do you mean with will make it all i-frames? I-frames are intraframes right? You mean each frame will be made i-frame?
[14:07] <whatsoEVERyouWAN> excuse, I ran cli and got that error, just to conclude.
[14:07] <burek> SanderM I-frames = keyframes
[14:08] <whatsoEVERyouWAN> see: 22:06:47) SanderM
[14:09] <SanderM> is there a way to check that each frame is a keyframe? in the ffmpeg output? Would like to see that it is the case before I send the file to my colleague ;)
[14:09] <SanderM> I do not have a chatlog for that time whatsoEVERyouWAN?
[14:09] <SanderM> (or what else do you mean?)
[14:12] <whatsoEVERyouWAN> OK, SanderM asked @ this question:(22:06:47) SanderM: using the command line http://hastebin.com/fejaxiqopa.avrasm , how would I make ffmpeg insert very many keyframes?
[14:15] <burek> ever heard of different time zones? :)
[14:15] <burek> whatsoEVERyouWAN, can you provide your cmd line + output log?
[14:15] <SanderM> haha, that too. How would I calculate back, do not know where the guy is haha
[14:16] <burek> there is !logs of cours
[14:16] <burek> e
[14:17] <burek> btw, whatsoEVERyouWAN, your ffmpeg is probably old and option 'loop' wasn't implemented yet
[14:17] <burek> so you might try -loop_input
[14:17] <whatsoEVERyouWAN> Hey, it's SanderM's question, his cli is at http://hastebin.com/fejaxiqopa.avrasm -- just run it in a terminal.
[17:46] <mrAlmond> Hi everyone
[17:47] <mrAlmond> I'm using an ffmpeg cross compiled for android to do an mp4 muxing
[17:47] <mrAlmond> on the pc side everything is ok
[17:47] <mrAlmond> in the device I have this error
[17:47] <mrAlmond> [NULL @ 0xe0cb10] Unable to find a suitable output format for '/data/standaloneTest.mp4'
[17:48] <mrAlmond> when using avformat_alloc_output_context2
[17:48] <JEEBsv> are you sure you have the format enabled in that library?
[17:48] <mrAlmond> I'm not sure
[17:48] <JEEBsv> also IIRC there was some way to guess the format from the file extension or so
[17:48] <mrAlmond> which configure option must I use?
[17:48] <JEEBsv> or just set it manually
[17:48] <JEEBsv> mrAlmond: well you have to have mov/mp4 enabled as formats, and file protocol
[17:49] <JEEBsv> at the very least
[17:49] <JEEBsv> if you have disabled a lot of stuff
[17:49] <mrAlmond> let me check
[17:50] <mrAlmond> I've just used ./configure --prefix <myprefix> --enable-libx264 --enable-gpl
[17:50] <mrAlmond> maybe I must enable mp4 container
[17:57] <mrAlmond> Those configure options were wrong...btw I was missing the --enable-muxer=mp4
[17:57] <mrAlmond> not it should be ok...I hope
[18:02] <mrAlmond> Now it says : Failed to find codec h264
[18:03] <mrAlmond> but it should be enabled
[18:03] <mrAlmond> no, it's not an ffmpeg message sorry
[18:03] <mrAlmond> it's from the app
[18:04] <mrAlmond> avcodec_find_encoder fails
[19:13] <nellynel90> is there a way for yadif to dynamically interlace if the source is interlaced?
[19:14] <nellynel90> *deinterlace
[19:15] <saste> nellynel90, theoretically possible with a bit of coding
[19:17] <nellynel90> so no options like that already set? yadif:0:-1:0 what does this do?
[19:28] <jxself> nellynel90: I'd love to see such a thing too. Something like https://trac.handbrake.fr/wiki/Decomb would be ideal.
[19:30] <JEEB> decomb is a mix of deinterlacing and IVTC IIRC
[19:30] <JEEB> also there was a way of having a filter only filter the frames that are coded interlaced in ffmpeg, but I don't remember that example line -- I never used that .-.
[19:32] <jxself> Indeed. I like that it operates only on frames that show on frames that actually show visible combing effects (not all framed marked as interlaced) because even in interlaced content filtering is only necessary when either something in the scene or the camera moves and produces those combing artifacts.
[23:03] <bunniefoofoo> I am having strange problem with swr_convert() when I get to the end of the stream and start flushing buffers of swr, the audio sounds like it is running backwards
[00:00] --- Thu May 30 2013
More information about the Ffmpeg-devel-irc
mailing list