Newest 'ffmpeg' Questions - Stack Overflow
Les articles publiés sur le site
-
Compress video with ffmpeg4android library
30 mars 2015, par Huy TowerI tried to follow ffmpeg4android library, and I get the problem when compressing the video, as the Log image below.
I use intent to transfer to Compressing Media class,
Intent intent = new Intent(this, CompressingMedia.class); intent.putExtra("file_path", mLlItems.get(0).getPath()); startActivity(intent);
This is the class was transfered to :
public class CompressingMedia extends BaseWizard { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = getIntent(); Log.d(Prefs.TAG, "path " + intent.getExtras().getString("file_path")); // /storage/emulated/0/DCIM/Camera/VID_20140312_090612.mp4 String command = "ffmpeg -y -i " + intent.getExtras().getString("file_path") + " -strict experimental -s 320x240 -r 15 -aspect 3:4 -ab 12288 -vcodec mpeg4 -b 2097152 -sample_fmt s16 /sdcard/out.mp4"; // if you want to change the default work location (/sdcard/videokit/) use the uncomment the below method. // It must be defined before calling the copyLicenseAndDemoFilesFromAssetsToSDIfNeeded method, // in order for this method to copy the assets to the correct location. // setWorkingFolder("/sdcard/videokit/"); // this will copy the license file and the demo video file. // to the videokit work folder location. // without the license file the library will not work. copyLicenseAndDemoFilesFromAssetsToSDIfNeeded(); commandStr = command; setCommand(commandStr); runTranscoing(); } }
Although I received the notification Transcoding Successfully, but it looks like the capacity of file after compressing is always be 0. (the log in the bottom of images)
I don't know the result as image below is good or not, I can not get the expected result - The video was compressed totally successfully.
Someone know why after compressing the file is always be 0, please tell me. Thanks.
This is the Log Cat :
03-13 14:49:45.655: I/ActivityManager(6065): Timeline: Activity_launch_request id:app.cloudstringers time:38212359
03-13 14:49:45.665: V/Home(6065): Global ID is 000400010007;Sell is 3
03-13 14:49:45.770: D/ffmpeg4android(6065): path /storage/emulated/0/videokit/out.mp4
03-13 14:49:45.770: I/ffmpeg4android(6065): workingFolderPath: /sdcard/videokit/
03-13 14:49:45.775: D/ffmpeg4android(6065): Working directory exists, not coping assests (license file and demo videos)
03-13 14:49:45.785: D/ffmpeg4android(6065): output directory exists.
03-13 14:49:45.785: I/ffmpeg4android(6065): Command is set
03-13 14:49:45.785: I/ffmpeg4android(6065): set remoteNotificationIconId: 0
03-13 14:49:45.785: D/ffmpeg4android(6065): Client Cannot unbind - service not bound
03-13 14:49:45.785: D/ffmpeg4android(6065): Client stopService()
03-13 14:49:45.790: W/ContextImpl(6065): Implicit intents with startService are not safe: Intent { act=com.netcompss.ffmpeg4android.FFMpegRemoteServiceBridge } android.content.ContextWrapper.stopService:499 com.netcompss.ffmpeg4android_client.BaseWizard.stopService:451 com.netcompss.ffmpeg4android_client.BaseWizard.runTranscoing:285
03-13 14:49:45.795: I/ffmpeg4android(6065): !!!!!!!!!!!!!!!!!!services.size(): 1
03-13 14:49:45.795: I/ffmpeg4android(6065): putting Base categoty
03-13 14:49:45.810: D/ffmpeg4android(6065): started: com.netcompss.ffmpeg4android.FFMpegRemoteServiceBridge
03-13 14:49:45.810: D/ffmpeg4android(6065): Client startService()
03-13 14:49:45.810: D/ffmpeg4android(6065): bindService() called
03-13 14:49:45.815: W/ContextImpl(6065): Implicit intents with startService are not safe: Intent { act=com.netcompss.ffmpeg4android.FFMpegRemoteServiceBridge } android.content.ContextWrapper.bindService:517 com.netcompss.ffmpeg4android_client.BaseWizard.bindService:462 com.netcompss.ffmpeg4android_client.BaseWizard.runTranscoing:288
03-13 14:49:45.820: D/ffmpeg4android(6065): Client bindService()
03-13 14:49:45.935: I/ffmpeg4android(6616): =======service onCreate(): Stopping forground (to overcome 2.3.x bug)
03-13 14:49:45.935: I/ffmpeg4android(6616): =======service onBind()=======
03-13 14:49:45.940: I/ffmpeg4android(6616): ===onStartCommand called
03-13 14:49:45.940: I/ffmpeg4android(6616): ===onStartCommand cat: Base
03-13 14:49:45.940: D/ffmpeg4android(6616): onStartCommand, START_STICKY, base Command
03-13 14:49:45.955: I/ffmpeg4android(6616): get remoteNotificationIconId: 0
03-13 14:49:45.955: I/ffmpeg4android(6616): notifIcon is set
03-13 14:49:45.955: I/ffmpeg4android(6616): Start RemoteService with notification id: 5326
03-13 14:49:45.965: I/ffmpeg4android(6616): Run called.
03-13 14:49:45.965: D/ffmpeg4android(6616): Sleeping, waiting for command
03-13 14:49:45.970: D/ffmpeg4android(6065): Client onServiceConnected()
03-13 14:49:45.970: I/ffmpeg4android(6065): invokeService called
03-13 14:49:45.970: I/Videokit(6065): licenseCheck in path: /sdcard/videokit
03-13 14:49:45.970: I/Videokit(6065): isLicExistsComplex...
03-13 14:49:45.970: I/Videokit(6065): trying to open /sdcard/videokit/ffmpeglicense.lic
03-13 14:49:45.970: I/Videokit(6065): license file found...
03-13 14:49:45.970: I/Videokit(6065): time decoded: 1394535283
03-13 14:49:45.970: I/Videokit(6065): timeStrDec 1394535283 is a valid number.
03-13 14:49:45.970: I/Videokit(6065): time diff: 161702
03-13 14:49:45.970: I/Videokit(6065): You used 1 of your 15 trial days.
03-13 14:49:45.970: I/ffmpeg4android(6065): setting remote notification info
03-13 14:49:45.970: D/ffmpeg4android(6616): command items num: 21
03-13 14:49:45.970: D/ffmpeg4android(6616): command: ffmpeg -y -i /storage/emulated/0/videokit/out.mp4 -strict experimental -s 320x240 -r 15 -aspect 3:4 -ab 12288 -vcodec mpeg4 -b 2097152 -sample_fmt s16 /sdcard/out.mp4
03-13 14:49:45.970: D/ffmpeg4android(6616): workingFolder from remote: /sdcard/videokit
03-13 14:49:45.970: D/ffmpeg4android(6065): deleteing: /sdcard/videokit/vk.log isdeleted: true
03-13 14:49:45.975: D/ffmpeg4android(6065): deleteing: /sdcard/videokit/ffmpeg4android.log isdeleted: false
03-13 14:49:45.975: D/ffmpeg4android(6065): deleteing: /sdcard/videokit/videokit.log isdeleted: true
03-13 14:49:45.980: D/ffmpeg4android(6065): Client invokeService()
03-13 14:49:45.980: D/ffmpeg4android(6065): Acquire wake lock
03-13 14:49:46.265: D/ffmpeg4android(6616): Sleeping, waiting for command
03-13 14:49:46.295: D/ffmpeg4android(6065): TranscodeBackground doInBackground started
03-13 14:49:46.295: I/ffmpeg4android(6616): =======remote service runTranscoding ======
03-13 14:49:46.340: V/HomeAsync(6065): TOTAL_SPACE is 1;AVAILABLE_SPACE is 0.451
03-13 14:49:46.345: I/ActivityManager(6065): Timeline: Activity_idle id: android.os.BinderProxy@423deed8 time:38213045
03-13 14:49:46.345: I/ActivityManager(6065): Timeline: Activity_idle id: android.os.BinderProxy@420323a0 time:38213045
03-13 14:49:46.565: D/dalvikvm(6616): Trying to load lib /data/app-lib/app.cloudstringers-2/libvideokit.so 0x41b285f0
03-13 14:49:46.570: D/dalvikvm(6616): Added shared lib /data/app-lib/app.cloudstringers-2/libvideokit.so 0x41b285f0
03-13 14:49:46.570: I/Videokit(6616): Loading native library compiled at 21:59:53 Oct 23 2013
03-13 14:49:46.575: I/ffmpeg4android(6616): ===============Running command from thread path: /sdcard/videokit
03-13 14:49:46.575: I/Videokit(6616): vk ffmpeg sdcardPath: /sdcard/videokit
03-13 14:49:46.575: I/Videokit(6616): licenseCheck in path: /sdcard/videokit
03-13 14:49:46.575: I/Videokit(6616): isLicExistsComplex...
03-13 14:49:46.575: I/Videokit(6616): trying to open /sdcard/videokit/ffmpeglicense.lic
03-13 14:49:46.575: I/Videokit(6616): license file found...
03-13 14:49:46.575: I/ffmpeg4android(6616): =======ProgressBackgroundRemote doInBackground=========
03-13 14:49:46.575: I/Videokit(6616): time decoded: 1394535283
03-13 14:49:46.575: I/Videokit(6616): timeStrDec 1394535283 is a valid number.
03-13 14:49:46.575: I/Videokit(6616): time diff: 161703
03-13 14:49:46.575: I/Videokit(6616): You used 1 of your 15 trial days.
03-13 14:49:46.575: D/Videokit(6616): license check rc: 0
03-13 14:49:46.575: D/Videokit(6616): run() called verion 2.0
03-13 14:49:46.575: D/Videokit(6616): run passing off to main()
03-13 14:49:46.800: D/ffmpeg4android(6065): onServiceDisconnected
03-13 14:49:48.640: I/ffmpeg4android(6065): Got real duration: 00:00:07.78
03-13 14:49:48.640: I/ffmpeg4android(6065): ==== getting currentVkLogSize from VK
03-13 14:49:48.640: D/ffmpeg4android(6065): currentVkLogSize: 5751
03-13 14:49:48.645: I/ffmpeg4android(6065): No ffmpeg4android_log file, using vk log
03-13 14:49:48.645: I/line(6065): _rate, rate, width or height
03-13 14:49:48.650: I/line(6065): Statistics: 0 seeks, 0 writeouts
03-13 14:49:48.650: I/line(6065): Statistics: 72873 bytes read, 2 seeks
03-13 14:49:48.650: D/ffmpeg4android(6065): currentTimeStr: exit
03-13 14:49:48.650: D/ffmpeg4android(6065): ============Found one of the exit tokens in the log============
03-13 14:49:48.650: I/ffmpeg4android(6065): onProgressUpdate: 100
03-13 14:49:48.650: D/ffmpeg4android(6065): Releasing wake lock
03-13 14:49:48.650: D/ffmpeg4android(6065): TranscodeBackground onPostExecute
03-13 14:49:48.700: D/ffmpeg4android(6065): /sdcard/videokit/null length in bytes: 0
03-13 14:49:48.700: D/ffmpeg4android(6065): showNotifications
03-13 14:49:48.700: W/ffmpeg4android(6065): output file is not set use the setOutputFilePath method to set the full output file path
03-13 14:49:48.705: I/ffmpeg4android(6065): FFMPEG finished.
03-13 14:49:48.710: D/ffmpeg4android(6065): releaseService()
03-13 14:49:48.710: D/ffmpeg4android(6065): Client stopService()
03-13 14:49:48.710: W/ContextImpl(6065): Implicit intents with startService are not safe: Intent { act=com.netcompss.ffmpeg4android.FFMpegRemoteServiceBridge } android.content.ContextWrapper.stopService:499 com.netcompss.ffmpeg4android_client.BaseWizard.stopService:451 com.netcompss.ffmpeg4android_client.BaseWizard.handleServiceFinished:513
-
FFmpeg : How to get AVPacket from OSX CMSampleBufferRef
30 mars 2015, par wao813I'm new in AV technology and have been trying to combine FFmpeg with Apple's CoreVideo framework to process webcam captures.
First, i have webcam captures from CoreVideo(which could be found from AVCaptureVideoDataOutputSampleBufferDelegate) represented by CMSampleBuffer
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection {}
From that, without store as temporary file, I would like to make it to FFmpeg's AVPacket so I can process.
Does anyone know which FFmpeg api I should be looking into?
-
video encoding and conversion using ffmpeg
30 mars 2015, par wanna knowI have to create a website of vod (films), and the problem is that i have to convert my video to different formats to be supported by all browsers (mp4,ogg and webm), the problem is that when someone will add a film with a size >1Gb, the conversion to the other formats will take a lot of time (I tested ffmpeg and xuggler api on java ), is there any other library faster than ffmpeg or an onother approach to manage my large videos? Thank you
-
What is ffmpeg trying to do when fps is shown gradually decreasing for a given frame ?
30 mars 2015, par eternalthinkerI've been trying to create an animated overlay over an FLV video, and trying to get the output in MP4 format. I initially used ffmpeg version 1.26. But, as the filters seem to support better options with the latest format, I compiled ffmpeg version 2.61 from source.
Now the encoding seems to work fine, but the command stays at one point for too long, where it is seen that the fps drops to smaller values, and the 'drop' value changes accordingly. I used the fps filter to supply
fps=25
option, and now the encoding is stuck at the same point, only the drop value remains 0, while fps is shown dropping to smaller values, taking a long time as before.In the screenshot above, all values remain same, while fps keep dropping to smaller values. After 10fps, it drops by 0.1 and continues past 1, to 0.9 etc. I didn't wait until it went down further, as the whole thing was taking too much time.
What can I do to avoid this, and tell ffmpeg to move on with one framerate? That is, to finish encoding after the 21.45 seconds shown here, and not try to tweak fps or whatever it is trying to do here.
The full command I am using is this:
ffmpeg -y -i BaseVideo.flv -loop 1 -i 1overlay.png -loop 1 -filter_complex '[1:v] fade=out:20:20:alpha=1:start_time=4:d=3:c=white [V2]; [0:v][V2] overlay, fps=25' -c:v libx264 -strict -2 result.mp4
-
How to extract Blu-ray audio without any conversion ?
30 mars 2015, par Kevin DongAs
avconv
(forked fromffmpeg
) said, the format of Blu-ray audio stream is calledpcm_bluray
, but why most of the tutorials say using-acodec pcm_s**le
(**
depends on its sample rate)?Are they the same? If not, how to extract Blu-ray audio without any conversion?