Recherche avancée

Médias (91)

Autres articles (47)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

  • Récupération d’informations sur le site maître à l’installation d’une instance

    26 novembre 2010, par

    Utilité
    Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
    Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...)

Sur d’autres sites (4470)

  • MediaCodec hardware decoder much slower with different server configuration ?

    19 octobre 2013, par mathieujofis

    I've been using the Android MediaCodec in order to (hardware) decode H.264 frames on my Galaxy S4 coming from a Live 555 RTSP live (real-time) stream. After changing my Live 555 server configuration from using ffmpeg (with x264) to encode frames, to using strictly x264 to encode frames, the time to decode frames with MediaCodec takes much longer. Basically, MediaCodec can't keep up with the stream, and displays the video in slow motion, getting slower and slower as time goes on. Going back to ffmpeg isn't a solution for me, because I need the ability to encode into discrete NAL units, rather than a whole frame like ffmpeg does.

    I was wondering if this was either : A) An issue with the way my server is encoding NAL units, or B) An issue with my Android client, specifically the way it is receiving and decoding NAL units.

    My encoding configuration with x264 is :

    x264_param_default_preset(&param,"ultrafast", "zerolatency:fastdecode");
    param.i_threads = 1;
    param.i_bframe = 1;
    param.i_width = image_width;
    param.i_height = image_height;
    param.i_fps_num = 60;
    param.i_fps_den = 1;
    param.i_keyint_max = 10;

    param.rc.i_rc_method = X264_RC_ABR;
    param.rc.i.bitrate = 6000;
    param.i_sps_id = 7;
    param.b_repeat_headers = 1;
    param.b_annexb = 0;

    My Android MediaCodec client is set up as follows :

    I receive each individual NAL unit on a separate Live 555 RTSP client thread. Each NAL is put into a queue along with its size and presentation time. A separate decoder thread grabs NALs from this queue, and if there are none available, waits until there are.

    Some notes :

    What I generally see happen is the queue starts filling up with NALs, instead of staying close to empty. So, I know that the decoder thread is not working fast enough. I don't think this is an inherent problem with decoding on an Android phone (for example, processing limitations) because it does the same thing for very low bitrates— also again, it DID work when I was using ffmpeg to encode. If I omit certain NAL units, the decoder can start to keep up. Since I'm using Cyanogenmod 10.1, bumping up the minimum CPU frequency helps, too.

    Edit :

    Here is a log of the Android client, as well as a log highlighting the garbage collector specifically—

    Entire Logcat :

    10-15 16:40:03.955: D/DecodeActivity(18859): INFO_OUTPUT_BUFFERS_CHANGED
    10-15 16:40:03.995: E/OMX-VDEC-1080P(288): Sync frame received
    10-15 16:40:03.995: E/OMX-VDEC-1080P(288):  No color conversion required
    10-15 16:40:03.995: E/OMX-VDEC-1080P(288): Get_parameter: OMX_IndexParamPortDefinition: nPortIndex (1), nFrameWidth (1280), nFrameHeight (720), nStride (1280), nSliceHeight (736), nBitrate (-1073741824), xFramerate (0x1e), nBufferSize (1433600), nBufferCountMin (4), nBufferCountActual (8), bBuffersContiguous (1918394328), nBufferAlignment (1075643347), bEnabled (1), bPopulated (1), eCompressionFormat (0x0), eColorFormat (0x7fa30c03)
    10-15 16:40:03.995: D/DecodeActivity(18859): New format {height=720, what=1869968451, color-format=2141391875, slice-height=736, crop-left=0, width=1280, crop-bottom=719, crop-top=0, mime=video/raw, stride=1280, crop-right=1279}
    10-15 16:40:04.005: E/OMX-VDEC-1080P(288): set_frame_rate: frm_int(4966) fps(201.369308)
    10-15 16:40:04.015: W/IInputConnectionWrapper(1069): showStatusIcon on inactive InputConnection
    10-15 16:40:04.025: I/ActivityManager(698): Displayed com.mathieu.alloclient.javadecoder/.MainActivity: +617ms
    10-15 16:40:04.025: E/OMX-VDEC-1080P(288): set_frame_rate: frm_int(4766) fps(209.819550)
    10-15 16:40:04.125: E/OMX-VDEC-1080P(288): set_frame_rate: frm_int(4733) fps(211.282486)
    10-15 16:40:04.445: E/OMX-VDEC-1080P(288): set_frame_rate: frm_int(4711) fps(212.269150)
    10-15 16:40:04.495: E/OMX-VDEC-1080P(288): set_frame_rate: frm_int(4700) fps(212.765961)
    10-15 16:40:05.676: E/OMX-VDEC-1080P(288): set_frame_rate: frm_int(4688) fps(213.310577)
    10-15 16:40:06.087: D/dalvikvm(698): WAIT_FOR_CONCURRENT_GC blocked 1ms
    10-15 16:40:06.207: D/dalvikvm(698): GC_EXPLICIT freed 4120K, 39% free 24216K/39664K, paused 7ms+9ms, total 117ms
    10-15 16:40:06.537: D/ALSADevice(288): standby: handle 0x40024450 h 0x0
    10-15 16:40:06.577: D/alsa_ucm(288): snd_use_case_set(): uc_mgr 0x400fbfb0 identifier _verb value Inactive
    10-15 16:40:06.577: D/alsa_ucm(288): Set mixer controls for HiFi Lowlatency enable 0
    10-15 16:40:06.577: D/alsa_ucm(288): Setting mixer control: SLIMBUS_0_RX Audio Mixer MultiMedia5, value: 0
    10-15 16:40:06.577: D/alsa_ucm(288): snd_use_case_set(): uc_mgr 0x400fbfb0 identifier _disdev value Line
    10-15 16:40:06.577: D/alsa_ucm(288): disdev: device Line not enabled, no need to disable
    10-15 16:40:06.577: D/alsa_ucm(288): snd_use_case_set(): uc_mgr 0x400fbfb0 identifier _disdev value Speaker
    10-15 16:40:06.577: D/alsa_ucm(288): Set mixer controls for Speaker enable 0
    10-15 16:40:06.577: D/alsa_ucm(288): Setting mixer control: RX5 MIX1 INP1, value: ZERO
    10-15 16:40:06.587: D/alsa_ucm(288): Setting mixer control: RX5 MIX1 INP2, value: ZERO
    10-15 16:40:06.587: D/alsa_ucm(288): Setting mixer control: LINEOUT2 Volume, value: 0
    10-15 16:40:06.587: D/alsa_ucm(288): Setting mixer control: LINEOUT4 Volume, value: 0
    10-15 16:40:06.587: D/alsa_ucm(288): Setting mixer control: RX5 Digital Volume, value: 0
    10-15 16:40:06.587: D/AudioUsbALSA(288): exitPlaybackThread, mproxypfdPlayback: -1
    10-15 16:40:06.587: D/AudioUsbALSA(288): closeDevice handle 0x0
    10-15 16:40:06.587: D/AudioUsbALSA(288): closeDevice handle 0x0
    10-15 16:40:17.638: E/OMX-VDEC-1080P(288): set_frame_rate: frm_int(4677) fps(213.812271)
    10-15 16:40:17.698: E/OMX-VDEC-1080P(288): set_frame_rate: frm_int(4644) fps(215.331604)
    10-15 16:40:20.681: E/OMX-VDEC-1080P(288): set_frame_rate: frm_int(4633) fps(215.842865)
    10-15 16:40:21.111: E/OMX-VDEC-1080P(288): set_frame_rate: frm_int(4611) fps(216.872696)
    10-15 16:40:25.746: D/dalvikvm(698): GC_CONCURRENT freed 5829K, 41% free 23778K/39664K, paused 10ms+24ms, total 165ms
    10-15 16:40:28.448: E/MP-Decision(1385): num online cores: 4 reqd : 3 available : 4 rq_depth:2.800000 hotplug_avg_load_dw: 74
    10-15 16:40:28.448: E/MP-Decision(1385): DOWN cpu:3 core_idx:3 Ns:3.100000 Ts:240 total_time_down:243.000000
    10-15 16:40:30.841: W/SystemClock(698): time going backwards: prev 16555345563411(ioctl) vs now 16555345441341(ioctl), tid=764
    10-15 16:40:44.684: D/dalvikvm(698): GC_CONCURRENT freed 5302K, 41% free 23774K/39664K, paused 6ms+9ms, total 107ms
    10-15 16:40:57.467: E/OMX-VDEC-1080P(288): set_frame_rate: frm_int(4577) fps(218.483719)
    10-15 16:41:14.383: D/dalvikvm(698): GC_CONCURRENT freed 5371K, 41% free 23768K/39664K, paused 7ms+8ms, total 146ms
    10-15 16:41:14.403: E/MP-Decision(1385): num online cores: 3 reqd : 4 available : 4 rq_depth:4.500000 hotplug_avg_load_dw: 89
    10-15 16:41:14.403: E/MP-Decision(1385): UP cpu:1 core_idx:1 Nw:1.900000 Tw:140 total_time_up:0.000000
    10-15 16:41:14.403: E/MP-Decision(1385): UP cpu:2 core_idx:2 Nw:2.700000 Tw:90 total_time_up:0.000000
    10-15 16:41:14.403: E/MP-Decision(1385): UP cpu:3 core_idx:3 Nw:3.500000 Tw:90 total_time_up:922.000000
    10-15 16:41:27.466: E/kickstart(862): Total bytes received so far: 48
    10-15 16:41:27.466: E/kickstart(862): EVENT: RECEIVED <-- SAHARA_HELLO
    10-15 16:41:27.466: E/kickstart(862): EVENT: SENDING --> SAHARA_HELLO_RESPONSE
    10-15 16:41:27.466: E/kickstart(862): EVENT: sahara_mode                         = 2
    10-15 16:41:27.466: E/kickstart(862): EVENT: m_comm->sahara_hello_packet_rx.mode = 2
    10-15 16:41:27.466: E/kickstart(862): EVENT: helloRx.mode                        = 2
    10-15 16:41:27.466: E/kickstart(862): Total bytes received so far: 64
    10-15 16:41:27.466: E/kickstart(862): EVENT: RECEIVED <-- SAHARA_MEMORY_DEBUG
    10-15 16:41:27.466: E/kickstart(862): Total bytes received so far: 116
    10-15 16:41:27.466: E/kickstart(862): EVENT: 0x46980000, len=000C0000, "m9kefs1", ""
    10-15 16:41:27.466: E/kickstart(862): EVENT: STATE <-- SAHARA_WAIT_MEMORY_REGION
    10-15 16:41:27.466: E/kickstart(862): EVENT: Saving "/dev/block/platform/msm_sdcc.1/by-name/m9kefs1"
    10-15 16:41:27.526: E/kickstart(862): Total bytes received so far: 786548
    10-15 16:41:27.526: E/kickstart(862): EVENT: Received: 786432 bytes
    10-15 16:41:27.526: E/kickstart(862): EVENT: Writing to disk
    10-15 16:41:27.526: E/kickstart(862): EVENT: Successfully wrote to disk
    10-15 16:41:27.526: E/kickstart(862): Received file "m9kefs1"
    10-15 16:41:27.576: E/kickstart(862): Sync finish Received file "m9kefs1"
    10-15 16:41:27.576: E/kickstart(862): 786432 bytes transferred in 0.106s (7.10 MBps)
    10-15 16:41:27.576: E/kickstart(862): EVENT: num_debug_entries not >=0
    10-15 16:41:27.576: E/kickstart(862): Successfully downloaded files from target
    10-15 16:41:27.576: E/kickstart(862): EVENT: SENDING --> SAHARA_RESET
    10-15 16:41:27.576: E/kickstart(862): Total bytes received so far: 786556
    10-15 16:41:27.576: E/kickstart(862): EVENT: RECEIVED <-- SAHARA_RESET_RESP
    10-15 16:41:27.576: E/kickstart(862): Sahara protocol completed
    10-15 16:41:27.576: E/kickstart(862): EVENT: STATE <-- SAHARA_WAIT_HELLO
    10-15 16:41:27.746: E/MP-Decision(1385): num online cores: 4 reqd : 3 available : 4 rq_depth:2.100000 hotplug_avg_load_dw: 79
    10-15 16:41:27.746: E/MP-Decision(1385): DOWN cpu:3 core_idx:3 Ns:3.100000 Ts:240 total_time_down:244.000000
    10-15 16:41:49.598: D/dalvikvm(698): GC_CONCURRENT freed 5339K, 41% free 23775K/39664K, paused 10ms+7ms, total 134ms
    10-15 16:42:17.225: I/ActivityManager(698): Start proc com.cyanogenmod.lockclock for service com.cyanogenmod.lockclock/.weather.WeatherUpdateService: pid=18954 uid=10028 gids={50028, 3003, 1028}
    10-15 16:42:17.865: D/WeatherXmlParser(18954): Weather updated: WeatherInfo for Santa Barbara@ Tue Oct 15 16:42:17 PDT 2013: Fair(34), temperature 29°C, low 11°, high 27°, humidity 14%, wind 11km/h at W
    10-15 16:42:17.945: I/ActivityManager(698): No longer want com.google.android.apps.uploader (pid 13565): empty #17
    10-15 16:42:24.021: D/dalvikvm(698): GC_CONCURRENT freed 5277K, 41% free 23770K/39664K, paused 8ms+11ms, total 106ms
    10-15 16:42:35.983: W/ThrottleService(698): unable to find stats for iface rmnet0
    10-15 16:42:59.476: D/dalvikvm(698): GC_CONCURRENT freed 5345K, 41% free 23770K/39664K, paused 6ms+13ms, total 168ms
    10-15 16:43:02.098: E/kickstart(862): Total bytes received so far: 48
    10-15 16:43:02.098: E/kickstart(862): EVENT: RECEIVED <-- SAHARA_HELLO
    10-15 16:43:02.098: E/kickstart(862): EVENT: SENDING --> SAHARA_HELLO_RESPONSE
    10-15 16:43:02.098: E/kickstart(862): EVENT: sahara_mode                         = 2
    10-15 16:43:02.098: E/kickstart(862): EVENT: m_comm->sahara_hello_packet_rx.mode = 2
    10-15 16:43:02.098: E/kickstart(862): EVENT: helloRx.mode                        = 2
    10-15 16:43:02.098: E/kickstart(862): Total bytes received so far: 64
    10-15 16:43:02.098: E/kickstart(862): EVENT: RECEIVED <-- SAHARA_MEMORY_DEBUG
    10-15 16:43:02.108: E/kickstart(862): Total bytes received so far: 116
    10-15 16:43:02.108: E/kickstart(862): EVENT: 0x46980000, len=000C0000, "m9kefs2", ""
    10-15 16:43:02.108: E/kickstart(862): EVENT: STATE <-- SAHARA_WAIT_MEMORY_REGION
    10-15 16:43:02.108: E/kickstart(862): EVENT: Saving "/dev/block/platform/msm_sdcc.1/by-name/m9kefs2"
    10-15 16:43:02.158: E/kickstart(862): Total bytes received so far: 786548
    10-15 16:43:02.158: E/kickstart(862): EVENT: Received: 786432 bytes
    10-15 16:43:02.158: E/kickstart(862): EVENT: Writing to disk
    10-15 16:43:02.168: E/kickstart(862): EVENT: Successfully wrote to disk
    10-15 16:43:02.168: E/kickstart(862): Received file "m9kefs2"
    10-15 16:43:02.218: E/kickstart(862): Sync finish Received file "m9kefs2"
    10-15 16:43:02.218: E/kickstart(862): 786432 bytes transferred in 0.113s (6.65 MBps)
    10-15 16:43:02.218: E/kickstart(862): EVENT: num_debug_entries not >=0
    10-15 16:43:02.218: E/kickstart(862): Successfully downloaded files from target
    10-15 16:43:02.218: E/kickstart(862): EVENT: SENDING --> SAHARA_RESET
    10-15 16:43:02.218: E/kickstart(862): Total bytes received so far: 786556
    10-15 16:43:02.218: E/kickstart(862): EVENT: RECEIVED <-- SAHARA_RESET_RESP
    10-15 16:43:02.218: E/kickstart(862): Sahara protocol completed
    10-15 16:43:02.218: E/kickstart(862): EVENT: STATE <-- SAHARA_WAIT_HELLO
    10-15 16:43:17.563: W/SystemClock(698): time going backwards: prev 16722067121029(ioctl) vs now 16722066968441(ioctl), tid=764
    10-15 16:43:34.610: D/dalvikvm(698): GC_CONCURRENT freed 5359K, 41% free 23772K/39664K, paused 9ms+9ms, total 113ms
    10-15 16:43:36.452: E/MP-Decision(1385): num online cores: 3 reqd : 4 available : 4 rq_depth:3.900000 hotplug_avg_load_dw: 100
    10-15 16:43:36.452: E/MP-Decision(1385): UP cpu:1 core_idx:1 Nw:1.900000 Tw:140 total_time_up:0.000000
    10-15 16:43:36.452: E/MP-Decision(1385): UP cpu:2 core_idx:2 Nw:2.700000 Tw:90 total_time_up:0.000000
    10-15 16:43:36.452: E/MP-Decision(1385): UP cpu:3 core_idx:3 Nw:3.500000 Tw:90 total_time_up:194.000000
    10-15 16:44:09.965: D/dalvikvm(698): GC_CONCURRENT freed 5369K, 41% free 23779K/39664K, paused 8ms+8ms, total 103ms
    10-15 16:44:09.965: D/dalvikvm(698): WAIT_FOR_CONCURRENT_GC blocked 30ms
    10-15 16:44:10.605: E/MP-Decision(1385): num online cores: 4 reqd : 3 available : 4 rq_depth:2.800000 hotplug_avg_load_dw: 133
    10-15 16:44:10.605: E/MP-Decision(1385): DOWN cpu:3 core_idx:3 Ns:3.100000 Ts:240 total_time_down:244.000000
    10-15 16:44:12.707: E/MP-Decision(1385): num online cores: 3 reqd : 4 available : 4 rq_depth:4.100000 hotplug_avg_load_dw: 116
    10-15 16:44:12.707: E/MP-Decision(1385): UP cpu:1 core_idx:1 Nw:1.900000 Tw:140 total_time_up:0.000000
    10-15 16:44:12.707: E/MP-Decision(1385): UP cpu:2 core_idx:2 Nw:2.700000 Tw:90 total_time_up:0.000000
    10-15 16:44:12.707: E/MP-Decision(1385): UP cpu:3 core_idx:3 Nw:3.500000 Tw:90 total_time_up:97.000000
    10-15 16:44:14.008: E/MP-Decision(1385): num online cores: 4 reqd : 3 available : 4 rq_depth:1.700000 hotplug_avg_load_dw: 140
    10-15 16:44:14.008: E/MP-Decision(1385): DOWN cpu:3 core_idx:3 Ns:3.100000 Ts:240 total_time_down:240.000000
    10-15 16:44:14.759: E/MP-Decision(1385): num online cores: 3 reqd : 4 available : 4 rq_depth:4.900000 hotplug_avg_load_dw: 132
    10-15 16:44:14.759: E/MP-Decision(1385): UP cpu:1 core_idx:1 Nw:1.900000 Tw:140 total_time_up:0.000000
    10-15 16:44:14.759: E/MP-Decision(1385): UP cpu:2 core_idx:2 Nw:2.700000 Tw:90 total_time_up:0.000000
    10-15 16:44:14.759: E/MP-Decision(1385): UP cpu:3 core_idx:3 Nw:3.500000 Tw:90 total_time_up:97.000000
    10-15 16:44:15.360: E/MP-Decision(1385): num online cores: 4 reqd : 3 available : 4 rq_depth:2.300000 hotplug_avg_load_dw: 139
    10-15 16:44:15.360: E/MP-Decision(1385): DOWN cpu:3 core_idx:3 Ns:3.100000 Ts:240 total_time_down:243.000000
    10-15 16:44:15.560: E/MP-Decision(1385): num online cores: 3 reqd : 4 available : 4 rq_depth:3.900000 hotplug_avg_load_dw: 133
    10-15 16:44:15.560: E/MP-Decision(1385): UP cpu:1 core_idx:1 Nw:1.900000 Tw:140 total_time_up:0.000000
    10-15 16:44:15.560: E/MP-Decision(1385): UP cpu:2 core_idx:2 Nw:2.700000 Tw:90 total_time_up:0.000000
    10-15 16:44:15.560: E/MP-Decision(1385): UP cpu:3 core_idx:3 Nw:3.500000 Tw:90 total_time_up:95.000000
    10-15 16:44:16.361: E/MP-Decision(1385): num online cores: 4 reqd : 3 available : 4 rq_depth:2.500000 hotplug_avg_load_dw: 132
    10-15 16:44:16.361: E/MP-Decision(1385): DOWN cpu:3 core_idx:3 Ns:3.100000 Ts:240 total_time_down:242.000000
    10-15 16:44:16.661: E/MP-Decision(1385): num online cores: 3 reqd : 4 available : 4 rq_depth:3.700000 hotplug_avg_load_dw: 127
    10-15 16:44:16.661: E/MP-Decision(1385): UP cpu:1 core_idx:1 Nw:1.900000 Tw:140 total_time_up:0.000000
    10-15 16:44:16.661: E/MP-Decision(1385): UP cpu:2 core_idx:2 Nw:2.700000 Tw:90 total_time_up:0.000000
    10-15 16:44:16.661: E/MP-Decision(1385): UP cpu:3 core_idx:3 Nw:3.500000 Tw:90 total_time_up:97.000000
    10-15 16:44:20.605: E/MP-Decision(1385): num online cores: 4 reqd : 3 available : 4 rq_depth:1.700000 hotplug_avg_load_dw: 122
    10-15 16:44:20.605: E/MP-Decision(1385): DOWN cpu:3 core_idx:3 Ns:3.100000 Ts:240 total_time_down:244.000000
    10-15 16:44:20.615: W/ProcessStats(698): Skipping unknown process pid 19038
    10-15 16:44:20.615: W/ProcessStats(698): Skipping unknown process pid 19041

    Garbage collector entries in Logcat :

    10-15 16:40:06.087: D/dalvikvm(698): WAIT_FOR_CONCURRENT_GC blocked 1ms
    10-15 16:40:06.207: D/dalvikvm(698): GC_EXPLICIT freed 4120K, 39% free 24216K/39664K,   paused 7ms+9ms, total 117ms
    10-15 16:40:25.746: D/dalvikvm(698): GC_CONCURRENT freed 5829K, 41% free 23778K/39664K, paused 10ms+24ms, total 165ms
    10-15 16:40:44.684: D/dalvikvm(698): GC_CONCURRENT freed 5302K, 41% free 23774K/39664K, paused 6ms+9ms, total 107ms
    10-15 16:41:14.383: D/dalvikvm(698): GC_CONCURRENT freed 5371K, 41% free 23768K/39664K, paused 7ms+8ms, total 146ms
    10-15 16:41:49.598: D/dalvikvm(698): GC_CONCURRENT freed 5339K, 41% free 23775K/39664K, paused 10ms+7ms, total 134ms
    10-15 16:42:24.021: D/dalvikvm(698): GC_CONCURRENT freed 5277K, 41% free 23770K/39664K, paused 8ms+11ms, total 106ms
    10-15 16:42:59.476: D/dalvikvm(698): GC_CONCURRENT freed 5345K, 41% free 23770K/39664K, paused 6ms+13ms, total 168ms
    10-15 16:43:34.610: D/dalvikvm(698): GC_CONCURRENT freed 5359K, 41% free 23772K/39664K, paused 9ms+9ms, total 113ms
    10-15 16:44:09.965: D/dalvikvm(698): GC_CONCURRENT freed 5369K, 41% free 23779K/39664K, paused 8ms+8ms, total 103ms
    10-15 16:44:09.965: D/dalvikvm(698): WAIT_FOR_CONCURRENT_GC blocked 30ms
    10-15 16:44:24.389: D/dalvikvm(698): GC_EXPLICIT freed 3618K, 41% free 23768K/39664K, paused 12ms+11ms, total 123ms
  • Revert "img2 encoder : allow %t in filename, based on patch from Yuval Adam"

    1er novembre 2016, par Michael Niedermayer
    Revert "img2 encoder : allow %t in filename, based on patch from Yuval Adam"
    

    breaks API

    Found-by : jamrial
    This reverts commit 1a956c64c8eff5edecb004fc7aafd21207e6485c.

    • [DH] doc/muxers.texi
    • [DH] libavformat/avformat.h
    • [DH] libavformat/hlsenc.c
    • [DH] libavformat/img2enc.c
    • [DH] libavformat/utils.c
  • Using ffmpeg on Windows, what is the command to capture hardware encoded H264 stream from Logitech c930e

    2 mai 2015, par Jeff

    I am using ffmpeg on Windows 8 and I would like to capture the built-in H264 hardware encoded stream from the Logitech c930e camera. The H264 built-in encoded stream is part of the UVC 1.5 interface.

    Using this command I have noticed that the c930e exposes two video pins through DirectShow : 0 and 1.

    ffmpeg -report -list_options true -f dshow -i video="Logitech Webcam C930e"

    [dshow @ 0000000002d89360]  Pin "Capture" (alternative pin name "0")

    [dshow @ 0000000002d89360]  Pin "Capture" (alternative pin name "1")

    It doesn’t seem to matter if I choose Pin 0 or 1, I still get raw video from the Logitech c930e webcam. On Linux, the supposed command involves v4l2, but this does not appear to exist in the default Windows version of ffmpeg from http://ffmpeg.zeranoe.com/builds/

    Does the default Windows build of ffmpeg support the direct capture of the UVC interface ?

    This is the closest I have gotten on this journey, but still isn’t quite right :

    ffmpeg -report -f dshow -i video="Logitech Webcam C930e" -s 1920x1080 -r 30 -video_pin_name 1 -vcodec H264 -c copy -f mp4 Logitechc930eFeed.mp4

    As of April 17, 2015 I am still trying to figure this out and have two new pieces of info.

    I found this interesting article on Logitech’s website instructing the user to change the default Logitech driver to the generic USB Video Device driver :
    https://support.logitech.com/en_us/article/Install-native-UVC-drivers-for-your-Logitech-webcam?product=a0qi00000069v0MAAQ#

    I also found that my C930e had an older firmware (8.0.866), and Logitech recommends updating the firmware to 8.0.875 to fix an unspecified UVC H.264 issue.

    So now I have the latest firmware, and am using the generic "USB Video Device" on Windows 8.1.

    ffmpeg -list_devices true -f dshow -i

    which gives this output :

    ffmpeg version N-69608-g9dc45d1 Copyright (c) 2000-2015 the FFmpeg developers
     built with gcc 4.9.2 (GCC)
     configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --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-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
     libavutil      54. 18.100 / 54. 18.100
     libavcodec     56. 21.102 / 56. 21.102
     libavformat    56. 19.100 / 56. 19.100
     libavdevice    56.  4.100 / 56.  4.100
     libavfilter     5.  9.103 /  5.  9.103
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  1.100 /  1.  1.100
     libpostproc    53.  3.100 / 53.  3.100
    [dshow @ 00000000045c9360] DirectShow video devices (some may be both video and audio devices)
    [dshow @ 00000000045c9360]  "Logitech Webcam C930e"
    [dshow @ 00000000045c9360]     Alternative name "@device_pnp_\\?\usb#vid_046d&pid_0843&mi_00#7&3693c0e6&1&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
    [dshow @ 00000000045c9360] DirectShow audio devices
    [dshow @ 00000000045c9360]  "Microphone (Logitech Webcam C930e)"
    [dshow @ 00000000045c9360]     Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{BB8BE70B-4DDC-465F-9247-86E6EC98D627}"
    dummy: Immediate exit requested

    And this command :
    ffmpeg -list_options true -f dshow -i video="Logitech Webcam C930e"

    still gives this output :

    ffmpeg version N-69608-g9dc45d1 Copyright (c) 2000-2015 the FFmpeg developers
     built with gcc 4.9.2 (GCC)
     configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --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-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
     libavutil      54. 18.100 / 54. 18.100
     libavcodec     56. 21.102 / 56. 21.102
     libavformat    56. 19.100 / 56. 19.100
     libavdevice    56.  4.100 / 56.  4.100
     libavfilter     5.  9.103 /  5.  9.103
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  1.100 /  1.  1.100
     libpostproc    53.  3.100 / 53.  3.100
    [dshow @ 0000000004469360] DirectShow video device options (from video devices)
    [dshow @ 0000000004469360]  Pin "Capture" (alternative pin name "0")
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=640x480 fps=5 max s=640x480 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=640x480 fps=5 max s=640x480 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=160x120 fps=5 max s=160x120 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=160x120 fps=5 max s=160x120 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=176x144 fps=5 max s=176x144 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=176x144 fps=5 max s=176x144 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=320x180 fps=5 max s=320x180 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=320x180 fps=5 max s=320x180 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=320x240 fps=5 max s=320x240 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=320x240 fps=5 max s=320x240 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=352x288 fps=5 max s=352x288 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=352x288 fps=5 max s=352x288 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=424x240 fps=5 max s=424x240 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=424x240 fps=5 max s=424x240 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=480x270 fps=5 max s=480x270 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=480x270 fps=5 max s=480x270 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=640x360 fps=5 max s=640x360 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=640x360 fps=5 max s=640x360 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=800x448 fps=5 max s=800x448 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=800x448 fps=5 max s=800x448 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=800x600 fps=5 max s=800x600 fps=24
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=800x600 fps=5 max s=800x600 fps=24
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=848x480 fps=5 max s=848x480 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=848x480 fps=5 max s=848x480 fps=30
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=960x540 fps=5 max s=960x540 fps=15
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=960x540 fps=5 max s=960x540 fps=15
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=1024x576 fps=5 max s=1024x576 fps=15
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=1024x576 fps=5 max s=1024x576 fps=15
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=1280x720 fps=5 max s=1280x720 fps=10
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=1280x720 fps=5 max s=1280x720 fps=10
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=1600x896 fps=5 max s=1600x896 fps=7.5
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=1600x896 fps=5 max s=1600x896 fps=7.5
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=1920x1080 fps=5 max s=1920x1080 fps=5
    [dshow @ 0000000004469360]   pixel_format=yuyv422  min s=1920x1080 fps=5 max s=1920x1080 fps=5
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=640x480 fps=5 max s=640x480 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=640x480 fps=5 max s=640x480 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=160x120 fps=5 max s=160x120 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=160x120 fps=5 max s=160x120 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=176x144 fps=5 max s=176x144 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=176x144 fps=5 max s=176x144 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=320x180 fps=5 max s=320x180 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=320x180 fps=5 max s=320x180 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=320x240 fps=5 max s=320x240 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=320x240 fps=5 max s=320x240 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=352x288 fps=5 max s=352x288 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=352x288 fps=5 max s=352x288 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=424x240 fps=5 max s=424x240 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=424x240 fps=5 max s=424x240 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=480x270 fps=5 max s=480x270 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=480x270 fps=5 max s=480x270 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=640x360 fps=5 max s=640x360 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=640x360 fps=5 max s=640x360 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=800x448 fps=5 max s=800x448 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=800x448 fps=5 max s=800x448 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=800x600 fps=5 max s=800x600 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=800x600 fps=5 max s=800x600 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=848x480 fps=5 max s=848x480 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=848x480 fps=5 max s=848x480 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=960x540 fps=5 max s=960x540 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=960x540 fps=5 max s=960x540 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=1024x576 fps=5 max s=1024x576 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=1024x576 fps=5 max s=1024x576 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=1280x720 fps=5 max s=1280x720 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=1280x720 fps=5 max s=1280x720 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=1600x896 fps=5 max s=1600x896 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=1600x896 fps=5 max s=1600x896 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=1920x1080 fps=5 max s=1920x1080 fps=30
    [dshow @ 0000000004469360]   vcodec=mjpeg  min s=1920x1080 fps=5 max s=1920x1080 fps=30
    [dshow @ 0000000004469360]  Pin "Capture" (alternative pin name "1")
    video=Logitech Webcam C930e: Immediate exit requested