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

burek burek021 at gmail.com
Wed Nov 7 02:05:01 CET 2012


[00:00] <Pupuser-2> silent wooorldddd
[01:29] <sparr_L> I have a MOV file that I'd like to replace the audio track in. Can ffmpeg do that without doing anything to the video stream?
[01:29] <sparr_L> I don't want to transcode anything
[02:53] <VooDooNOFX_> When using ffprobe, is there an option to only probe for video or data streams? (exclude audio streams or frames)
[03:03] <sparr_L> I'm trying to replace the soundtrack in a MOV, when I do "ffmpeg -i foo.wav -i foo.mov -o bar.mov" I get thousands of errors like this:
[03:04] <sparr_L> [h264 @ 0x54340c]AVC: nal size 0
[03:04] <sparr_L> [h264 @ 0x54340c]AVC: Consumed only 37609 bytes instead of 37612
[03:05] <sparr_L> and the resulting video is mostly garbage. it seems to show keyframes then grey junk in beteen
[03:13] <mark4o> sparr_L: did you try -codec:v copy ?  also is -o a mistake?  there is no -o option
[03:13] <sparr_L> sorry, yes -o is a mistake
[03:14] <sparr_L> ffmpeg: unrecognized option '-codec:v'
[03:14] <mark4o> what version are you using?  try -vcodec copy
[03:16] <sparr_L> vcodec worked, i'm using ffmpeg for osx
[03:16] <mark4o> macports?
[03:17] <sparr_L> prdownloads.sourceforge.net/mplayerosx/ffmpegXbinaries20060307.zip
[03:17] <sparr_L> which, now that I pay attention, might be a bit out of date :)
[03:18] <mark4o> well that appears to be over 6 years old, you might want to upgrade.  macports has 1.0 (current)
[03:18] <sparr_L> gonna see what homebrew has
[03:34] <sparr_L> yes, it has 1.0
[03:38] <sparr_L> thanks, new version seems to work better
[03:58] <jordan4ibanez> Hello, i am on MorphOS, how would i go about recording my screen on this?
[04:20] <mudkipz> sparr_L, just curious here as I have no experience with OSx, but how did you go about getting ffmpeg for it?
[04:20] <mudkipz> Last I looked you had to compile it yourself?
[04:20] <sparr_L> i installed ffmpegx which is a gui front end
[04:20] <sparr_L> that provided links to download binaries
[04:21] <sparr_L> including http://prdownloads.sourceforge.net/mplayerosx/ffmpegXbinaries20060307.zip
[04:21] <sparr_L> however, we just discovered that's very old
[04:21] <mudkipz> oh I see.
[04:21] <sparr_L> so now I'm using homebrew ("brew") to install from source packages
[04:21] <sparr_L> and now I'm running 1.0 and all is well
[04:22] <mudkipz> Awesome, thanks for the info
[04:53] <hp566tg> What code do I use to convert an SWF file to and MP4?
[05:24] <elkng> if I want to transcode video using 2 pass encoding for the first pass I use command: "ffmpeg -i file.avi  -c:v mpeg4 -vb 1500k  -mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 300 -pass 1 -passlogfile log_file -an -f rawvideo -y /dev/null",
[05:24] <elkng>  it generates "log_file" file that I can use in second pass, do I need to use bitrate option "-vb 1500k" in first pass ? and if I want transcode this video file in few other with different bitrate of 500,1000,1500 do I need to run pass 1 for every
[05:25] <elkng>  transcoding or I can do pass 1 once and hen 3 times pass 2 with different bitrate ?
[05:45] <elkng> s/hen/then
[12:08] <tuxx_> hey guys
[12:08] <tuxx_> i need to compress a video stream which i receive from vnc
[12:08] <tuxx_> on a low powered embedded linux device.
[12:08] <tuxx_> can someone suggest a fast codec which i could try..
[12:09] <tuxx_> a low framerate and bad quality is quite acceptable
[12:09] <saste> h263, mpegvideo1 or 2
[12:10] <tuxx_> saste: thanks
[12:11] <tuxx_> saste: also, i've written the vnc2mpg recorder in C using libav*
[12:11] <tuxx_> saste: i dont quite understand why i have to define a bitrate though.. isnt the bitrate calculated by colorspace, resolution, framerate?
[12:11] <tuxx_> tuning the bitrate doesnt seem to make much of a difference at all
[12:12] <saste> tuxx_: which codec?
[12:12] <tuxx_> saste: mpeg1/2 for example
[12:12] <saste> the bitrate surely depends on what you said, but also on the feature of the video
[12:12] <saste> also keep in mind that ffmpeg/libavcodec supports basically two encoding "modes"
[12:13] <saste> VBR - quality based, the encoding will try to keep the same level of quality
[12:13] <tuxx_> http://pastebin.com/xQ4aTXir
[12:13] <saste> and CBR - constant bit rate, libavcodec will try to keep a constant bitrate
[12:13] <tuxx_> saste: i see..
[12:14] <tuxx_> saste: also.. this is a vnc application which i am recording which hardly changes.. just a few menus pop up occassionally etc
[12:14] <tuxx_> saste: a codec which records relative information only would be totally sufficient
[12:15] <tuxx_> unfortunately i have not been able to encode more than 3 fps on the beagleboard (cortex-a8)
[12:16] <saste> i see you're using a pretty high bitrate 3Mbit/s
[12:16] <tuxx_> saste: hmm well.. i didnt know what to set :)
[12:16] <tuxx_> saste: and i added an option to reduce it
[12:17] <saste> default value is 200Kbits/s, and it is good for crappy quality
[12:17] <saste> also what's your resolution?
[12:17] <tuxx_> saste: the input resolution is 1024x768 but i scale it down to 800x600
[12:17] <elkng> tuxx_: "a low framerate and bad quality is quite acceptable", turn it into gif
[12:18] <tuxx_> saste: what i dont understand is even if i set the bitrate to 1 bit/s it still works and i hardly see a noticable difference
[12:19] <saste> tuxx_: you can try to decrease the bitrate, H.263 or even H.261 may be slightly less computational-demanding
[12:19] <saste> finally you'll have to reduce the framerate if you can't encode it in real time
[12:19] <tuxx_> saste: yea but unfortunately i have to reduce it all the way down to 3fps to get realtime encoding
[12:19] <saste> tuxx_: can you reproduce the behavior with ffmpeg?
[12:20] <tuxx_> i wonder if i am missing optimization flags for ARM
[12:20] <saste> as i said, i suspect that in "VBR" mode libavcodec just ignores the bitrate options
[12:20] <tuxx_> saste: i havent tried that really
[12:20] <tuxx_> saste: i see
[12:21] <tuxx_> [h261 @ 0x2324b10]The specified picture size of 800x600 is not valid for the H.261 codec.
[12:21] <tuxx_> Valid sizes are 176x144, 352x288
[12:25] <saste> tuxx_: that's it
[12:25] <saste> H.263 may be slightly more flexible
[12:25] <saste> also try -strict option with a less strict level
[13:53] <sgfgdf> hello, guys! what is the difference when i use "-acodec libfaac" and "-acodec aac -strict experimental"? which codec will provide better quality? is libfaac safer to use so far or aac is good too?
[13:54] <ubitux> as the cmd line suggests, the aac encoder is experimental
[13:54] <ubitux> so it's likely you'll get better results with faac
[13:56] <sgfgdf> ubitux, better results in terms of file size or quality, or both?
[13:56] <ubitux> try it
[13:56] <sgfgdf> by file size i meant compression.
[13:56] <ubitux> don't trust me, just try
[13:57] <sgfgdf> ubitux, are they libraries maintained by separate organizations btw?
[13:58] <sgfgdf> *the libraries
[13:58] <ubitux> libfaac is not from the ffmpeg project yes
[14:02] <sgfgdf> ubitux, so the experimental "aac" should be developed from ffmpeg then. thank you for the help!
[14:02] <ubitux> yes, "aac" is the ffmpeg builtin codec
[14:31] <tuxx_> i'm trying to avoid a colorspace conversion when recording from vnc
[14:31] <tuxx_> does anyone know how i can determin the colorspace of my vncserver?
[15:24] <tuxx_> hey guys.. i am trying to record vnc but i am having some strange colorspace problems
[15:24] <tuxx_> anyone care to assist?
[15:24] <tuxx_> :)
[15:28] <ubitux> tuxx_: i don't think anyone can help you given the amount of info you provided
[15:29] <tuxx_> ubitux: well basically i have modified a program i have found called vnc2mpg
[15:29] <tuxx_> which records a vnc session into an mpg... so that it uses the flashsv codec
[15:30] <tuxx_> i am trying to avoid colorspace conversions to save cpu time because the application shall eventually run on an embedded device
[15:30] <tuxx_> ubitux: http://pastebin.com/dxiNJh4M <- thats the code of the vnc recorder
[15:31] <tuxx_> I have set the CODEC_ID_FLASHSV however when i play back i get: Could not find matching colorspace - retrying with -vf scale...
[15:31] <tuxx_> Movie-Aspect is undefined - no prescaling applied.
[15:31] <tuxx_> [swscaler @ 0x7f9d8c2f7620]using unscaled bgr24 -> yuv420p special converter
[15:31] <tuxx_> the programm uses av_guess_format in order to determin some parameters perhaps I am using the wrong container format
[15:31] <tuxx_> or the colorspace information is not being written properly
[15:34] <tuxx_> ive set the depth of my vncserver to 32 bits right now
[15:34] <tuxx_> ubitux: is the container format relevant for the flashsv codec?
[15:34] <rupesh> I am using ffmpeg 0.8 how can i upgrade ?
[15:35] <tuxx_> rupesh: by installing a new version.
[15:35] <ubitux> tuxx_: flashsv encoder ouly outputs BGR24 pix format
[15:35] <ubitux> and mpeg doesn't support it
[15:36] <tuxx_> ubitux: so i use flv?
[15:36] <tuxx_> ./PIX_FMT_BGR24 -o out.flv 192.168.64.213:5900
[15:36] <ubitux> flv is a container
[15:37] <tuxx_> ubitux: so what should i be using then?
[15:37] <ubitux> i don't know what you are willing to change in your encoding chain
[15:38] <ubitux> i don't know what's your input, and the restrictions of your output
[15:38] <ubitux> rupesh: https://ffmpeg.org/trac/ffmpeg, https://ffmpeg.org/download.html, ...
[15:38] <tuxx_> ubitux: well i honestly said dont know either.. i am using libvncserver that creates a connection to my vnc server
[15:38] <rupesh> @ubitux thanks
[15:38] <tuxx_> what do you mean by output restrictions?
[15:39] <ubitux> the codec, format, ..
[15:39] <tuxx_> ubitux: codec = flashsv
[15:39] <tuxx_> format = 1024x768
[15:39] <tuxx_> same as input
[15:40] <ubitux> your input is already encoded in flashsv?
[15:41] <tuxx_> ubitux: hmm i dont think so
[15:41] <ubitux> what's your input?
[15:41] <ubitux> rawvideo?
[15:41] <tuxx_> yea i *think*
[15:41] <tuxx_> im trying to see from the C file if i can find out what my input is
[15:42] <tuxx_> ubitux: yes should be raw i guess
[15:42] <tuxx_> ubitux: can you think of a reason why mplayer says:
[15:42] <tuxx_> Could not find matching colorspace - retrying with -vf scale...
[15:44] <ubitux> because mplayer might not be able to display in the output colorspace of the file
[15:47] <tuxx_> ubitux: so do you have any idea what the problem is?
[15:48] <ubitux> i don't think there is any
[15:48] <ubitux> :p
[15:48] <tuxx_> ubitux: well http://tuxx.bdn.de/out.flv
[15:48] <tuxx_> well... does that play properly for you? :P
[15:49] <ubitux> pastebin a ffprobe -v 0 -of json -show_streams -show_format out.flv instead
[15:49] <ubitux> what do you mean by "properly"?
[15:49] <tuxx_> fprobe: unrecognized option 'v'
[15:49] <tuxx_> ffprobe: unrecognized option 'v'
[15:49] <ubitux> how old is your ffmpeg?
[15:49] <tuxx_> 0.6.6
[15:50] <ubitux> please&
[15:50] <ubitux> we are in 1.0
[15:50] <ubitux> well whatever
[15:50] <ubitux> yes i can see a picture on your out.flv
[15:50] <tuxx_> but the color is all messed up
[15:50] <tuxx_> isnt it?
[15:50] <ubitux> it's a flv/flashsv bgr24 file
[15:50] <tuxx_> yea
[15:50] <ubitux> kinda fucked up maybe yes
[15:51] <tuxx_> so do you have any idea why?
[15:52] <ubitux> because your encoder is broken :p
[15:52] <ubitux> i don't have time to debug your code though
[15:52] <ubitux> also, if you are using ffmpeg 0.6 you might hit an oooold bug we can't support
[15:53] <tuxx_> ubitux: hmm do you have a suspiscion what it could be due to?
[15:53] <tuxx_> i'll upgrade to ffmpeg 1.0
[15:53] <ubitux> the suspicion is that your code is broken :p
[15:53] <tuxx_> what aspect of it?
[15:53] <tuxx_> obviously it delivers proper images with the wrong colorspace however
[15:53] <ubitux> given that half the image is displayed
[15:54] <ubitux> and there is kind of a shift of colors
[15:54] <ubitux> i'd say the input pixel format is wrongly set
[15:54] <ubitux> like if it doesn't correspond to the actualy input
[15:54] <ubitux> don't ask me more, this is just a guess and i won't look at the code :p
[15:54] <tuxx_> i see....
[15:55] <a1ex> mh. if i use the -codec:v option right of -i it should consider it to be the encoder, shouldn't it? currently it fails with "unknown decoder" using x11grab -i :0.0 -c:v libx264
[15:56] <a1ex> if i omit the codec specification it falls back to libx264, but -preset or -crf settings have no effect
[15:59] <tuxx_> vnc2mpg.c:308:36: error: URL_WRONLY undeclared (first use in this function)
[15:59] <tuxx_> ubitux: any idea how to fix that? this was one of the reasons i didnt upgrad
[16:00] <a1ex> http://dpaste.com/825758/
[16:00] <a1ex> it actually works if i cut the command after crf 16
[16:00] <ubitux> tuxx_: look at doc/APIChanges
[16:00] <a1ex> but i just dont see why :/
[16:00] <ubitux> hopefully it will me documented
[16:01] <tuxx_> AVIO_FLAG_WRITE seems to be the new definition
[16:01] <ubitux> a1ex: move the -c:v after all the inputs
[16:01] <ubitux> (and any other output option)
[16:01] <a1ex> oh well. that was easy :>
[16:01] <a1ex> thank you
[16:02] <ubitux> ffmpeg [input-options-for-input-1] -i input1 [input-options-for-input-2] -i input2 [output-options] output
[16:04] <tuxx_> ubitux: you said that i am probably getting the unknown colorspace error from mplayer because mplayer does not support the colorspace?
[16:04] <tuxx_> ubitux: surely mplayer must know bgr24 right?
[16:05] <ubitux> yes but not for the output so it just converts it to what it needs
[16:06] <ubitux> tuxx_: btw, tbh, i think a wise choice is to find a program to output the raw data from libvnc on stdout and plays with ./bla xx.xx.xx.xx:1234 | ffmpeg -f rawvideo -pix_fmt ... -i - ...
[16:06] <tuxx_> ubitux: hm okay i will try to modify my program to output the frames
[16:06] <ubitux> or even better just write an acquire device in libavdevice
[16:06] <ubitux> but that might be overkill for your needs
[16:07] <rafajafar> hello, I'm using the following command to generate a series of screen captures from an mpeg taken from a dvd: ffmpeg -ss $frameNow -i $vid1 -vframes 1 -sameq -s hd480 $outfilename.jpg
[16:08] <rafajafar> the problem I'm having is that the number of frames it's processing isn't correct
[16:08] <rafajafar> I should see about 3300 frames
[16:08] <rafajafar> but I'm getting ~1900
[16:09] <rafajafar> I'm a bit confused, it works on smaller videos, but when I apply the same thing to the pulled mpeg, it stops at around 1900
[16:09] <ubitux> -ss is in second, not frame count
[16:09] <rafajafar> correct
[16:10] <rafajafar> this is what I used to calculate that: https://gist.github.com/7ba40a37a8d8f7b6f1fe
[16:10] <ubitux> you know that you can do that using -vf select, right?
[16:10] <rafajafar> errr wait wrong code
[16:10] <rafajafar> no.... how...
[16:11] <ubitux> what's your interval?
[16:11] <bizulk> stop drinking mate !
[16:12] <rafajafar> ok my interval is 0.33 seconds
[16:12] <rafajafar> so 3 frames a second on average
[16:13] <rafajafar> basically I'm taking one image at a time and passing it to a computer vision algorithm
[16:13] <rafajafar> and, eh, it works on videos that are much smaller, but for some reason the frames reported aren't right for the larger rip
[16:14] <rafajafar> which sucks b/c the youtube video I'm comparing it to is outside that range
[16:16] <rafajafar> ubitux: is this the type of command I should look into? ffmpeg -i video.avi -vf select='gt(scene\,0.4)',scale=160:120,tile -frames:v 1 preview.png
[16:16] <rafajafar> nm that makes a mosaic
[16:16] <ubitux> yes, but this is a bit advanced
[16:16] <ubitux> yes, remove the tile at the end of the chain
[16:16] <ubitux> remove the frames:v and use %03d.png or something
[16:16] <ubitux> ah and vsync cfr maybe
[16:17] <rafajafar> eh, I uh, yeah, might be a bit more than I need
[16:17] <rafajafar> I just need to get the right frames reported, really
[16:17] <rafajafar> how can I help diagnose this?
[16:17] <ubitux> just a sec
[16:18] <rafajafar> if you speak perl, here's the full code... if that helps
[16:18] <rafajafar> https://gist.github.com/9d18cd2ccba26e247333
[16:19] <rafajafar> passing in a delta value of 0.33
[16:21] <rafajafar> the duration reported is 1962.6 seconds for a 1:26:43 movie
[16:22] <rafajafar> which means I should be expecting 5160 seconds
[16:22] <rafajafar> 5203 actually
[16:23] <ubitux>  -vf 'select=not(mod(n\,1/TB))' -frames:v 50 -vsync vfr out%02d.png  this will generate 1 frame per second
[16:23] <ubitux> and save it in a out*.png file
[16:24] <ubitux> it will stop after 50 png
[16:25] <rafajafar> gotcha
[16:25] <rafajafar> I need 3 fps for the entire duration of the video, though
[16:26] <ubitux> adapt the formula :)
[16:26] <rafajafar> right, thank you
[16:26] <rafajafar> I'm jotting that down for my next iteration
[16:26] <rafajafar> right now I need to know why duration is reported wrong
[16:27] <ubitux> you know that you can use ffprobe to get the duration easily?
[16:27] <rafajafar> nope :-P color me newbie
[16:28] <ubitux> ./ffprobe -v 0 -show_format -of flat $input | grep format.duration
[16:28] <ubitux> you can play with the -of json, -of compact, and the option to remove the key etc
[16:30] <rafajafar> hmmm that returns nothing
[16:30] <ubitux> remove the -v 0 for debug
[16:32] <rafajafar> so uh there's no way to fix what I already have
[16:32] <ubitux> ?
[16:32] <rafajafar> (by the way, debugged it and figured it out)
[16:32] <rafajafar> (the ffprobe)
[16:32] <ubitux> too old ffmpeg not supporting flat output? :)
[16:33] <ubitux> bad input file?
[16:33] <rafajafar> nah input file was mounted in a different place than what I typed
[16:33] <rafajafar> :-P
[16:33] <rafajafar> user error
[16:33] <rafajafar> anyway
[16:33] <rafajafar> ffprobe reports the right stuff
[16:33] <rafajafar> why doesn't ffmpeg?
[16:35] <rafajafar> or...does...it... let me make sure what I have is right
[16:35] <ubitux> it uses the same internals, so you likely messed up your calculation
[16:35] <ubitux> or ffmpeg is wrong in both reported durations
[16:41] <rafajafar> bam!
[16:41] <rafajafar> thanks!
[16:41] <rafajafar> simple typo
[16:41] <rafajafar> $hours * 360
[16:41] <ubitux> :)
[16:41] <rafajafar> should have been $hours * 3600
[16:42] <rafajafar> explains why it works on smaller videos
[16:42] <rafajafar> they never were more than an hour
[16:45] <rafajafar> :-) if this works, I'll be stoked. I'll have a demo-able product. I built an algorithm that extremely efficiently perceptually hashes color images. Since each frame of a movie is an image, I can use this to do copyright protection :-)
[16:46] <rafajafar> it's fault tolerant (watermarking isn't a problem, blurring, etc etc) it's format and orientation tolerant, even skewing
[16:47] <rafajafar> I can find subclips within larger source movies, tell you where they are, and give you a confidence quotient
[16:48] <ubitux> how much info is it able to maintain?
[16:49] <sparr_L> I want to define some zoom and crop operations on parts of a video. Can ffmpeg do that or should I look into other video editing packages?
[16:49] <rafajafar> the algorithm?
[16:49] <rafajafar> each frame hashes to 96 bits
[16:49] <ubitux> sparr_L: -vf scale and crop filters
[16:49] <sparr_L> ubitux: I only want to apply it to some parts, and i want the scaling to be smooth
[16:49] <rafajafar> the storage mechanism isn't really the problem, bigdata has already solved that problem
[16:49] <sparr_L> a zoom in, not a jump to zoom
[16:49] <ubitux> rafajafar: you said you could watermark videos, so i'm curious about how much information you can store (50 ascii bytes, etc)
[16:50] <rafajafar> nah, I can IGNORE watermarked videos
[16:50] <rafajafar> so if someone pastes a translucent "Pwned by Anonymous" watermark over a video, I don't care, it hashes just the same b/c it's a fuzzy hash
[16:51] <ubitux> sparr_L: transition filters?
[16:51] <rafajafar> so I can take two frames, from different videos, different formats, and in the blink of an eye (faster, really), it tells you how similar they are
[16:51] <rafajafar> apply that to video.... get enough consecutive similarities and you've identified a subclip within a movie
[16:51] <ubitux> sparr_L: not sure if we have ones for what you want, i can think of fade filter but that's not what you are looking for it seems
[16:52] <rafajafar> say someone takes your copyrighted material and chops it up and posts it on youtube. I can find them.
[16:52] <ubitux> ah right, there is a kind of difference filter in development to do that kind of stuff
[16:52] <ubitux> but nothing upstream yet
[16:52] <rafajafar> yeah well I know about that, and I dislike it
[16:52] <rafajafar> it's too slow
[16:52] <rafajafar> way too slow
[16:53] <rafajafar> and it stores poorly
[16:53] <rafajafar> I went a different route....
[16:53] <rafajafar> :-)
[16:53] <tuxx_> ubitux: its working btw now
[16:53] <tuxx_> ubitux: i was getting RGB565 from the vnc server
[16:53] <rafajafar> sorry, excited that it's A) working and B) working better than I had hoped
[16:54] <ubitux> rafajafar: slow? sounds weird but well& any reason you are not writing this stuff as a builtin for ffmpeg btw?
[16:54] <rafajafar> unless you want to integrate opencv for ffmpeg
[16:55] <rafajafar> besides, I have tie ins with big media
[16:55] <rafajafar> going to try and make a buck before I die
[16:55] <ubitux> ok
[16:55] <rafajafar> haha
[16:56] <rafajafar> open source is great, but ....... so is money. If someone wants to buy it and open source it, that's all them.
[16:56] <ubitux> the thing is
[16:56] <ubitux> if at some point this feature is interesting for some people
[16:57] <ubitux> ffmpeg will likely get the same feature in a fairly short amount of time
[16:57] <rafajafar> nah
[16:57] <ubitux> but you won't get any credit for, because the developer will write it in its own way
[16:57] <rafajafar> it's novel and if you did, it'll be patented by then
[16:57] <burek> what does patent have to do with it?
[16:57] <rafajafar> I will personally congratulate anyone who can figure out how I did this
[16:57] <ubitux> who gives a fuck? :)
[16:58] <rafajafar> this is not something you roll out of bed and write
[16:58] <ubitux> patents are void
[16:58] <burek> this is all chicken talk..
[16:58] <ubitux> rafajafar: how will your software distributed?
[16:58] <burek> oh im smarter than anyone else
[16:58] <burek> if i could get a penny for each such person i met
[16:58] <rafajafar> burek, you misunderstand
[16:58] <rafajafar> it took me two years to solve the damn problem
[16:58] <ubitux> rafajafar: web service or classic app?
[16:59] <rafajafar> not decided
[16:59] <burek> rafajafar, in general, the first person you sell it to, will be able to reverse engineer it
[16:59] <ubitux> classic app will be reversed if it's efficient
[16:59] <burek> so, get used to it
[16:59] <rafajafar> yeesh
[16:59] <burek> people are always looking for ways to cheat the system
[16:59] <ubitux> rafajafar: i guess you're writing something similar to tinyeye right?
[16:59] <burek> you won't be the first nor the last to feel it on your skin anyway
[17:00] <rafajafar> it already beats tineye but yes, it does something very similar only ignores the things it does not
[17:00] <ubitux> ok
[17:00] <rafajafar> at least in my test cases, which are pretty decent in size at this point
[17:00] <ubitux> this is a "well-known" problem
[17:01] <ubitux> i mean, at least there are a lot of different documentation, thesis and implementations
[17:01] <ubitux> that doesn't sound like something impossible
[17:01] <rafajafar> nah it's not
[17:01] <rafajafar> totally do-able
[17:01] <ubitux> but sure, if your service is doing a better job, then good for you
[17:01] <rafajafar> just took a bit of a eureka moment to solve it... better... if you know what I mean
[17:02] <ubitux> http://stackoverflow.com/questions/1005115/what-algorithm-could-be-used-to-identify-if-images-are-the-same-or-similar-re
[17:02] <burek> if it helps you sleep at night, we feel happy for you :)
[17:02] <ubitux> seems there are some pretty good material for this problem out there
[17:03] <rafajafar> burek: you're kinda an unnecessary jerk... at least snarky to the point of "why?"
[17:03] <ubitux> heh, wavelets, nice
[17:03] <rafajafar> wavelets are slow
[17:03] <rafajafar> monga is also slow
[17:03] <rafajafar> and both only work on greyscale
[17:03] <rafajafar> so Socially Awkward Penguin and Socially Awesome Penguin are the same to both of those
[17:03] <burek> well im not with the "i'm so smart" attitude, so please excuse me :P
[17:04] <rafajafar> I'm NOT!
[17:04] <rafajafar> I'm saying I'm happy ffs
[17:04] <ubitux> haha
[17:04] <ubitux> rafajafar: no worry :)
[17:04] <rafajafar> I thought someone here would be interested, yeesh
[17:04] <burek> well it makes us happy too :)) that's what i said right? :)
[17:04] <ubitux> rafajafar: i'm interested
[17:04] <rafajafar> *sigh* if I was so smart, I wouldn't be in here asking YOU for help
[17:05] <DonGnom> rafajafar: i think beeing smart doesnt mean you know all but means you know who to ask or where to look for help :)
[17:05] <rafajafar> then I'm brilliant for asking yall
[17:05] <ubitux> :D
[17:05] <rafajafar> and dumb for doing $hours * 360 instead of $hours *3600
[17:05] <rafajafar> lol
[17:06] <rafajafar> nah I'm also taking a huge life risk on this, so nerves and lack of sleep are getting to me
[17:06] <DonGnom> rafajafar: correct :)
[17:06] <rafajafar> maybe I did come across as a braggard
[17:07] <ubitux> rafajafar: feel free to share your stuff when you have something to show
[17:07] <rafajafar> I wouldn't even do this, but I have connections in the media space.... we'll see if they bare fruit
[17:07] <ubitux> at least i will be interested
[17:07] <rafajafar> *sigh* I dont know what I could show, I can't show the code, just the results
[17:07] <ubitux> that's fine too :p
[17:08] <ubitux> you don't need to show it now :D
[17:08] <rafajafar> if you're interested in that, I've got tons of formatted data that shows the fault tolerance and such
[17:08] <ubitux> i was just curious, nothing more
[17:08] <rafajafar> one day :-)
[17:08] <rafajafar> today I've gotta get this finished
[17:09] <rafajafar> pre-processing takes a bit at 3 fps, unfortunately. I dont think I need that, probably 1fps, maybe 2fps, but because I did this the "dumb" way... in other words, invoking ffmpeg for every screen I grab, I think it's taking much longer than it should
[17:11] <rafajafar> essentially, ubitux, I blueprint a video... then I take other videos and blueprint them. Then I compare the blueprints. If there's a stretch of matches, I go "there might be a clip in there!" ... the longer the match with the lower the confidence score, the more likely a match has been found
[17:11] <rafajafar> so some jackhole takes the new Adele music video and posts it online to score some cheap views
[17:11] <rafajafar> her label can find that and stop it
[17:11] <rafajafar> controlling their content
[17:12] <burek> btw, what was your issue with ffmpeg exactly? :)
[17:12] <rafajafar> not sure how it'd be implemented, really depends on that first customer *shrug* I'm not the businessman, I'm the inventor. I've got someone who can help with that.
[17:13] <rafajafar> ffmpeg wasn't the problem, I was getting false durations, but it was in how I was reading the duration, not the way the duration was reported
[17:13] <rafajafar> sorry, I'll shut up, you're right burek
[17:13] <burek> no. I dont mind you talking
[17:13] <burek> im just asking
[17:13] <burek> to help you get more time to sleep i guess :D
[17:13] <durandal_1707> rafajafar: how that will cope with addgrain?
[17:14] <rafajafar> grain and blur distortions are gracefully handled... it's a "fuzzy" hash, so if you distort the video, you're not going to get exact matches, but you'll get "close enough"
[17:15] <rafajafar> get enough close enough frames in a row, and it's like, "well these frames are all pretty close to this source material and in the same order too, so ... probably this subclip exists within the source"
[17:15] <ubitux> rafajafar: i considered writing something like this to detect "events"
[17:15] <ubitux> but i had more fun stuff to do at that time
[17:15] <ubitux> :p
[17:15] <rafajafar> yup! I used it for scene detection
[17:15] <rafajafar> totally does that
[17:15] <rafajafar> the problem is there's too many "scene events" ...whatever you want to call them....
[17:16] <rafajafar> makes it rather impractical
[17:16] <rafajafar> there's ways around it, I just dont think that's where the product is
[17:26] <tuxx_> ubitux: ugh.. i finally got it working on my pc
[17:27] <tuxx_> when cross compiling the exact same C file for my embedded device i get a segmentation fault
[17:27] <tuxx_> somewhere in swscale
[17:27] <tuxx_> ...
[17:29] <ubitux> more info needed if you want help
[17:33] <tuxx_> ubitux: there isnt more info available..
[17:33] <tuxx_> ubitux: ive cross compiled this binary for arm cortex-a8
[17:33] <ubitux> backtrace&
[17:33] <ubitux> valgrind, etc
[17:33] <ubitux> also, try to reproduce with ffmpeg
[17:33] <tuxx_> ubitux: well.. i'll need to get debug infromation on the target first
[17:34] <tuxx_> also i might want to get this working on 1.0 first
[17:34] <tuxx_> before i start calling out bugs
[17:35] <tuxx_> ubitux: the trick was that i was getting RGB565 from the VNC and flashsv needed BGR24 as you said..
[17:35] <tuxx_> with that ... it works.
[17:35] <ubitux> try to valgrind locally your tool
[17:36] <tuxx_> locally you mean on the arm target?
[17:36] <ubitux> on your local machin
[17:36] <ubitux> well do whatever you want actually :p
[17:37] <ubitux> you seemed to suggest it worked locally so& valgrind might raise some problems anyway
[17:37] <tuxx_> ubitux: i see
[17:38] <tuxx_> http://pastebin.com/EJMaRAnL
[17:39] <tuxx_> http://pastebin.com/CQUasLt5
[17:46] <ubitux> does it happen without your patch?
[17:46] <ubitux> check if your buffer is large enough
[17:55] <chrisivens> Afternoon
[17:56] <chrisivens> I need to get a newer version than 0.6.5 onto RHEL 6. Any ideas? Is there a good rpm repo I can get it from. Would rather not build the whole stack from source.
[19:14] <stephanedev> Mavrik: thanks for your help yesterday, i got it to work using av_copy_packet
[19:14] <Mavrik> ah, good to know :)
[19:15] <stephanedev> now i have many rtp-related questions but i'll try to find the answers by myself first before asking for more help :p
[19:33] <rafajafar> hey if I wanted to capture a frame at the exact quality of a standard quality youtube video, it'd be: ffmpeg -ss $thisframe -i $vidinput -vframes 1 -s 640x360 $outputfile.jpg
[19:33] <rafajafar> right?
[19:33] <rafajafar> or would that just change dimension but not quality
[19:35] <Mavrik> you can't change dimension without quality actually :)
[19:36] <rafajafar> hmmm right
[19:36] <Mavrik> it's a wierd question
[19:36] <rafajafar> I want the frame I capture from a source to mimic the encoding of youtube
[19:36] <rafajafar> yeah it is
[19:36] <Mavrik> the command line you pasted will create a JPEG image from original source
[19:36] <rafajafar> yes
[19:36] <Mavrik> with default JPEG quality
[19:36] <rafajafar> ah hah!
[19:36] <Mavrik> what are you trying to achieve?
[19:37] <rafajafar> well I am finding that there's multiple distortions happening at once on the videos I'm processing. I'm comparing source vids to youtube vids
[19:37] <rafajafar> when I use my system ... it works if the source and the clip come from the same place
[19:38] <rafajafar> but I'm trying to account for why the youtube videos aren't matching as well as I had hoped
[19:38] <rafajafar> I don't think it's insurmountable
[19:38] <rafajafar> I just want to eliminate the source difference from the youtube difference
[19:39] <rafajafar> if I can get the source frame captured to match the youtube frame captured, then I know that's either the problem/not the problem
[19:39] <rafajafar> since the source is higher quality, I figure if I just mimic what youtube does ... yanno?
[19:39] <rafajafar> but you said the "default" jpg quality. That's interesting. I might want to try png instead
[19:41] <Mavrik> huh
[19:41] <Mavrik> I have no idea what are you trying to do
[19:41] <rafajafar> but at the same time, the flv itself might be distorting things?? At the very least I want to match the dimensions
[19:41] <Mavrik> or what does Youtube have to do with anything
[19:41] <Mavrik> flv is a container.
[19:41] <Mavrik> it has little to do with video.
[19:41] <rafajafar> ok
[19:42] <rafajafar> ok so ignore what I'm trying to accomplish
[19:42] <rafajafar> overall, that is
[19:42] <rafajafar> instead, what I need is to take a source video and pull frames from it... these frames must match the quality you'd expect to see on youtube
[19:43] <rafajafar> any idea what that would be?
[19:43] <Mavrik> what you're asking makes no sense
[19:44] <Mavrik> you can grab a frame but you'll have to encode it into another format which will cause different losses than youtube video
[19:44] <Mavrik> you won't get EXACTLY the same image quality no matter what you do
[19:44] <Mavrik> since the formats for still images and videos are different
[19:44] <rafajafar> it makes sense
[19:44] <rafajafar> I'm trying to replicate as much of the losses as possible
[19:45] <rafajafar> I'm not trying for an exact match, just a close enough
[19:45] <Mavrik> well you can't.
[19:45] <rafajafar> fuzzy hashing the frames
[19:45] <Mavrik> since the way PNG and JPEG encode images is different than what H.264 or WebM does
[19:45] <Mavrik> it's even different within H.264 depending on preset on profile
[19:46] <Mavrik> and you'll get different compression artifacts
[19:46] <rafajafar> ok so what you suggest is to first encode the source in H.264 and THEN capture the frames
[19:46] <Mavrik> if you're doing image processing I suggest you use a filter that will remove compression artifacts
[19:46] <rafajafar> I dont think the artifacts are the real problem, I'm just trying to eliminate that possibility
[19:47] <rafajafar> my filter handles some pretty heavy distortion
[19:47] <Mavrik> rafajafar: only if you can guess exact version of encoder and exact settings Google uses and exact way of decoding and filtering that your player uses
[19:47] <Mavrik> I suggest you find another solution.
[19:47] <rafajafar> I love how when people don't have all the info, they assume the other person is stupid first :-P
[19:48] <rafajafar> ok
[19:48] <rafajafar> thanks man
[19:48] <rafajafar> can't say much more than I have, but you've been helpful
[19:50] <rafajafar> think I got a handle on it, by the way.... youtube prefers a 1:1 pixel ratio
[19:50] <rafajafar> the source was not, by a long shot
[21:07] <DoNotKNowCarlie> Hi.I'm having troubles compiling  hqdn3d for ARM win 1.0 (tarball) . I can't find a clue in google. any idea ?
[21:31] <t5un4m1> Hi. I'm attempting the follow the compilation giude for ffmpeg from http://ffmpeg.org/trac/ffmpeg/wiki/MacOSXCompilationGuide on Mountain Lion, and am receiving ERROR: libopenjpeg not found when attempting to configure ffmpeg. libopenjpeg is isntalled. Any ideas?
[21:53] <mrec> hi, does anyone know how to get rid of undefined reference to `ff_put_h264_qpel8_mc12_10_mmxext'?
[22:06] <t5un4m1> muie
[23:34] <cbsrobot> mrec: make clean ?
[23:35] <mrec> already solved old ffmpeg bug
[23:35] <cbsrobot> heh ok
[00:00] --- Wed Nov  7 2012


More information about the Ffmpeg-devel-irc mailing list