我已经尝试过在react-native中使用的命令在Windows CMD上执行。在那里工作。我收到包含输入图像的视频
我的生成代码:
RNFFmpeg.enableLogCallback( this.logCallback );
RNFFmpeg.enableStatisticsCallback( this.statisticsCallback );
const path = RNFS.DocumentDirectoryPath + "/app/" + this.state.galleryName;
// Full-CMD: -framerate 2 -i /data/user/0/com.app/files/app/Testhh/images/image%6d.jpg -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2,format=yuv420p" /data/user/0/com.app/files/app/Testhh/videos/video0000.mp4
const ffmpegCommand =
// Images
'-framerate 2 -i ' + path + '/images/image%6d.jpg '
// Video Options
+ '-vf "pad=ceil(iw/2)*2:ceil(ih/2)*2,format=yuv420p" '
+ path + '/videos/video0000.mp4';
console.log( ffmpegCommand );
RNFFmpeg.execute( ffmpegCommand ).then((result) => {
this.setState({
inGenerateVideo: false
});
}).catch(( err ) => {
this.setState({
inGenerateVideo: false
});
// TODO Error
console.log( err );
});
在那之后,我想显示带有react-native-video的视频
<Video source={{uri: 'file:///data/user/0/com.app/files/app/Test/videos/video0000.mp4' }}
ref={(ref) => {
this.player = ref
}}
autoplay={false}
paused={true}
onBuffer={this.onBuffer}
onError={this.videoError}
style={styles.backgroundVideo} />
react-native-image错误:
extra: -2147483648
what: 1
预期的行为是,我实际上是通过观看了以FFMPEG上演的视频。但是,什么也不显示。 FFMPEG的返回码为0。 完整的FFMPEG命令为:
-framerate 2 -i /data/user/0/com.app/files/app/Testhh/images/image%6d.jpg -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2,format=yuv420p" /data/user/0/com.app/files/app/Testhh/videos/video0000.mp4
我希望有人能帮我或举个例子,以原生的方式为视频生成图像。
谢谢