rockcarry / fanplayer

A portable video player based on ffmpeg for windows and android platform.
GNU Lesser General Public License v3.0
606 stars 161 forks source link

ffmpeg version? #82

Closed emcodem closed 6 months ago

emcodem commented 6 months ago

Dears, thank you for this magnificent project. I would like to change recorder.c in a way that it encodes to a mpeg1 mpegts live stream but this fails: avformat_alloc_output_context2(&recorder->ofc, NULL, "mpegts", "udp://127.0.0.1:1234");

Error message: Requested output format 'mpegts' is not a suitable output format

I believe that the reason for this error can be that you deliver and link a very small version of libavformat where mpegts is not contained? But i also notice that you link to an older version of ffmpeg libavformat - this prevents me from just exchanging the libavformat-58.dll by a version that contains the format of interest. The current version is libavformat-60.dll Unfortunately i was not quickly able to find out which version of libavformat/ffmpeg you deliver, could you please give me a hint on that? Or maybe you want even to update to ffmpeg 6.0 release? :)

My plan is to spawn testplayer.exe on a server, streaming the played content using udp to a client and the client can remote control the player...

emcodem commented 6 months ago

ok sorry for my stupidity, i found your instructions and build script in ffmpeg-win64 folder. One last question, do you think it will be possible to update the ffmpeg version to the latest or did you make too many changes to make fanplayer work?

rockcarry commented 6 months ago

https://github.com/rockcarry/ffmpeg/tree/fanplayer-n4.3.x currently fanplayer depends on ffmpeg n4.3.x. there no plan to update, because in my projects, no functions or features need higher version of ffmpeg.

rockcarry commented 6 months ago

As I know, mpegts is supported by ffmpeg n4.x. you can try command ffplay -i tcp://ip:port I used this command to play mpegts tcp stream ok, also ok for fanplayer.

emcodem commented 6 months ago

ok thank you very much for the response @rockcarry
meanwhile i managed to run testplayer with my own ffmpeg build, upgrading ffmpeg to 6.x was simple. note that i was talking about encoding mpegts to a udp stream (not playing). what am trying to do is to use udp output instead of a real display.