Android中的字符串是否有base-64解码器和编码器?
我提交连接表单时出现此错误(我使用FOSUserBundle最新版本):
No encoder has been configured for account "MyApp\UtilisateurBundle\Entity\Utilisateur
Run Code Online (Sandbox Code Playgroud)
这是我的实体:
<?php
namespace MyApp\UtilisateurBundle\Entity;
use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
*/
class Utilisateur extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\generatedValue(strategy="AUTO")
*/
protected $id;
public function __construct()
{
parent::__construct();
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的app/config/security.yml:
imports:
- { resource: "@MyAppFilmothequeBundle/Resources/config/security.yml" }
Run Code Online (Sandbox Code Playgroud)
这是我的src/MyApp/FilmothequeBundle/Ressources/config/security.yml:
security:
providers:
fos_userbundle:
id: fos_user.user_manager
firewalls:
main:
pattern: .* …Run Code Online (Sandbox Code Playgroud) 我想用ffmpeg编写一个编码器,可以将iFrame(关键帧)放在我想要的位置.我在哪里可以找到它的教程或参考资料?
PS
是否可以使用mencoder或任何开源编码器执行此操作.我想编码H263文件.我在linux下编写.
理想情况下,我想完成两个目标:
Camera预览将预览数据传递给MediaCodec编码器Surface.我可以创建Surface使用MediaCodec.createInputSurface()但是Camera.setPreviewDisplay()需要a SurfaceHolder,而不是a Surface. Camera预览数据传递给编码器之外,我还想在屏幕上显示预览(这样用户实际上可以看到他们编码的内容).如果编码器没有参与,那么我会使用a SurfaceView,但这似乎不适用于这种情况,因为SurfaceView创建了自己的编码器Surface,我认为我需要使用创建的编码器MediaCodec.我在网上搜索了很多解决方案,但没有找到解决方案.bigflake.com上的一些例子似乎是朝着正确方向迈出的一步,但他们采取了一种方法,增加了一堆我想避免的EGL/SurfaceTexture开销.我希望有一个简单的例子或解决方案,我能得到Camera并且MediaCodec不涉及EGL或纹理更直接交谈.
我正在使用WebSocket端点实现一个应用程序.这是一些代码:
@ApplicationScoped
@ServerEndpoint(value="/socket", encoders = {MessageEncoder.class, CommandEncoder.class})
public class SocketEndpoint {
/** Default-Logger */
private final static Logger LOG = LoggerFactory.getLogger(SocketEndpoint.class);
@Inject
SessionHandler sessionHandler;
@OnOpen
public void open(Session session, EndpointConfig config) {
LOG.debug("Connected session => '{}' - '{}'", session, config);
sessionHandler.initSession(session);
}
@OnMessage
public void onMessage(Session session, String messageJson) {
// do something
}
@OnClose
public void onClose(Session session, CloseReason reason) {
LOG.debug("Closing session => '{}' - '{}'", session, reason);
sessionHandler.removeSession(session);
}
@OnError
public void onError(Session session, Throwable ex) { …Run Code Online (Sandbox Code Playgroud) 有谁知道分层JPEG模式的任何实现(ITU T.81)?我不是在谈论渐进模式(或顺序),我的意思是分层模式.
到目前为止,我能够设置MediaCodec来编码视频流.目的是将用户生成的图稿保存到视频文件中.
我使用用户图稿的android Bitmap对象将帧推送到流中.
请参阅我在本文底部使用的代码片段(它是完整的代码,没有任何修剪):
MediaCodec使用ByteBuffer处理视频/音频流.
位图基于int [],如果转换为byte []将需要x4 int []的大小
我做了一些研究,以确定在处理MediaCodec中的视频/音频流时ByteBuffer的合同是什么,但信息几乎接近于zilch.
那么,MediaCodec中的ByteBuffer使用合约是什么?
在MediaFormat中指定帧尺寸是否自动意味着ByteBuffers具有宽度*高度*4字节容量?
(我每帧都使用一个位图对象)
谢谢你的帮助.
(已编辑,已添加代码)
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.nio.ByteBuffer;
import android.graphics.Rect;
import android.graphics.Bitmap.CompressFormat;
import android.media.MediaCodec;
import android.media.MediaCodec.BufferInfo;
import android.media.CamcorderProfile;
import android.media.MediaCodecInfo;
import android.media.MediaFormat;
import android.util.Log;
import android.view.View;
public class VideoCaptureManager {
private boolean running;
private long presentationTime;
public void start(View rootView, String saveFilePath){
Log.e("OUT", saveFilePath);
this.running = true;
this.presentationTime = 0;
this.capture(rootView, saveFilePath);
}
private void capture(final View rootView, String saveFilePath){
if(rootView != …Run Code Online (Sandbox Code Playgroud) 我收到以下错误:
Generic parameter 'T' could not be inferred
在线: let data = try encoder.encode(obj)
这是代码
import Foundation
struct User: Codable {
var firstName: String
var lastName: String
}
let u1 = User(firstName: "Ann", lastName: "A")
let u2 = User(firstName: "Ben", lastName: "B")
let u3 = User(firstName: "Charlie", lastName: "C")
let u4 = User(firstName: "David", lastName: "D")
let a = [u1, u2, u3, u4]
var ret = [[String: Any]]()
for i in 0..<a.count {
let param = [
"a" : a[i], …Run Code Online (Sandbox Code Playgroud) 我使用Android的MediaCodec API编写了H264流编码器.我在大约十个不同处理器的不同设备上进行了测试,除了Snapdragon 800驱动的设备(谷歌Nexus 5和索尼Xperia Z1)之外,它在所有设备上都有效.在这些设备上,我得到了SPS和PPS以及第一个Keyframe,但之后mEncoder.dequeueOutputBuffer(mBufferInfo,0)只返回MediaCodec.INFO_TRY_AGAIN_LATER.我已经尝试过不同的超时,比特率,分辨率和其他配置选项,但无济于事.结果总是一样的.
我使用以下代码初始化编码器:
mBufferInfo = new MediaCodec.BufferInfo();
encoder = MediaCodec.createEncoderByType("video/avc");
MediaFormat mediaFormat = MediaFormat.createVideoFormat("video/avc", 640, 480);
mediaFormat.setInteger(MediaFormat.KEY_BIT_RATE, 768000);
mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, 30);
mediaFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT, mEncoderColorFormat);
mediaFormat.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 10);
encoder.configure(mediaFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
Run Code Online (Sandbox Code Playgroud)
所选颜色格式为:
MediaCodecInfo.CodecCapabilities capabilities = mCodecInfo.getCapabilitiesForType(MIME_TYPE);
for (int i = 0; i < capabilities.colorFormats.length && selectedColorFormat == 0; i++)
{
int format = capabilities.colorFormats[i];
switch (format) {
case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420Planar:
case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420PackedPlanar:
case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420SemiPlanar:
case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420PackedSemiPlanar:
case MediaCodecInfo.CodecCapabilities.COLOR_TI_FormatYUV420PackedSemiPlanar:
case MediaCodecInfo.CodecCapabilities.COLOR_QCOM_FormatYUV420SemiPlanar:
selectedColorFormat = format;
break;
default:
LogHandler.e(LOG_TAG, "Unsupported color format " + …Run Code Online (Sandbox Code Playgroud) 我想将4种不同分辨率的4种不同视频合并为1种可在Android中播放的视频.我使用https://github.com/guardianproject/android-ffmpeg在android上移植ffmpeg
所以我有这4种不同类型的视频1)
./ffmpeg -i 1.mp4
Video: h264 (High), yuv420p, 1920x1080, 16959 kb/s, 29.85 fps, 90k tbr, 90k tbn, 180k tbc
Audio: aac, 48000 Hz, stereo, s16, 106 kb/s
Run Code Online (Sandbox Code Playgroud)
2)
ffmpeg -i 2.mp4
Video: h264 (Constrained Baseline), yuv420p, 640x480, 3102 kb/s, 29.99 fps, 90k tbr, 90k tbn, 180k tbc
Audio: aac, 48000 Hz, stereo, s16, 93 kb/s
Run Code Online (Sandbox Code Playgroud)
3)
ffmpeg -i 3.3gp
Video: h263, yuv420p, 1408x1152 [PAR 12:11 DAR 4:3], 2920 kb/s, 15 fps, 15 tbr, 15360 tbn, 29.97 tbc …Run Code Online (Sandbox Code Playgroud) encoder ×10
android ×5
decoder ×3
java ×3
ffmpeg ×2
mediacodec ×2
base64 ×1
bytebuffer ×1
camera ×1
codable ×1
compression ×1
h.264 ×1
jpeg ×1
media ×1
mp4 ×1
submit ×1
surfaceview ×1
swift ×1
swift4 ×1
symfony-2.1 ×1
websocket ×1
xcode9 ×1