h.264

MFT Encoder (h264) High CPU utilization

ⅰ亾dé卋堺 提交于 2019-12-01 22:04:24
I am able successfully to encode the data by H264 using Media Foundation Transform (MFT) but unfortunately I got a very high CPU(when I comment in the program the calling of this function I got low CPU).It is few steps followed to get the encoding so I can't do anything to improve it?Any idea can help HRESULT MFTransform::EncodeSample(IMFSample *videosample, LONGLONG llVideoTimeStamp, MFT_OUTPUT_STREAM_INFO &StreamInfo, MFT_OUTPUT_DATA_BUFFER &encDataBuffer) { HRESULT hr; LONGLONG llSampleDuration; DWORD mftEncFlags, processOutputStatus; //used to set the output sample IMFSample

H264 profile-iop explained

微笑、不失礼 提交于 2019-12-01 18:19:58
Identify h264 profile and level from profile-level-id in sdp? How does one identify what the constraints actually mean? For example I have a profile-type-id: 42801e that translates to: How am I to relate that to the features defined in the table here ? The above reference identified that the Constraint_set0_flag: 1 means that it's the Constrained Baseline Profile . But how to relate the flag to the three different NO's (from the table) that differentiate the Baseline profile from the Constrained Baseline Profile ? Update Can't confirm that the above, about identifying the Constrained Baseline

Media Foundation IMFSinkWriter::Finalize() method fails under Windows 7 when muxing H.264 frames into MP4

梦想的初衷 提交于 2019-12-01 11:24:39
I'm writing a tool in C# that muxes H.264 frames into MP4 files, and I'm using Media Foundation's media sink with sink writer to do this. Things work pretty well under Win8, but under Windows 7 the same code throws an exception, HResult: 0xC00D36E6 (MF_E_ATTRIBUTENOTFOUND), when invoking sink writer's Finalize method. As a result, the generated MP4 file is not properly closed, and is (of course) not playable. The mftrace log shows that the failure under Windows 7 occurs somewhere after (or during) the internal call to IMFSinkWriter::PlaceMarker. Under Windows 8 the corresponding line in the

h264 mp4 index to front command line

心已入冬 提交于 2019-12-01 06:11:15
Is there any command line tools to move an h264/mp4 index to the beginning so that flash will start playing the file quicker over the net? I am aware of the tool QTIndexSwapper however it is not command line. Alternatively is there an ffmpeg command to place the index at the front during an encoding? Thanks. user1133275 As answered a few years later; ffmpeg -i input.mp4 -codec copy -movflags +faststart output.mp4 mirswith After enough poking around I managed to find a python script called qt-faststart that does it. So far so good. qt-faststart 来源: https://stackoverflow.com/questions/7614635

h264 mp4 index to front command line

 ̄綄美尐妖づ 提交于 2019-12-01 05:09:01
问题 Is there any command line tools to move an h264/mp4 index to the beginning so that flash will start playing the file quicker over the net? I am aware of the tool QTIndexSwapper however it is not command line. Alternatively is there an ffmpeg command to place the index at the front during an encoding? Thanks. 回答1: As answered a few years later; ffmpeg -i input.mp4 -codec copy -movflags +faststart output.mp4 回答2: After enough poking around I managed to find a python script called qt-faststart

Why am I getting “Unsupported format” errors, reading H.264 encoded rtsp streams with the Android MediaPlayer?

你说的曾经没有我的故事 提交于 2019-12-01 03:36:06
I am trying to show H.264 encoded rtsp video on an Android device. The stream is coming from a Raspberry Pi, using vlc to encode /dev/video1 which is a "Pi NoIR Camera Board". vlc-wrapper -vvv v4l2:///dev/video1 --v4l2-width $WIDTH --v4l2-height $HEIGHT --v4l2-fps ${FPS}.0 --v4l2-chroma h264 --no-audio --no-osd --sout "#rtp{sdp=rtsp://:8000/pi.sdp}" :demux=h264 > /tmp/vlc-wrapper.log 2>&1 I am using very minimal Android code right now: final MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setDisplay(holder); try { mediaPlayer.setDataSource(url); mediaPlayer.prepare(); and getting a

H.264 video encoder in javascript

喜欢而已 提交于 2019-12-01 03:27:43
I am looking to make a video encoder entirely in Javascript. The idea is that the user will be able to specify an existing video (easy enough) or a range of images and then be able to encode it to H.264 for publishing. I understand that encoding content is not supported right now but I was wondering if this is something that is possible entirely in Javascript (or a Flash bridge) or not? Thanks. It is possible to compile a video encoder to javascript using emscripten. For example, here is an emscripten-compiled version of google's VP9 libvpx library: https://bitbucket.org/desmaj/libvpx.js

Is sprop-parameter-sets or profile-level-id the SDP parameter required to decode H264?

只谈情不闲聊 提交于 2019-11-30 23:52:36
I'm trying to understand what is the required parameter in SDP to be able to decode H264 from RTP packets. This is an related to this question , for the answer to that one works only in small number of cases. Example I am streaming from VLC with the following command. vlc -vvv sample_video/big_buck_bunny_480p_h264.mov --sout '#transcode{vcodec=h264,vb=700,fps=20,scale=0.25,acodec=none}:rtp{dst=10.5.110.117,port=5004,ttl=1}' This transcodes the video to: Bitrate: 700kbps Frame rate: 20 per second Resolution: 25% of the original The receiver correctly accepts and interprets the stream with the

h264 inside AVI, MP4 and “Raw” h264 streams. Different format of NAL units (or ffmpeg bug)

前提是你 提交于 2019-11-30 21:40:22
TL;DR: I want to read raw h264 streams from AVI/MP4 files, even broken/incomplete. Almost every document about h264 tells me that it consists of NAL packets. Okay. Almost everywhere told to me that the packet should start with a signature like 00 00 01 or 00 00 00 01 . For example, https://stackoverflow.com/a/18638298/8167678 , https://stackoverflow.com/a/17625537/8167678 The format of H.264 is that it’s made up of NAL Units, each starting with a start prefix of three bytes with the values 0x00, 0x00, 0x01 and each unit has a different type depending on the value of the 4th byte right after

Select H264 Profile when encoding with MediaCodec and MTK Codec

眉间皱痕 提交于 2019-11-30 21:21:32
We have an Android app that encodes video into H264. On all previously tried Android devices this encodes to Baseline profile which is what I need. On the Lenovo Yoga 10 the codec is OMX.MTK.VIDEO.ENCODER.AVC. This encodes the video as High Profile which gives a problem for the receiving device. I am using MediaCodec. There seems to be no way to set the profile to be used. Is there any way of doing this ? The codec does claim to support Baseline profile but gives no way of using it. Is there a codec specific parameter for this? What you could try is to add the key profile to your MediaFormat,