Newest 'ffmpeg' Questions - Stack Overflow

http://stackoverflow.com/questions/tagged/ffmpeg

Les articles publiés sur le site

  • Compress video with ffmpeg4android library

    30 mars 2015, par Huy Tower

    I 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 wao813

    I'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 know

    I 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 eternalthinker

    I'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.

    enter image description here

    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 Dong

    As avconv (forked from ffmpeg) said, the format of Blu-ray audio stream is called pcm_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?