[00:00] <JEEB> setpts [00:00] <JEEB> (the video filter) [00:01] <JEEB> that will of course only deal with the video [00:01] <llogan> atempo for audio [00:04] <caral> llogan: This could be. Do you know how i could apply protokoll options to an tee cli? [00:08] <llogan> caral: no, sorry. i might be able to look at it later or you can try ffmpeg-user mailing list [00:10] <Fusl> setpts works on video frames, asetpts on audio frames. [00:47] <caral> thx anyway llogan :-) [01:02] <[mbm]> is it possible to create an mp4 container of an infinite length? (live video stream) [01:03] <klaxa> mp4 is not designed for streaming [01:03] <klaxa> so, no. [01:06] <[mbm]> trying to figure out what would prevent an mp4 with multiple mdat atoms [01:08] <[mbm]> ah, "fragmented mp4" [01:13] <fundies> you tring to rip one? [01:14] <fundies> https://github.com/K-S-V/Scripts/blob/master/AdobeHDS.php thatll put a fragmented mp4 back together I think [01:16] <[mbm]> fundies: no, trying to live stream using an mp4 container [01:16] <fundies> ah [01:16] <[mbm]> so, endless mp4 file [01:55] <JEEB> [mbm], there's a -movflags option for the mov/mp4 muxer that enables movie fragments [01:55] <JEEB> which is the feature you want [02:00] <[mbm]> JEEB: thanks, will poke around [02:38] <jnvsor> How do I output transparent pngs? I have a timecode on a black background but I want a transparent background [02:42] <jnvsor> http://pastebin.com/imPW5Sqj [03:05] <jnvsor> Ended up using alphamerge filter if anyone's wondering [03:27] <jkli> hi [03:27] <jkli> i just encoded a video, is there a way to check what encoding settings were passed to ffmpeg? [03:34] <vmiimu> jnvsor: I tried compiling but ran into trouble so I went with deb-multimedia.org's package instead. [03:35] <vmiimu> jnsvor: Currently I have ffmpeg version 1.0.8. Also full pastebin for "ffmpeg" is here: http://pastebin.com/CE1Bp1FL [03:37] <vmiimu> jnsvor: When I ran the filter you created for me earlier I get: "Error opening filters!" full output here: http://pastebin.com/pWUY4gTy [03:38] <vmiimu> jnsvor: Please advise on how I should proceed. Thanks. [03:44] <jnvsor> vmiimu: v1.0.8 is ancient, we're on 2.1.2 now. You really need to compile it [03:44] <vmiimu> jnvsor: Would the precompiled static binaries work instead? [03:55] <vmiimu> jnvsor: You're a genius buddy! =) Your filter worked perfectly once I got the static binary, which was much easier than trying to compile on debian since all the dependencies were ancient. [03:56] <vmiimu> jnvsor: that little snippet deserves to be in a wiki somewhere as I'm sure it's a common use case [05:28] <llogan> jkli: if you encoded to H.264 video with libx264 one method: strings input.mp4 | grep x264 [05:29] <jkli> thx [08:56] <__raven_> PING [10:08] <__raven> what is the right description for the dirty window effect on especialy h264? is it gamut errors from palette conversions or col reduction eg from 10 to 8 bit? [16:10] <Floris497> is it posible to stream to localhost and then open the localhost with ffmpeg? [17:45] <Sashmo> is there a way to get ffmpeg to output to syslog instead of stderr [17:46] <ubitux> you can define you own logging callback [17:46] <Sashmo> ubitux: how? [17:47] <ubitux> with av_log_set_callback() [17:52] <Sashmo> ubitux: thanks I'll look into that [18:55] <sky2> i want to convert an flv file into a 3gp using ffmpeg..how to do it? Can any one help me pls.. [18:57] <sky2> any help..PLS [18:58] <sky2> need ffmpeg converion command.. [18:58] <sky2> conversion* [18:58] <sky2> i want to convert an flv file into a 3gp using ffmpeg..how to do it? Can any one help me pls [19:00] <LithosLaptop> ffmpeg -i the_source_file.flv [19:03] <re-G> with -ss -parameter we can use syntax hh:mm:ss[.xxx], what is the unit of .xxx? parts of second or frames or? [19:05] <sky2> LithosLaptop: yes , but i tried it [19:05] <sky2> with zero luck [19:05] <sky2> could not figure out the reason [19:05] <vedu> hello. I have installed packages: libofa, libav-tools; on kubuntu but apparantly programs cannot find ffmpeg [19:06] <sky2> My file name is Gomukh.flv & its on my desktop [19:06] <LithosLaptop> sky2: the reason why I just listed the -i partameter is because I want to see the output [19:06] <LithosLaptop> you can paste it in pastebin [19:06] <sky2> ok [19:08] <sky2> LithosLaptop: ffmpeg -i Gomukh.flv << is that how the command should be following guideline you gave? [19:08] <LithosLaptop> yes [19:09] <sky2> ok [19:09] <sky2> gimme few minutes [19:13] <vedu> hello. to install ffmpeg in kubuntu, i have installed libav-tools, libofa. am I missing anything [19:18] <acovrig> I am having a hard time getting my phone to play a video, http://pastebin.com/5FWs3F0G is the ffmpeg output, the first one plays fine, the second won't play video-wise on my phone. [19:23] <acovrig> nevermind, it must have been the order with which I had the flags on the command line, I rearranged them and it seems to work now. [19:58] <sky2> LithosLaptop: u there [19:58] <LithosLaptop> think so [19:58] <sky2> soryy for being late to respond to you [19:58] <sky2> sorry* [19:58] <LithosLaptop> no prob [19:58] <sky2> http://pastebin.com/3Bf5k0a8 [19:58] <sky2> thats the output [19:59] <LithosLaptop> the path to Gomukh.flv is incorrect [19:59] <sky2> but the file is right on my desktop [20:01] <LithosLaptop> ffmpeg.exe -i "c:\Users\YourUser\Desktop\Gomukh.flv [20:01] <LithosLaptop> ffmpeg.exe -i "c:\Users\YourUser\Desktop\Gomukh.flv" [20:01] <sky2> ok [20:02] <LithosLaptop> give output again once it gets the right file [20:02] <sky2> ffmpeg .exe -i "c:\Users\sky\Desktop\Gomukh.flv << right ? [20:03] <sky2> sky is the user [20:03] <LithosLaptop> try it and see if it doesn't say "No such file or directory" [20:06] <sky2> http://pastebin.com/EGNTMvnT [20:06] <LithosLaptop> hmm [20:06] <LithosLaptop> don't see anything [20:06] <LithosLaptop> are you on Windows? [20:07] <sky2> NO [20:07] <LithosLaptop> oops [20:07] <sky2> IM ON LINUX MINT XFCE [20:07] <LithosLaptop> yeah that folder location won't work on Linux [20:07] <sky2> yeah [20:07] <sky2> i was wondering [20:07] <sky2> with that c:\<< [20:08] <LithosLaptop> not sure what the path is to the Desktop with Linux [20:08] <LithosLaptop> somebody else might know here [20:08] <sky2> telling u.. [20:08] <LithosLaptop> or [20:09] <sky2> home/sky/Desktop [20:09] <LithosLaptop> yeah try that [20:09] <sky2> ok [20:10] <sky2> ffmpeg -i \home\sky\Desktop\Gomukh.flv... [20:10] <sky2> rigt? [20:11] <sky2> nah same [20:11] <LithosLaptop> isn't the slashes other way around in linux? [20:11] <LithosLaptop> oh ok [20:13] <sky2> somedays back someone helped me witha mov file , i tried that with this Gomuk.flv ..it was working but the output was not playable [20:14] <sky2> look here im posting the COMMAND as he made it out" [20:14] <sky2> ffmpeg -i ~/Desktop/142306432_l.mov -vcodec mpeg4 -vb 3000k -s 320x240 -strict experimental -ar 44100 -acodec aac -ab 256k -cutoff 15000 ~/Desktop/test.3gp [20:15] <sky2> there the file was " 142306432_l.mov" [20:15] <LithosLaptop> are you playing back on a phone? [20:15] <sky2> yes [20:15] <sky2> thats all i want to do [20:15] <sky2> to make it playable on my cell [20:16] <LithosLaptop> the framerate might be incompatible [20:16] <sky2> & phone supports .3gp [20:16] <LithosLaptop> did the converted 142306432_l.mov dile playback correctly? [20:16] <LithosLaptop> *file [20:16] <sky2> yes ...wonderfully [20:17] <sky2> no distortion [20:17] <LithosLaptop> yeah then I think the framerates might be different [20:17] <sky2> oh [20:17] <sky2> ok [20:17] <LithosLaptop> try -r 30 [20:17] <sky2> ok [20:18] <LithosLaptop> or figure out what the framerate was of 142306432_l.mov [20:18] <sky2> sorry where to put it? [20:19] <LithosLaptop> ffmpeg -i ~/Desktop/Gomukh.flv -vcodec mpeg4 -vb 3000k -r 30 -s 320x240 -strict experimental -ar 44100 -acodec aac -ab 256k -cutoff 15000 ~/Desktop/test.3gp [20:20] <sky2> ok [20:20] <sky2> converting.. [20:20] <sky2> let me seethe output.. [20:21] <LithosLaptop> you could try -r 25 and -r 15 also if 30 is too high for the phone to handle [20:22] <sky2> did not work..not even playable by any media player [20:22] <sky2> VLC or any other [20:23] <sky2> :( [20:24] <LithosLaptop> ffplay can ffplay play the original? [20:25] <sky2> ffplay? [20:25] <LithosLaptop> ffplay ~/Desktop/Gomukh.flv [20:25] <sky2> ok [20:25] <sky2> yup..its playing [20:26] <LithosLaptop> argh, if it can play it then ffmpeg should be able to convert it [20:26] <LithosLaptop> hmm [20:26] <sky2> ic [20:29] <sky2> http://pastebin.com/TVF9vByC [20:30] <sky2> thats the output wile it was playing [20:30] <sky2> by ffplay [20:31] <sky2> u there ? LithosLaptop [20:32] <sky2> ok LithosLaptop if u here tomorrow will catch you for sure..gotta go now [20:33] <sky2> no rush.. [20:33] <LithosLaptop> oh thx [20:33] <LithosLaptop> btw [20:33] <LithosLaptop> you could try: [20:33] <sky2> its midnite here [20:33] <sky2> yes pls.. [20:33] <LithosLaptop> ffmpeg -i ~/Desktop/Gomukh.flv -vcodec copy -an test.3gp [20:33] <sky2> ok [20:35] <sky2> dont see the output file on my desktop [20:35] <dan_> I'm making a tiled video where the timestamp of each tile is slightly behind the previous tile. This all works great using "setpts=PTS-STARTPTS+0.550000/TB" to offset one frame, for example, EXCEPT that at the beginning of the video I get green lines and artifacts where the videos in some tiles hasn't started playing yet. Is there a way that I could make these tiles black at the start instead? [20:35] <LithosLaptop> oops [20:35] <LithosLaptop> ffmpeg -i ~/Desktop/Gomukh.flv -vcodec copy -an ~/Desktop/test.3gp [20:36] <LithosLaptop> anyway, I have 2 go [20:36] <LithosLaptop> cheers [20:36] <sky2> yes [20:36] <sky2> itworked [20:36] <sky2> OWO [20:36] <sky2> WOW [20:36] <LithosLaptop> haha [20:36] <sky2> LOL [20:36] <LithosLaptop> but on the phone? [20:36] <sky2> do u come in this room all the time? [20:36] <sky2> have to see [20:37] <sky2> will chk [20:37] <LithosLaptop> only sometimes [20:37] <sky2> & let u know [20:37] <LithosLaptop> ok [20:37] <sky2> ohh [20:37] <thebombzen> dan you might want to try a concat filter [20:37] <sky2> dunno much about that [20:37] <sky2> if u give me any contact mail [20:37] <dan_> hmm, what should I try to concat? [20:37] <thebombzen> dan_: concatenate /dev/zero with your video, and use a duration command in concat.txt [20:38] <dan_> huh ok, i will see if I can figure that out [20:38] <thebombzen> /dev/zero gives all zeros on read, similar to how /dev/null gives EOF [20:39] <thebombzen> and you would use the filter because rawvideo isn't the same codec as your video, so the demuxer won't work [20:39] <dan_> so i would have to concat-filter each input video with /dev/zero? [20:39] <sky2> LithosLaptop: shd that work for all files? [20:39] <thebombzen> if a video starts 2:30 in from the beginning, I'd concat 2:30 of /dev/zero (format rawvideo) with your video, [20:39] <LithosLaptop> no, because it copies the video and not all codecs work with 3gp [20:40] <LithosLaptop> and that command also doesn't copy audio [20:40] <dan_> ah i see, okay. that could all be done on the fly with filters on all my input videos? [20:40] <sky2> ok [20:40] <thebombzen> https://trac.ffmpeg.org/wiki/How%20to%20concatenate%20%28join,%20merge%29%20... [20:40] <sky2> hope to see u gain here [20:40] <sky2> again [20:40] <dan_> thx [20:40] <LithosLaptop> ok no prob [20:41] <sky2> do u go in other channel [20:41] <sky2> mint help? [20:41] <sky2> linuxmint-help [20:42] <sky2> would love to learn abt this ffmpeg [21:53] <JVillella> Hi everyone, could someone direct me to tutorials for using ffmpeg in C? not command line [21:53] <Mavrik> doc/examples [21:54] <Mavrik> + doxygen documentation [21:54] <JVillella> Thank you, http://ffmpeg.org/doxygen/trunk/examples.html this right? [21:57] <ubitux> JVillella: better look into the tree since it contains a README and Makefile example [21:58] <ubitux> http://git.videolan.org/?p=ffmpeg.git;a=tree;f=doc/examples;hb=HEAD [21:58] <ubitux> they are also deployed with your install btw [21:58] <JVillella> thank you @ubitux [21:58] <ubitux> (probably in something like /usr/share/doc/ffmpeg) [21:58] <ubitux> seems to be /usr/share/ffmpeg/examples/ here [21:58] <JVillella> I don't seem to find anything about rotation...is that much harder? [21:59] <ubitux> rotation is done with video filters [21:59] <JVillella> ah ok [21:59] <ubitux> so... look at the filtering example [22:04] <beastd> JVillella: You can also have a look here if you feel like it: http://trac.ffmpeg.org/wiki/Using%20libav* [22:05] <JVillella> the more resoources the better. Im also in need of cropping. is that considered a video filter? [22:05] <JVillella> resources** [22:06] <ubitux> yes [22:06] <ubitux> see http://ffmpeg.org/ffmpeg-filters.html [22:06] <ubitux> we have tons of them [22:07] <JVillella> why isnt video scaling though? [22:07] <ubitux> it is [22:07] <JVillella> dont I have to use this swscale tho? [22:07] <ubitux> well, you can use swscale directly of course [22:07] <ubitux> you can use the scale filter [22:07] <ubitux> (which uses swscale) [22:07] <JVillella> what's easier? [22:08] <ubitux> depends [22:08] <Mavrik> nothing about using C API is easy [22:08] <Mavrik> if your goal is "easy"... C API isn't for you really. [22:08] <ubitux> if you're using the filters already, adding "scale=..." in your filtergraph is certainly way simpler than using swscale [22:08] <JVillella> Im writing an android app that needs to make calls to ffmpeg's c api via the JNI. [22:08] <ubitux> but if you don't use filters, the filter API overhead can be a bit troublesome [22:09] <Logicgate> how does one change the framerate of a video while keeping the length effectively? [22:10] <JVillella> @ubitux: I just want to take a video with some landscape and widescreen format, crop it square, scale it to 640x640 and then rotate it. Filters is the way to go then? [22:10] <Mavrik> Logicgate, fps filter should be enough [22:11] <ubitux> -vf "crop=<...>,scale=640:640,rotate=<...>" [22:11] <ubitux> (or transpose instead of rotate) [22:11] <JVillella> I wish i had access to a CMD. but i have to use api calls vie Java Native Interface [22:11] <JVillella> via* [22:11] <ubitux> that's a string filtergraph [22:12] <ubitux> see the filtering example [22:12] <JVillella> @ubitux this one? http://git.videolan.org/?p=ffmpeg.git;a=blob;f=doc/examples/filtering_video.... [22:12] <ubitux> yes [22:12] <ubitux> see line 41 [22:13] <JVillella> wow! nice. so i can basically just change it to what you wrote and it should work? [22:13] <beastd> JVillella: BTW you can prototype your filtering first with ffplay the filter graph is a text description [22:14] <beastd> JVillella: ffplay -vf=<your filter graph string> test-video.input [22:14] <JVillella> that will help a lot thanks! [22:16] <beastd> Also consider subscribing and asking on libav-user if you have a hard time with the API: http://ffmpeg.org/contact.html [22:17] <JVillella> I think you guys have helped me a ton! These IRCs save soo much time! [22:18] <beastd> Your welcome! [22:30] <JVillella> That filters sample, does it output the scaled/filtered file? [22:30] <JVillella> and where to? or just overwrites [22:37] <beastd> JVillella: http://git.videolan.org/?p=ffmpeg.git;a=blob;f=doc/examples/filtering_video.... [22:38] <JVillella> im not sure what that does dsplay it onscreen? [22:38] <beastd> JVillella: Seems the frame is displayed in a slightly inadequate fashion on your terminal [22:38] <JVillella> hmm how do I oeverwrite the original video? [22:38] <beastd> If your terminal can do ASCII escapes [22:39] <beastd> JVillella: Why? Or IOW what are you trying to achieve with this? [22:40] <JVillella> I want to take a video, apply the filter description and overwrite it. I will then send this overidden video to our server [22:40] <beastd> JVillella: And you want to do the transcoding in your app on a an android device? [22:41] <JVillella> ya through JNI [22:42] <beastd> JVillella: First step: Try prototyping the filter string with ffplay. It will show the result on your video display. If your are satisfied go on with step 2 [22:42] <JVillella> step 2 is the overwriting. im not sure how to do that :S [22:43] <beastd> you are too fast [22:43] <JVillella> lol is that not step 2? [22:43] <beastd> Step 2: Compile the filtering_video.c example in the ffmpeg source directory. run it and check if you can see the output on your terminal [22:43] <beastd> Step 3: modify that example to use the filter string you prototyped [22:46] <beastd> Step 4: Look at the muxing example on how to write a video file [22:46] <JVillella> its 500 lines!!! just to save a file :S [22:47] <beastd> Step 5: Make a merged example that combines your filter graph and both examples and does exactly what you want [22:49] <beastd> JVillella: Well first ffmpeg API is rather lowlevel'ish. Second what you want to do is a little bit involved and much more then reading and writing a file. Are you sure you understand all implications of what you want to do? [22:50] <JVillella> i see some people useing ffmpeg via command line with android but theres no tutorials on it [22:50] <beastd> You read the file -> demux -> decode -> filter -> encode -> mux -> write an output file. [22:52] <beastd> I would also discourage overwriting the input file, you would probably destroy your input before it is fully consumed. Also consider that errors can happen all time. I would erase the input only after the output was successfully written. [22:53] <beastd> Also I left out another step from my 5 step plan. I would be step 4.5: Find the right encoding settings and output file format for your application. [22:53] <JVillella> ya that would make more sense to not overwrite. [22:54] <beastd> JVillella: I am sorry. Doing what you want is not as simple as it sounds :( [22:54] <JVillella> The better question is why android doesn't have this support... [22:57] <beastd> Using FFmpeg libraries on Android should be possible. And why Android does not have this capabilities included is of course quite a different question. We support FFmpeg here, so no speculation about what Android supports or not ;-) [23:06] <beastd> JVillella: Don't let it get you down. [23:07] <JVillella> beastd: thanks! I think I may have found a lib that wraps a java interface around the ffmpeg cmd. so maybe it will work out [23:07] <beastd> JVillella: I am just telling you that you need to do it in little steps. If you want to start right away from Android through JNI you will only be disappointed. [23:07] <JVillella> That's good advice :) [23:07] <beastd> and yes if you can use the binary your goal might be easier and faster to achieve [23:08] <JVillella> hopefully! [23:08] <beastd> working out the filter string and the encoding settings (step 1 and 4.5) is still a must though [23:08] <beastd> and you must do it and visually inspect the results [00:00] --- Sun Jan 19 2014
participants (1)
-
burek