arthenica / ffmpeg-kit

FFmpeg Kit for applications. Supports Android, Flutter, iOS, Linux, macOS, React Native and tvOS. Supersedes MobileFFmpeg, flutter_ffmpeg and react-native-ffmpeg.
https://arthenica.github.io/ffmpeg-kit
GNU Lesser General Public License v3.0
4.52k stars 603 forks source link

ffmpeg-kit in React Native stream from iOS to Amazon IVS #1051

Closed samanake closed 1 month ago

samanake commented 1 month ago

Hi everyone. I'm currently trying to use FFmpegKit.execute() to stream data from my iPhone 15 Pro to Amazon IVS's RTMPS endpoint.

My settings are as follows: -f avfoundation -framerate 30 -pix_fmt nv12 -s 1280x720 -i default -minrate:v 3500k -b:v 3500k -maxrate:v 3500k -bufsize 7000k -c:a aac -b:a 128k -f flv -flvflags no_duration_filesize rtmps://...

These settings are chosen based on trial & error. I'm stuck on this error:

LOG  Output #0, flv, to 'rtmps://...':
 LOG    Metadata:
 LOG      encoder         :
 LOG  Lavf60.3.100
 LOG  
 LOG    Stream #0:0
 LOG  : Video: flv1 ([2][0][0][0] / 0x0002), yuv420p(tv, progressive), 1280x720, q=2-31, 3500 kb/s
 LOG  ,
 LOG  30 fps,
 LOG  1k tbn
 LOG  
 LOG      Metadata:
 LOG        encoder         :
 LOG  Lavc60.3.100 flv
 LOG  
 LOG      Side data:
 LOG  
 LOG  cpb:
 LOG  bitrate max/min/avg: 3500000/3500000/3500000 buffer size: 7000000
 LOG  vbv_delay: N/A
 LOG  
 LOG  frame=    0 fps=0.0 q=1.9 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x
 LOG  [tls @ 0x3026ae940] Error in the push function.
 LOG  [tls @ 0x3026ae940] IO error: Broken pipe
 LOG  av_interleaved_write_frame(): Broken pipe
 LOG  [out#0/flv @ 0x302d2ce40] Error muxing a packet
 LOG  [out#0/flv @ 0x302d2ce40] Error writing trailer: Broken pipe
 LOG  frame=    9 fps=0.0 q=2.1 Lsize=     332kB time=00:00:01.20 bitrate=2264.6kbits/s speed=5.85x
 LOG  video:369kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead:
 LOG  unknown
 LOG  
 LOG  [tls @ 0x3026ae940] The specified session has been invalidated for some reason.
 LOG  [tls @ 0x3026ae940] The specified session has been invalidated for some reason.
 LOG  -f avfoundation -framerate 30 -pix_fmt nv12 -s 1280x720 -i default -minrate:v 3500k -b:v 3500k -maxrate:v 3500k -bufsize 7000k -c:a aac -b:a 128k -f flv -flvflags no_duration_filesize rtmps:/...
 LOG  Conversion failed!

Seems like flv is having trouble with the settings I have. Any suggestions on how I can fix this? Also, is there any support for SRT with iOS? I ran -protocols but don't see it listed.

Cheers.

efstathiosntonas commented 4 weeks ago

@samanake hi, did you managed to fix this? If yes, how? Thanks