[FFmpeg-user] Step 1 encode video, Step 2 stream over UDP-> NOT working (HEVC, UDP, x265, streaming)
Rudi Hrvatin
rudi.hrvatin at gmail.com
Thu Dec 18 08:34:14 CET 2014
Hi everyone!
I did more testing about MPEG2-TS and x265 and x264. With x264 everyting
works fine, x265 is causing the problem mentioned below.
*STEP 1*. The command below works like a charm with x264 and x265. The
initial problem was with the video I was using.
However when I try to stream it, the x265 makes problems. x264 works
perfectly.
ffmpeg -re -i test.ts -r 25 -b:v 2500k -preset medium -c:v libx264
-x264-params crf=27 -y -f mpegts test1.ts
ffmpeg -re -i test.ts -r 25 -b:v 2500k -preset medium -c:v libx265
-x265-params crf=27 -y -f mpegts test1.ts
> *STEP 1* is to encode a file. There are this warning, but I'm don't know
> how to fix them. But the video still plays with ffplay.
>
> ffmpeg -i BQTerrace_1920x1080_60_qp22.bin -r 25 -b:v 2500k -c:v hevc
> -preset medium -x
> 65-params crf=27 -y -f mpegts test.ts
> ffmpeg version N-68441-g4fa42e0 Copyright (c) 2000-2014 the FFmpeg
> developers
> built on Dec 14 2014 22:13:03 with gcc 4.9.2 (GCC)
> configuration: --enable-gpl --enable-version3 --disable-w32threads
> --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
> --enable-gnutls --ena
> le-iconv --enable-libass --enable-libbluray --enable-libbs2b
> --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm
> --enable-libilbc --enable-li
> modplug --enable-libmp3lame --enable-libopencore-amrnb
> --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus
> --enable-librtmp --enable-libschroeding
> r --enable-libsoxr --enable-libspeex --enable-libtheora
> --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc
> --enable-libvo-amrwbenc --enable-libvorbi
> --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264
> --enable-libx265 --enable-libxavs --enable-libxvid --enable-decklink
> --enable-zlib
> libavutil 54. 15.100 / 54. 15.100
> libavcodec 56. 14.100 / 56. 14.100
> libavformat 56. 15.105 / 56. 15.105
> libavdevice 56. 3.100 / 56. 3.100
> libavfilter 5. 3.101 / 5. 3.101
> libswscale 3. 1.101 / 3. 1.101
> libswresample 1. 1.100 / 1. 1.100
> libpostproc 53. 3.100 / 53. 3.100
> [hevc @ 000000000032e100] *Unknown HEVC profile: 0*
> Last message repeated 3 times
> [hevc @ 000000000031cee0] Stream #0: *not enough frames to estimate rate;
> consider increasing probesize*
> Input #0, hevc, from 'BQTerrace_1920x1080_60_qp22.bin':
> Duration: N/A, bitrate: N/A
> Stream #0:0: Video: hevc, yuv420p10le(tv), 1920x1080, 25 fps, 25 tbr,
> 1200k tbn, 25 tbc
> x265 [info]: HEVC encoder version 1.4
> x265 [info]: build info [Windows][GCC 4.9.2][64 bit] 8bpp
> x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
> x265 [info]: Main profile, Level-4 (Main tier)
> x265 [info]: WPP streams / frame threads / pool : 17 / 2 / 4
> x265 [info]: CTU size / RQT depth inter / intra : 64 / 1 / 1
> x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 2
> x265 [info]: Keyframe min / max / scenecut : 25 / 250 / 40
> x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2
> x265 [info]: b-pyramid / weightp / weightb / refs: 1 / 1 / 0 / 3
> x265 [info]: Rate Control / AQ-Strength / CUTree : CRF-27.0 / 1.0 / 1
> x265 [info]: tools: rd=3 lft sao signhide tmvp
> [hevc @ 0000000006857de0] *Unknown HEVC profile: 0*
> Last message repeated 1 times
> Output #0, mpegts, to 'test.ts':
> Metadata:
> encoder : Lavf56.15.105
> Stream #0:0: Video: hevc (libx265), yuv420p, 1920x1080, q=2-31, 2500
> kb/s, 25 fps, 90k tbn, 25 tbc
> Metadata:
> encoder : Lavc56.14.100 libx265
> Stream mapping:
> Stream #0:0 -> #0:0 (hevc (native) -> hevc (libx265))
> Press [q] to stop, [?] for help
> [hevc @ 0000000006857de0] Unknown HEVC profile: 0
> Last message repeated 1 times
> frame= 600 fps=6.5 q=0.0 Lsize= 7740kB time=00:00:23.92
> bitrate=2650.7kbits/s
> video:7113kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
> muxing overhead: 8.813824%
> x265 [info]: frame I: 3, Avg QP:27.06 kb/s: 35250.87
> x265 [info]: frame P: 121, Avg QP:27.73 kb/s: 9571.68
> x265 [info]: frame B: 476, Avg QP:33.05 kb/s: 403.04
> x265 [info]: global : 600, Avg QP:31.95 kb/s: 2426.29
> x265 [info]: Weighted P-Frames: Y:9.1% UV:6.6%
> x265 [info]: consecutive B-frames: 0.8% 0.0% 3.2% 6.5% 89.5%
>
>
>
*STEP 2 is still a problem! I tried with x264 and everything works fine.
The x265 encoded video still produces errors! Any idea here? Is this a BUG?
*I googled about the start code and this is just a sequence of bits. Maybe
is the encoder or maybe the streaming part?
ffmpeg -re -i test1.ts -c copy -f mpegts udp://172.18.60.47:1234 (with
video encoded with x264 works fine, x265 makes problems)
The error:
[mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
1436 data 00000100
>
> *STEP 2* stream the file over UDP. Here I don't know what to do. What
> parameters should I change/add/remove? Or is the source file "test.ts"
> already corrupted? (The output is much longer because for each frame there
> are the same errors)
>
> ffmpeg -re -i test.ts -c:v copy -f mpegts udp://172.18.60.47:1234
> ffmpeg version N-68441-g4fa42e0 Copyright (c) 2000-2014 the FFmpeg
> developers
> built on Dec 14 2014 22:13:03 with gcc 4.9.2 (GCC)
> configuration: --enable-gpl --enable-version3 --disable-w32threads
> --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
> --enable-gnutls --enab
> le-iconv --enable-libass --enable-libbluray --enable-libbs2b
> --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm
> --enable-libilbc --enable-lib
> modplug --enable-libmp3lame --enable-libopencore-amrnb
> --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus
> --enable-librtmp --enable-libschroedinge
> r --enable-libsoxr --enable-libspeex --enable-libtheora
> --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc
> --enable-libvo-amrwbenc --enable-libvorbis
> --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264
> --enable-libx265 --enable-libxavs --enable-libxvid --enable-decklink
> --enable-zlib
> libavutil 54. 15.100 / 54. 15.100
> libavcodec 56. 14.100 / 56. 14.100
> libavformat 56. 15.105 / 56. 15.105
> libavdevice 56. 3.100 / 56. 3.100
> libavfilter 5. 3.101 / 5. 3.101
> libswscale 3. 1.101 / 3. 1.101
> libswresample 1. 1.100 / 1. 1.100
> libpostproc 53. 3.100 / 53. 3.100
> Input #0, mpegts, from 'test.ts':
> Duration: 00:00:24.00, start: 1.480000, bitrate: 2641 kb/s
> Program 1
> Metadata:
> service_name : Service01
> service_provider: FFmpeg
> Stream #0:0[0x100]: Video: hevc (Main) ([36][0][0][0] / 0x0024),
> yuv420p(tv), 1920x1080, 25 fps, 25 tbr, 90k tbn, 25 tbc
> Output #0, mpegts, to 'udp://172.18.60.47:1234':
> Metadata:
> encoder : Lavf56.15.105
> Stream #0:0: Video: hevc ([36][0][0][0] / 0x0024), yuv420p, 1920x1080,
> q=2-31, 25 fps, 25 tbr, 90k tbn, 25 tbc
> Stream mapping:
> Stream #0:0 -> #0:0 (copy)
> Press [q] to stop, [?] for help
> [mpegts @ 00000000050b0520] *HEVC bitstream error, startcode missing,
> size 75310 data 00000102*
> [mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
> 2941 data 00000102
> [mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
> 1436 data 00000100
> [mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
> 57986 data 00000102
> [mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
> 3777 data 00000102
> [mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
> 1369 data 00000100
> [mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
> 55920 data 00000102
> [mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
> 3855 data 00000102
> [mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
> 1707 data 00000100
> [mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
> 2177 data 00000100
> frame= 11 fps=0.0 q=-1.0 Lsize= 419kB time=00:00:00.36
> bitrate=9537.9kbits/s
> video:387kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
> muxing overhead: 8.256908%
> Received signal 2: terminating.
>
Thanks for the help in advance! :)
Best regards,
Rudi Hrvatin
More information about the ffmpeg-user
mailing list