Newest 'ffmpeg' Questions - Stack Overflow
Les articles publiés sur le site
-
How to set up FFmpeg thumbnail generator [on hold]
26 octobre 2013, par Juddy Swafti need set up FFmpeg thumbnail generator that automatically thumbnails apear on videos i have installed on my server FFmpeg service so i need php help. p.s im using php.melody cms
-
Working way to make video from images in C#
26 octobre 2013, par Jim MischelDoes anybody have a known reliable way to create a video from a series of image files? Before you mod me down for not searching for the answer before posting the question, and before you fire off a simple message like "use FFMPEG," read the rest of this message.
I'm trying to create a video, it doesn't matter too much what format as long as it's widely supported, from a series of images (.jpg, .bmp, etc.). My platform is Windows Server 2008, 64-bit. If I can make the video from within my C# program, that's great, but I'm not averse to writing a series of image files to a directory and then firing off an external program to make a video from those images.
The only constraints are: it must work on my Windows Server 2008 system, and be scriptable. That is, no GUI programs that require operator intervention.
I found a number of similar questions on StackOverflow, and have tried several of the solutions, all with varying degrees of frustration and none with anything like success.
FFMPEG looks like a great program. Maybe it is, on Linux. The two Windows builds I downloaded are broken. Given this command line:
ffmpeg -r 1 -f image2 -i jpeg\*.jpg video.avi
One of the builds reads the images and then crashes due to data execution prevention. The other reads the first file and then spits out an error message that says "cannot find suitable codec for file jpeg/image2.jpg". Helpful, that. In any case, FFMPEG looks like a non-starter under Windows.
One answer to a previous posting recommended Splicer . It looks like pretty good code. I compiled the samples and tried to run, but got some cryptic error message about a file not found. It looks like a COM class isn't registered. I suppose I need to install something (DirectShow, maybe, although I thought that was already installed?). Depending on what's required, I might have a difficult time justifying its installation on a server. ("What? Why do you need that on a server?")
Another answer suggested the AviFile library from Code Project. That looks simple enough: a wrapper around the Windows AviFile subsystem. Except that the AVI files the package creates appear to have all of the frames, but only the first frame shows when I play the AVI in Windows Media Player. Well, that and if you try to create a compressed video, the program throws an exception.
So, I'm left wondering if there is a good, reliable way to do what I want: on a Windows system, create an AVI or other common video file format from a series of images, either through a .NET API or using an external program. Any help?
-
Optimizing Painting video encoding in Android
26 octobre 2013, par coder000001I want to create live painting video as export feature for a painting application.
I can create a video with a series of images, with the use of a library ( FFMPEG or MediaCodec). But, this would require too much processing power to compare the images and encode the video.
While drawing, I know exactly which pixels are changed. So, I can save lot of processing if I can pass this info to FFMPEG, instead of having the FFMPEG figure this out from the images.
Is there away to efficiently encode the video for this purpose ?
-
How to convert video or audio directly through php5-ffmpeg API [on hold]
25 octobre 2013, par user2719515How to convert video or audio directly through php5-ffmpeg API without using exec()?
-
FFMPEG enocde flv with alpha channel
25 octobre 2013, par treeI'm trying to encode a video (mov) to an flv with alpha channel in FFMPEG but I can't seem to either
- find a codec that is supported
- find one that actually maintains the alpha
Does anyone know how to set that up?
Thanks,
ffmpeg -i abc_btr_1280x800_Takeover.mov -vcodec flv -pix_fmt yuv444p -s 1280x800 test4.flv
here is the report...
ffmpeg started on 2013-10-25 at 15:47:30 Report written to "ffmpeg-20131025-154730.log" Command line: ffmpeg -i abc_btr_1280x800_Takeover.mov -vcodec flv -pix_fmt yuv444p -s 1280x800 test4.flv -report ffmpeg version N-57367-g2f31b73 Copyright (c) 2000-2013 the FFmpeg developers built on Oct 23 2013 20:34:17 with gcc 4.8.2 (GCC) configuration: --disable-static --enable-shared --enable-gpl --enable-version3 -- disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r -- enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable- libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame -- enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib libavutil 52. 47.101 / 52. 47.101 libavcodec 55. 38.101 / 55. 38.101 libavformat 55. 19.104 / 55. 19.104 libavdevice 55. 4.100 / 55. 4.100 libavfilter 3. 89.100 / 3. 89.100 libswscale 2. 5.101 / 2. 5.101 libswresample 0. 17.104 / 0. 17.104 libpostproc 52. 3.100 / 52. 3.100 Splitting the commandline. Reading option '-i' ... matched as input file with argument 'abc_btr_1280x800_Takeover.mov'. Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'flv'. Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'yuv444p'. Reading option '-s' ... matched as option 's' (set frame size (WxH or abbreviation)) with argument '1280x800'. Reading option 'test4.flv' ... matched as output file. Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'. Finished splitting the commandline. Parsing a group of options: global . Applying option report (generate a report) with argument 1. Successfully parsed a group of options. Parsing a group of options: input file abc_btr_1280x800_Takeover.mov. Successfully parsed a group of options. Opening an input file: abc_btr_1280x800_Takeover.mov. [mov,mp4,m4a,3gp,3g2,mj2 @ 000000000085ac00] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100 [mov,mp4,m4a,3gp,3g2,mj2 @ 000000000085ac00] ISO: File Type Major Brand: qt [mov,mp4,m4a,3gp,3g2,mj2 @ 000000000085ac00] File position before avformat_find_stream_info() is 281624339 [mov,mp4,m4a,3gp,3g2,mj2 @ 000000000085ac00] All info found [mov,mp4,m4a,3gp,3g2,mj2 @ 000000000085ac00] File position after avformat_find_stream_info() is 288732 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'abc_btr_1280x800_Takeover.mov': Metadata: major_brand : qt minor_version : 537199360 compatible_brands: qt creation_time : 2013-09-22 02:50:18 Duration: 00:00:10.00, start: 0.000000, bitrate: 225299 kb/s Stream #0:0(eng), 1, 1/24: Video: qtrle (rle / 0x20656C72), bgra, 1280x800, 225293 kb/s, SAR 1280:1280 DAR 8:5, 24 fps, 24 tbr, 24 tbn, 24 tbc (default) Metadata: creation_time : 2013-09-22 02:50:18 handler_name : Apple Alias Data Handler timecode : 00:00:00:00 Stream #0:1(eng), 0, 1/24: Data: none (tmcd / 0x64636D74), 0 kb/s (default) Metadata: creation_time : 2013-09-22 02:50:22 handler_name : Apple Alias Data Handler timecode : 00:00:00:00 Successfully opened the file. Parsing a group of options: output file test4.flv. Applying option vcodec (force video codec ('copy' to copy stream)) with argument flv. Applying option pix_fmt (set pixel format) with argument yuv444p. Applying option s (set frame size (WxH or abbreviation)) with argument 1280x800. Successfully parsed a group of options. Opening an output file: test4.flv. Successfully opened the file. detected 4 logical cores [graph 0 input from stream 0:0 @ 0000000000303bc0] Setting 'video_size' to value '1280x800' [graph 0 input from stream 0:0 @ 0000000000303bc0] Setting 'pix_fmt' to value '30' [graph 0 input from stream 0:0 @ 0000000000303bc0] Setting 'time_base' to value '1/24' [graph 0 input from stream 0:0 @ 0000000000303bc0] Setting 'pixel_aspect' to value '1280/1280' [graph 0 input from stream 0:0 @ 0000000000303bc0] Setting 'sws_param' to value 'flags=2' [graph 0 input from stream 0:0 @ 0000000000303bc0] Setting 'frame_rate' to value '24/1' [graph 0 input from stream 0:0 @ 0000000000303bc0] w:1280 h:800 pixfmt:bgra tb:1/24 fr:24/1 sar:1/1 sws_param:flags=2 [scaler for output stream 0:0 @ 00000000003056a0] Setting 'w' to value '1280' [scaler for output stream 0:0 @ 00000000003056a0] Setting 'h' to value '800' [scaler for output stream 0:0 @ 00000000003056a0] Setting 'flags' to value '0x4' [scaler for output stream 0:0 @ 00000000003056a0] w:1280 h:800 flags:'0x4' interl:0 Incompatible pixel format 'yuv444p' for codec 'flv', auto-selecting format 'yuv420p' [format @ 00000000002f8320] compat: called with args=[yuv420p] [format @ 00000000002f8320] Setting 'pix_fmts' to value 'yuv420p' [AVFilterGraph @ 000000000085bc60] query_formats: 5 queried, 4 merged, 0 already done, 0 delayed [scaler for output stream 0:0 @ 00000000003056a0] w:1280 h:800 fmt:bgra sar:1/1 -> w:1280 h:800 fmt:yuv420p sar:1/1 flags:0x4 [flv @ 0000000000374be0] intra_quant_bias = 0 inter_quant_bias = -64 Output #0, flv, to 'test4.flv': Metadata: major_brand : qt minor_version : 537199360 compatible_brands: qt encoder : Lavf55.19.104 Stream #0:0(eng), 0, 1/1000: Video: flv1 (flv) ([2][0][0][0] / 0x0002), yuv420p, 1280x800 [SAR 1:1 DAR 8:5], q=2-31, 200 kb/s, 1k tbn, 24 tbc (default) Metadata: creation_time : 2013-09-22 02:50:18 handler_name : Apple Alias Data Handler timecode : 00:00:00:00 Stream mapping: Stream #0:0 -> #0:0 (qtrle -> flv) Press [q] to stop, [?] for help frame= 27 fps=0.0 q=31.0 size= 351kB time=00:00:01.12 bitrate=2554.2kbits/s frame= 46 fps= 45 q=31.0 size= 477kB time=00:00:01.91 bitrate=2039.5kbits/s frame= 60 fps= 39 q=31.0 size= 543kB time=00:00:02.50 bitrate=1779.4kbits/s frame= 74 fps= 36 q=31.0 size= 629kB time=00:00:03.08 bitrate=1672.4kbits/s frame= 96 fps= 37 q=31.0 size= 795kB time=00:00:04.00 bitrate=1627.4kbits/s frame= 123 fps= 40 q=31.0 size= 924kB time=00:00:05.12 bitrate=1477.0kbits/s frame= 149 fps= 41 q=31.0 size= 1133kB time=00:00:06.20 bitrate=1494.7kbits/s frame= 175 fps= 43 q=31.0 size= 1224kB time=00:00:07.29 bitrate=1375.5kbits/s frame= 201 fps= 44 q=31.0 size= 1352kB time=00:00:08.37 bitrate=1322.7kbits/s frame= 228 fps= 45 q=31.0 size= 1461kB time=00:00:09.50 bitrate=1260.1kbits/s [output stream 0:0 @ 00000000003053c0] EOF on sink link output stream 0:0:default. No more output streams to write to, finishing. frame= 240 fps= 45 q=31.0 Lsize= 1600kB time=00:00:10.00 bitrate=1310.4kbits/s video:1596kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.252476% 240 frames successfully decoded, 0 decoding errors [AVIOContext @ 000000000032dfc0] Statistics: 3 seeks, 242 writeouts [AVIOContext @ 000000000085bde0] Statistics: 281664506 bytes read, 3 seeks