React-native 0.60-FFMPEG-图像到视频

时间:2019-09-28 16:03:53

标签: android react-native ffmpeg

我想从React-native中的图像序列生成带有FFMPEG的视频。我生成视频后,该视频将不会与react-native-video一起显示。如果我将视频导出到PC上,则视频也不会显示。

我已经尝试过在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

我希望有人能帮我或举个例子,以原生的方式为视频生成图像。

谢谢

0 个答案:

没有答案