Opened 5 years ago

Last modified 5 years ago

#3483 new defect

live stream with a gopro (hero 3)

Reported by: sdx Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: hls
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:

I want to restream a gopro video stream on the internet.

I use a PC windows 7, it has a wifi connection to a gopro (wifi node, address 10.5.5.9) and the fix connection to the internet used to restream to a wowza server.

It seems that ffmpeg does not like the format of the video :

mpegts @ 02820ca0] PES packet size mismatch
skipping 2 segments ahead, expired from playlists

and I assume that , by skipping the packets,it makes that the stream I get from the wowza server freezes every 5 secondes =>

the freeze is the issue

If I acccess the gopro stream with an ipad or an android smartphone, the stream is fluid.

How to reproduce:

I use this command line that I found on the internet:

ffmpeg -re -i "http://10.5.5.9:8080/live/amba.m3u8"
 -an -c copy  -s 400x300 -strict experimental  -b:v 300k -f flv "rtmp://my.wowza.server/application/mp4:direct live=1"

This is the console output:

fmpeg version N-60274-gdce9321 Copyright (c) 2000-2014 the FFmpeg developers
  built on Jan 31 2014 22:01:13 with gcc 4.8.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aa
cenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 63.100 / 52. 63.100
  libavcodec     55. 49.101 / 55. 49.101
  libavformat    55. 28.101 / 55. 28.101
  libavdevice    55.  7.100 / 55.  7.100
  libavfilter     4.  1.101 /  4.  1.101
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
[mpegts @ 02820ca0] PES packet size mismatch
    Last message repeated 2 times
[hls,applehttp @ 02835160] Estimating duration from bitrate, this may be inaccur
ate
Input #0, hls,applehttp, from 'http://10.5.5.9:8080/live/amba.m3u8':
  Duration: 00:00:00.02, start: 4.695467, bitrate: 159 kb/s
  Program 0
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Video: h264 (High) (HDMV / 0x564D4448), yuvj420p(pc, bt709), 43
2x240 [SAR 1:1 DAR 9:5], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 15
9 kb/s
Output #0, flv, to 'rtmp://stream.chronovideo.eu/cv_live/mp4:direct live=1':
  Metadata:
    encoder         : Lavf55.28.101
    Stream #0:0: Video: h264 ([7][0][0][0] / 0x0007), yuvj420p, 432x240 [SAR 1:1
 DAR 9:5], q=2-31, 300 kb/s, 25 fps, 1k tbn, 90k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame=   15 fps=0.0 q=-1.0 size=      44kB time=00:00:00.52 bitrate= 696.9kbits/
frame=   28 fps= 27 q=-1.0 size=      87kB time=00:00:01.04 bitrate= 687.1kbits/
skipping 2 segments ahead, expired from playlists
[mpegts @ 02820ca0] PES packet size mismatch
frame=   34 fps= 22 q=-1.0 size=     100kB time=00:00:01.92 bitrate= 425.5kbits/
frame=   38 fps= 18 q=-1.0 size=     108kB time=00:00:02.08 bitrate= 424.0kbits/
[mpegts @ 02820ca0] PES packet size mismatch
skipping 2 segments ahead, expired from playlists
[mpegts @ 02820ca0] PES packet size mismatch
frame=   49 fps= 19 q=-1.0 size=     135kB time=00:00:02.52 bitrate= 438.0kbits/
frame=   50 fps= 16 q=-1.0 size=     136kB time=00:00:03.20 bitrate= 349.0kbits/
[mpegts @ 02820ca0] PES packet size mismatch
frame=   60 fps= 17 q=-1.0 size=     162kB time=00:00:03.60 bitrate= 368.6kbits/
skipping 2 segments ahead, expired from playlists
[mpegts @ 02820ca0] PES packet size mismatch
frame=   66 fps= 16 q=-1.0 size=     183kB time=00:00:04.48 bitrate= 334.9kbits/
[mpegts @ 02820ca0] PES packet size mismatch
frame=   71 fps= 15 q=-1.0 size=     192kB time=00:00:04.68 bitrate= 336.3kbits/
skipping 2 segments ahead, expired from playlists
[mpegts @ 02820ca0] PES packet size mismatch
frame=   82 fps= 16 q=-1.0 size=     230kB time=00:00:05.76 bitrate= 327.5kbits/
frame=   83 fps= 14 q=-1.0 size=     231kB time=00:00:05.80 bitrate= 326.7kbits/
[mpegts @ 02820ca0] PES packet size mismatch
skipping 2 segments ahead, expired from playlists
[mpegts @ 02820ca0] PES packet size mismatch
frame=   95 fps= 15 q=-1.0 size=     259kB time=00:00:06.28 bitrate= 338.4kbits/
frame=   98 fps= 14 q=-1.0 size=     272kB time=00:00:07.04 bitrate= 316.2kbits/
[mpegts @ 02820ca0] PES packet size mismatch
frame=  105 fps= 14 q=-1.0 size=     293kB time=00:00:07.32 bitrate= 327.4kbits/
skipping 2 segments ahead, expired from playlists
[mpegts @ 02820ca0] PES packet size mismatch
frame=  114 fps= 14 q=-1.0 size=     320kB time=00:00:08.32 bitrate= 314.9kbits/
frame=  118 fps= 14 q=-1.0 size=     331kB time=00:00:08.48 bitrate= 320.2kbits/
[mpegts @ 02820ca0] PES packet size mismatch
skipping 2 segments ahead, expired from playlists
[mpegts @ 02820ca0] PES packet size mismatch
frame=  127 fps= 14 q=-1.0 size=     362kB time=00:00:08.84 bitrate= 335.3kbits/
frame=  130 fps= 14 q=-1.0 size=     372kB time=00:00:09.60 bitrate= 317.5kbits/
[mpegts @ 02820ca0] PES packet size mismatch
frame=  142 fps= 14 q=-1.0 size=     394kB time=00:00:10.08 bitrate= 320.5kbits/
skipping 2 segments ahead, expired from playlists
[mpegts @ 02820ca0] PES packet size mismatch
frame=  146 fps= 14 q=-1.0 size=     412kB time=00:00:10.88 bitrate= 309.9kbits/
[mpegts @ 02820ca0] PES packet size mismatch
frame=  151 fps= 14 q=-1.0 size=     421kB time=00:00:11.08 bitrate= 311.4kbits/
skipping 2 segments ahead, expired from playlists
[mpegts @ 02820ca0] PES packet size mismatch
frame=  162 fps= 14 q=-1.0 size=     459kB time=00:00:12.16 bitrate= 309.0kbits/
frame=  163 fps= 13 q=-1.0 size=     461kB time=00:00:12.20 bitrate= 309.3kbits/
[mpegts @ 02820ca0] PES packet size mismatch
frame=  174 fps= 14 q=-1.0 size=     495kB time=00:00:12.64 bitrate= 320.8kbits/
skipping 2 segments ahead, expired from playlists
[mpegts @ 02820ca0] PES packet size mismatch

You need a gopro and streaming server to reproduce the bug.

I can provide access to my streaming server on demand.

Attachments (2)

test.mp4 (2.3 MB) - added by sdx 5 years ago.
console.txt (16.1 KB) - added by sdx 5 years ago.

Change History (7)

comment:1 in reply to: ↑ description Changed 5 years ago by cehoyos

  • Keywords gopro live stream removed
  • Version changed from unspecified to git-master

Replying to sdx:

It seems that ffmpeg does not like the format of the video :

mpegts @ 02820ca0] PES packet size mismatch
skipping 2 segments ahead, expired from playlists

Do you mean this is reproducible with file input and file output?
If yes, please provide a sample.

comment:2 Changed 5 years ago by cehoyos

  • Keywords hls added

comment:3 Changed 5 years ago by sdx

With a gopro 3 you can reproduce the bug.

I can store the output in a mp4 file, if needed or execute command on demand.

I can also give access to my pc, if this can help but we will need to arrange a date.

comment:4 Changed 5 years ago by cehoyos

Can you reproduce the problem if you output to a file instead of a hls stream?

Changed 5 years ago by sdx

Changed 5 years ago by sdx

comment:5 Changed 5 years ago by sdx

I just made a test.

There is no problem when streaming to a file.

the ffmpeg command:

ffmpeg -i "http://10.5.5.9:8080/live/amba.m3u8" -an -vcodec libx264 -s 400x300 -strict experimental  -b:v 300k -b:a 4k -f flv "test.mp4"

The console log is attached as weel as the output file

Note: See TracTickets for help on using tickets.