Newest 'ffmpeg' Questions - Stack Overflow
Les articles publiés sur le site
-
How to install ffmpeg using xampp
28 avril 2014, par Paul LedgerI am trying to install ffmpeg onto my localhost server. I have followed countless blogs and tutorials online form other people who are stuck with this same problem. I follow everything to the letter.
- Unzip the file
- Copy php_ffmpeg.exe to ext folder in php
- copy the rest to system 32
As it says however when I do this I get this error when I start apache.
Fair play but it is in the folder
I also get this error as well:
And Again, here it is:
I have added the extention to my php.ini file
extension=php_ffmpeg.dll
The first time I go this to work I placed the ffmpeg.exe file onto my local host server and ran commands like this:
$cmd = "$ffmpegpath -i $input -an -ss $sec -s $size $output"; shell_exec($cmd);
This works fine on my computer but not on an actual server. Could somebody offer some advice or guidene on where I have one wrong installing the extension or why running the .exe file on a lunix server with shell_exec doesn't work
-
Carrierwave-video "Process hung" error while encoding uncompressed video files
28 avril 2014, par CrampsI have an API for a mobile app that accepts video uploads. This app is for both iOS and Android devices, so for video compatibility's sake these videos are encoded to H.264 once uploaded to the server using carrierwave-video (ffmpeg wrapper gem for Ruby on Rails). Right now this seems to be working, and videos are uploaded and encoded and can be played in both Android and iOS devices. However, sometimes the process hangs while encoding heavy (uncompressed?) video files, usually ~10+ seconds long. This is the output of ffmpeg:
Failed to transcode with FFmpeg. Check ffmpeg install and verify video is not corrupt or cut short. Original error: Process hung. Full output:
(That's it, the full output seems empty.)
These are the encoding parameters I'm using in my Carrierwave Uploader:
encode_video(:mp4, custom: '-y -vcodec libx264 -acodec libfaac -vpre ultrafast 2> /home/user/log/ffmpeg.log, resolution: '640x640')
According to the SuperUser question I linked above a solution would be to encode the video twice, once to AVI for compression(?) and then encode to MP4. I don't know if that would work, but I don't know how to do this either in my uploader. I would have to encode the output video file of my first (AVI) encoding process.
Now that there's some context, my question is: How can I solve this "Process hung" error?
In case the answer to that is to go with this double encoding method suggested, how can I achieve this using Carrierwave-video?
One last note is that if I try to encode these videos using
ffmpeg
straight from command-line the videos encode and playback successfully.Thank you for your time!
PD: Wasn't sure if I should add ruby-on-rails tag. I'll remove it if necessary!
Edit This is what I get from
ffmpeg -i filename.mp4
ffmpeg version 0.10.3 Copyright (c) 2000-2012 the FFmpeg developers built on Apr 30 2013 11:26:53 with gcc 4.5.4 configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++ --ar=x86_64-pc-linux-gnu-ar --optflags='-O2 -march=athlon64 -pipe' --extra-cflags='-O2 -march=athlon64 -pipe' --extra-cxxflags='-O2 -march=athlon64 -pipe' --disable-static --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --disable-stripping --disable-debug --disable-doc --disable-vaapi --disable-vdpau --disable-ffplay --enable-openssl --enable-nonfree --enable-libmp3lame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libaacplus --enable-nonfree --enable-libfaac --enable-nonfree --disable-indev=v4l --disable-indev=v4l2 --disable-indev=alsa --disable-indev=oss --disable-indev=jack --disable-outdev=alsa --disable-outdev=oss --disable-outdev=sdl --enable-pthreads --enable-libopencore-amrwb --enable-libopencore-amrnb --enable-libvpx --enable-libope libavutil 51. 35.100 / 51. 35.100 libavcodec 53. 61.100 / 53. 61.100 libavformat 53. 32.100 / 53. 32.100 libavdevice 53. 4.100 / 53. 4.100 libavfilter 2. 61.100 / 2. 61.100 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 6.100 / 0. 6.100 libpostproc 52. 0.100 / 52. 0.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/user/api/uploads/tmp/e54zfghzt9.mp4': Metadata: major_brand : isom minor_version : 0 compatible_brands: isom3gp4 creation_time : 2014-04-23 14:56:19 Duration: 00:00:14.27, start: 0.000000, bitrate: 20757 kb/s Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 20993 kb/s, SAR 65536:65536 DAR 16:9, 30 fps, 30 tbr, 90k tbn, 180k tbc Metadata: creation_time : 2014-04-23 14:56:19 handler_name : VideoHandle Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, s16, 190 kb/s Metadata: creation_time : 2014-04-23 14:56:19 handler_name : SoundHandle
Then it just starts buffering as such:
time=00:00:13.20 bitrate=2533.2kbits/s frame= 405 fps= 7 q=24.0 size= 4083kB time=00:00:13.20 bitrate=2533.2kbits/s frame= 407 fps= 7 q=24.0 size= 4083kB time=00:00:13.20 bitrate=2533.2kbits/s frame= 409 fps= 7 q=24.0 size= 4083kB time=00:00:13.20 bitrate=2533.2kbits/s frame= 412 fps= 7 q=24.0 size= 4083kB time=00:00:13.20 bitrate=2533.2kbits/s frame= 417 fps= 7 q=24.0 size= 4083kB time=00:00:13.20 bitrate=2533.2kbits/s frame= 417 fps= 7 q=24.0 Lsize= 4194kB time=00:00:13.90 bitrate=2471.5kbits/s video:3957kB audio:223kB global headers:0kB muxing overhead 0.310939% [libx264 @ 0x7f28327ccc50] frame I:2 Avg QP:21.50 size: 25120 [libx264 @ 0x7f28327ccc50] frame P:415 Avg QP:25.32 size: 9642 [libx264 @ 0x7f28327ccc50] mb I I16..4: 35.8% 0.0% 64.2% [libx264 @ 0x7f28327ccc50] mb P I16..4: 8.4% 0.0% 3.2% P16..4: 43.6% 19.0% 5.6% 0.0% 0.0% skip:20.2% [libx264 @ 0x7f28327ccc50] coded y,uvDC,uvAC intra: 45.2% 53.6% 27.3% inter: 39.4% 27.6% 2.7% [libx264 @ 0x7f28327ccc50] i16 v,h,dc,p: 28% 57% 11% 5% [libx264 @ 0x7f28327ccc50] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 14% 66% 11% 1% 1% 1% 2% 1% 2% [libx264 @ 0x7f28327ccc50] i8c dc,h,v,p: 23% 58% 17% 3% [libx264 @ 0x7f28327ccc50] kb/s:2331.88
`
-
How to play RTMP video by using LibRTMP, not FFmpeg ?
28 avril 2014, par Smeegol XieI want to play
RTMP
video by usingLibRTMP
notFFmpeg
, becauseFFmpeg
build is so big and LibRTMP just can playRTMP
stream. The color encoding isYUV420P
, my solution is to draw images frame by frame.So the Question is HOW to convert
YUB420P
to RGB and playRTMP
video? -
How to play RTMP video by using libRTMP and SDL ?
27 avril 2014, par Smeegol XieI want to play RTMP video. The RTMP stream is encoded by flv1 and speex. My solution is to use libRTMP to decode vedio and SDL to draw video image frame by frame, use Speex to decode audio and Audio Queue Services to play audio. First my question is whether is it a perfect solution?
Now I have already completed the audio decoding and playing work. How do I decode video and play it by using SDL? The color encoding is YUV420, it's easy to convert YUV420 to RGB.My question is how to play RTMP video by using libRTMP and SDL? Can somebody tell me HOW?
-
Android square video record with post proccessing
27 avril 2014, par bakuaI to allow users in my app to record video and then post process it. Basically all I need is to video to be square (low res, something about 400x400) and when recording is done then allow user to modify brightness/contrast.
I did some research on that and found ffmpeg library which can do that. But I'm not sure if I am ok with its licensing. When I use ffmpeg do I have to release my app sources as well? My app will be free to download and use but I am not comfortable with its releasing sources.
Also about that square recording - as I am supporting API 14, android doesn't let me adjust resolution directly. There are 2 ways I think of:
- Record video file in 640x480, then resize/crop and after that allow user to do post processing. - totally need ffmpeg for that
- Capture CameraPreviewFrames - crop them as they go and render them into mp4 video, and after video is rendered then allow user to post process it further - need ffmpeg for that as well.
My question is then - may I use ffmpeg without any worries about licensing etc? Or is there any other library which allows me to do above and is open to use?
Thanks very much