bytedeco/javacv

When I starting HLS with some Video avformat_write_header error() error -22: Could not write header to 'C:\Users\xxx\Desktop\test_resource\result\_packetRecord.m3u8'

Open

#1506 aperta il 11 set 2020

Vedi su GitHub
 (8 commenti) (0 reazioni) (0 assegnatari)Java (1583 fork)batch import
help wantedquestion

Metriche repository

Star
 (6985 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

this is my code

    public static void packetRecord(String inputFile, String outputFile) throws FrameGrabber.Exception, FrameRecorder.Exception {

        FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(inputFile);
        grabber.start();

        FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(outputFile, grabber.getImageWidth(),
                grabber.getImageHeight(), grabber.getAudioChannels());
        recorder.setFormat("hls");
        recorder.setOption("hls_list_size", "0");
        recorder.setOption("hls_time", "12");
        recorder.start(grabber.getFormatContext());

        AVPacket packet;
        long t1 = System.currentTimeMillis();
        while ((packet = grabber.grabPacket()) != null) {
            recorder.recordPacket(packet);
            if ((System.currentTimeMillis() - t1) > RECORD_LENGTH) {
                break;
            }
        }
        grabber.stop();
        recorder.stop();
    }

this is console log

Exception in thread "main" org.bytedeco.javacv.FrameRecorder$Exception: avformat_write_header error() error -22: Could not write header to 'C:\Users\xxx\Desktop\test_resource\result\_packetRecord.m3u'
	at org.bytedeco.javacv.FFmpegFrameRecorder.startUnsafe(FFmpegFrameRecorder.java:900)
	at org.bytedeco.javacv.FFmpegFrameRecorder.start(FFmpegFrameRecorder.java:406)
	at org.bytedeco.javacv.FFmpegFrameRecorder.start(FFmpegFrameRecorder.java:401)
	at PacketRecorderTest.packetRecord(PacketRecorderTest.java:37)
	at PacketRecorderTest.main(PacketRecorderTest.java:23)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Users\Liang Jian\Desktop\test_resource\2e6851044c4100e04e018aa7a4e68547.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.58.101
  Duration: 00:00:07.04, start: 0.000000, bitrate: 366 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x512 [SAR 86:59 DAR 215:118], 324 kb/s, 24 fps, 24 tbr, 12288 tbn, 96 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 48 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
[hls @ 0000000023597980] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
[hls @ 0000000023597980] Aspect ratio mismatch between muxer (1/1) and encoder layer (86/59)

what need i do for my code ?

Guida contributor