> > > 1) Choose some (preferably lossless) codec to use in mpegts > > instead of raw data. > > FFmpeg contains its own lossless codec, ffv1. >
mpegts does not support ffv1 either. ffmpeg can write ffv1 to mpegts without warning (just like for yuv), but can not read that back. user@host:~$ tools/ffmpeg/ffmpeg -i ~/Videos/Moments_of_Everyday_Life.mp4 -an -vcodec ffv1 -f mpegts Videos/test.ts ffmpeg version N-82721-g89092fa Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609 configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-openssl --enable-avresample --enable-avisynth --enable-libmp3lame --enable-libpulse --disable-librtmp --enable-libtheora --enable-libvorbis --enable-libx264 libavutil 55. 41.101 / 55. 41.101 libavcodec 57. 66.108 / 57. 66.108 libavformat 57. 58.101 / 57. 58.101 libavdevice 57. 2.100 / 57. 2.100 libavfilter 6. 68.100 / 6. 68.100 libavresample 3. 2. 0 / 3. 2. 0 libswscale 4. 3.101 / 4. 3.101 libswresample 2. 4.100 / 2. 4.100 libpostproc 54. 2.100 / 54. 2.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/dani/Videos/Moments_of_Everyday_Life.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: mp42mp41 creation_time : 2012-03-13T03:50:30.000000Z Duration: 00:01:07.94, start: 0.000000, bitrate: 7994 kb/s Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 7804 kb/s, 23.98 fps, 23.98 tbr, 23976 tbn, 47.95 tbc (default) Metadata: creation_time : 2012-03-13T03:50:30.000000Z handler_name : Mainconcept MP4 Video Media Handler encoder : AVC Coding Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 189 kb/s (default) Metadata: creation_time : 2012-03-13T03:50:30.000000Z handler_name : Mainconcept MP4 Sound Media Handler Output #0, mpegts, to 'Videos/test.ts': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: mp42mp41 encoder : Lavf57.58.101 Stream #0:0(eng): Video: ffv1, yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 23.98 fps, 90k tbn, 23.98 tbc (default) Metadata: creation_time : 2012-03-13T03:50:30.000000Z handler_name : Mainconcept MP4 Video Media Handler encoder : Lavc57.66.108 ffv1 Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> ffv1 (native)) Press [q] to stop, [?] for help frame= 1627 fps= 95 q=-0.0 Lsize= 424439kB time=00:01:07.81 bitrate=51269.8kbits/s speed=3.97x video:393553kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 7.848062% user@host:~$ tools/ffmpeg/ffmpeg -i Videos/test.ts -vcodec mpeg4 -y Videos/output.flv ffmpeg version N-82721-g89092fa Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609 configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-openssl --enable-avresample --enable-avisynth --enable-libmp3lame --enable-libpulse --disable-librtmp --enable-libtheora --enable-libvorbis --enable-libx264 libavutil 55. 41.101 / 55. 41.101 libavcodec 57. 66.108 / 57. 66.108 libavformat 57. 58.101 / 57. 58.101 libavdevice 57. 2.100 / 57. 2.100 libavfilter 6. 68.100 / 6. 68.100 libavresample 3. 2. 0 / 3. 2. 0 libswscale 4. 3.101 / 4. 3.101 libswresample 2. 4.100 / 2. 4.100 libpostproc 54. 2.100 / 54. 2.100 Input #0, mpegts, from 'Videos/test.ts': Duration: 00:01:07.82, start: 1.400000, bitrate: 51269 kb/s Program 1 Metadata: service_name : Service01 service_provider: FFmpeg Stream #0:0[0x100]: Data: bin_data ([6][0][0][0] / 0x0006) Output #0, flv, to 'Videos/output.flv': Output file #0 does not contain any stream Adding "-vcodec ffv1" before -i produces the same output. > > 2) Choose some other muxer instead of mpegts. > > mkv does have a live option but it is not really suitable > for rawvideo either. > I can not found any matroska related live option (or similar). After all I tried to go for mpegts with lossless H.264 for the video and high bitrate AAC for the audio, as there seem not to be any lossless audio alternative, that is compatible with mpegts. However, now I get the following errors on the receiving side. I am not sure, but guessing that this might come from lost UDP packets? user@host:~$ tools/ffmpeg/ffmpeg -f mpegts -i udp://127.0.0.1:20000 -acodec mp3 -vcodec flv -y Videos/output.flv ffmpeg version N-82721-g89092fa Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609 configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-openssl --enable-avresample --enable-avisynth --enable-libmp3lame --enable-libpulse --disable-librtmp --enable-libtheora --enable-libvorbis --enable-libx264 libavutil 55. 41.101 / 55. 41.101 libavcodec 57. 66.108 / 57. 66.108 libavformat 57. 58.101 / 57. 58.101 libavdevice 57. 2.100 / 57. 2.100 libavfilter 6. 68.100 / 6. 68.100 libavresample 3. 2. 0 / 3. 2. 0 libswscale 4. 3.101 / 4. 3.101 libswresample 2. 4.100 / 2. 4.100 libpostproc 54. 2.100 / 54. 2.100 Input #0, mpegts, from 'udp://127.0.0.1:20000': Duration: N/A, start: 1.460200, bitrate: N/A Program 1 Metadata: service_name : Service01 service_provider: FFmpeg Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc Stream #0:1[0x101](eng): Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 320 kb/s Output #0, flv, to 'Videos/output.flv': Metadata: encoder : Lavf57.58.101 Stream #0:0: Video: flv1 (flv) ([2][0][0][0] / 0x0002), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 23.98 fps, 1k tbn, 23.98 tbc Metadata: encoder : Lavc57.66.108 flv Side data: cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1 Stream #0:1(eng): Audio: mp3 (libmp3lame) ([2][0][0][0] / 0x0002), 44100 Hz, stereo, fltp Metadata: encoder : Lavc57.66.108 libmp3lame Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> flv1 (flv)) Stream #0:1 -> #0:1 (aac (native) -> mp3 (libmp3lame)) Press [q] to stop, [?] for help [h264 @ 0x345d140] Invalid NAL unit 0, skipping.00:00:03.34 bitrate=2394.3kbits/s speed=6.58x [h264 @ 0x345d140] error while decoding MB 69 42, bytestream -15 [h264 @ 0x345d140] concealing 220 DC, 220 AC, 220 MV errors in I frame [h264 @ 0x2e11c60] Invalid NAL unit 8, skipping.00:00:18.12 bitrate=1671.9kbits/s speed=1.28x [h264 @ 0x2e11c60] error while decoding MB 4 41, bytestream -13 [h264 @ 0x2e11c60] Cannot use next picture in error concealment [h264 @ 0x2e11c60] concealing 365 DC, 365 AC, 365 MV errors in P frame [h264 @ 0x332f0c0] Invalid NAL unit 8, skipping.00:00:18.60 bitrate=1660.1kbits/s speed=1.27x [h264 @ 0x332f0c0] error while decoding MB 59 42, bytestream -33 [h264 @ 0x332f0c0] concealing 230 DC, 230 AC, 230 MV errors in P frame [h264 @ 0x332b8a0] Invalid NAL unit 8, skipping.00:00:20.14 bitrate=1637.0kbits/s speed=1.24x [h264 @ 0x332b8a0] error while decoding MB 3 44, bytestream -9 [h264 @ 0x332b8a0] concealing 126 DC, 126 AC, 126 MV errors in P frame frame= 677 fps= 28 q=31.0 Lsize= 5113kB time=00:00:28.59 bitrate=1464.6kbits/s speed=1.16x video:4642kB audio:443kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.547867% I am lost at this point. If it is really caused by lost UDP packets and not by some unlikely misconfiguration, then I really do not know, how to achieve reliable parallel streaming and local saving. Any ideas? Thanks, Daniel _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".